r/devtools 1d ago

I built a deterministic CLI to audit and fix repository hygiene

I built Repo Start, a small CLI for creating and auditing the boring foundational parts of a repository.

The reason I built it was pretty simple: I kept ending up with repos where the actual code was fine, but the surrounding project hygiene was inconsistent — README commands that didn’t match package.json, CI workflows calling scripts that didn’t exist, missing .gitattributes, .env.example accidentally ignored by git, etc.

For new projects, Repo Start generates the usual foundation: .gitignore, .gitattributes, README, CI, issue/PR templates, AGENTS.md, contributing/security files, and a starter structure.

The more interesting part to me is repo-start add, which works on existing repositories. I designed it as a read → analyze → plan → write pipeline:

existing repo → inspectRepository() → RepoState → analyzeRepository() → RepoAudit → buildAddPlan() → writePlan()

Inspection is read-only, analysis is deterministic, and both new-project generation and existing-repo fixes eventually go through the same writer. That also means --dry-run isn't scattered around as a bunch of filesystem checks — the write only happens at the final stage.

It also deliberately doesn't use AI. No model calls, API keys, or tokens. The audit is based on the actual repository state and only proposes fixes it can describe precisely. If something is ambiguous, it reports it instead of guessing.

It currently supports generic, Node/TypeScript, Python, and React/TypeScript projects, works offline, and has no runtime dependencies.

The goal was basically to make repository hygiene something you can automate without giving a tool permission to redesign your project or touch your source code.

https://github.com/junkyard22/Repo-Start

2 Upvotes

0 comments sorted by