Skip to content
CAI
Software that uses CAICheck a score

svenstaro/miniserve

66.4

Adequate · 29 September 2026

4.6k

lines of production code

Rust

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Miniserve is a Rust-based HTTP file server that serves directories with features including archive generation, WebDAV support, and Markdown rendering. It provides a customizable web interface with multiple themes, authentication mechanisms, and QR code generation. The system is packaged as a hardened systemd service and includes a comprehensive integration test suite to verify security and functionality.

Features

Initial project scaffolding and documentation

The repository is initialized with the core project files, including a comprehensive README detailing usage and features, a CHANGELOG following the Keep a Changelog format, and configuration files for Rust tooling (rustfmt.toml, .editorconfig). Build and release infrastructure is added via a Makefile, release.toml, and Containerfiles for Docker images, alongside standard repository files like .gitignore and .dockerignore.

(repo-wide) · high confidence

Behavioural changes

Hardened systemd service unit for miniserve

The packaging now includes a new systemd unit file (miniserve@.service) that runs the application as a dynamic user with strict security restrictions. This unit enables IP accounting, restricts network access to localhost, isolates the file system and devices, and limits capabilities to only those required for binding to privileged ports, significantly reducing the attack surface compared to previous configurations.

packaging · high confidence

Major architectural overhaul to Rust 2024 and actix-web v4

The application has been refactored to use the Rust 2024 edition and upgraded to actix-web v4.0-beta.15, replacing the previous actix-web v3 implementation. This change introduces a new modular source structure with dedicated modules for archive creation, authentication, file operations, and configuration. The CLI argument parsing has been migrated from structopt to clap v4, and the rendering engine now uses the maud template library. These updates modernize the codebase and improve performance and maintainability.

src · high confidence

New branding and theme system

The application now features a new SVG logo and a redesigned visual identity. The styling has been refactored to use a modular SCSS architecture, separating color definitions into individual theme files (Arch Linux, Ayu Dark, Monokai, Squirrel, and Zenburn) which are imported by a main stylesheet. This change introduces CSS custom properties for consistent theming across the interface, including specific styles for the upload modal and file list.

data · high confidence

Test coverage

Added test utility functions for HTML link extraction; Centralized test fixtures and server harness; Comprehensive integration test suite for miniserve.

Dependencies

Initial release of miniserve v0.35.0 with Rust 2024 and Actix-web v4

This commit introduces the initial codebase for miniserve version 0.35.0, establishing the project's dependency manifest (Cargo.toml) and lockfile (Cargo.lock). The application is built on the Rust 2024 edition and utilizes the Actix-web v4 framework (alongside actix-files v0.7 and actix-multipart v0.8) for HTTP serving. Key features enabled by these dependencies include Markdown rendering via comrak v0.55, QR code generation using fast\_qr v0.14, and optional TLS support via rustls v0.23. The project also integrates clap v4 for command-line argument parsing, dav-server v0.11 for WebDAV support, and maud v0.27 for HTML templating.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 66 → 66 (-0.0)
  • Rubric changed (rubric-2026.09.9 → rubric-2026.09.17) — scores are not directly comparable.

Lenses

  • Code Health 85 → 85 (+0.0)
  • Architecture 100 → 97 (-2.6)
  • Maturity 54 → 54 (+0.0)
  • Readiness 76 → 73 (-3.4)
  • Security 69 → 74 (+5.2)
  • Performance 85 (new)

Resolved (4)

  • Documentation: no architecture or design documentation (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Off-boarding risk: anonymized user #1

New (5)

  • Dependency hygiene PARTLY measured — Cargo dependencies read, dependency currency not (crates.io unreachable)
  • Flaky test: miniserve::auth.auth_multiple_accounts_wrong_password::case_4
  • Flaky test: miniserve::readme.show_nested_readme_contents::case_8
  • Inverted test pyramid
  • Off-boarding risk: anonymized user #1

Changes since last survey

  • 1 commits — 1 feature/other, 0 fixes

By area

  • (root) — 1 commit

Notable commits

  • change: Bump deps

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

svenstaro/miniserve was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 29 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit d87296dcd7c2e64178e453ea37fb94fca5f1edda — the exact code this score is about.
  • Scored under rubric-2026.09.17 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-705631bb727e.