Your codebase has conventions.
Now enforce them.
One scan, real defaults, no config to start. viberails reads your existing project, generates AI context files, and enforces the rules it finds.
how it works
Reads the room before it sets rules
Framework, tooling, structure, naming, tests. It pulls defaults from the codebase you already trust instead of inventing a policy on top of it.
Catches drift where drift starts
PostToolUse hooks catch drift during AI edits. Pre-commit hooks and CI enforce the rest.
Handles monorepos like a first-class case
Workspace packages get scanned independently. Boundaries can be inferred from current imports, not guessed from ideology.
Turns setup into team infrastructure
The same init flow can wire hooks, AI context, and PR checks so the rules live in the repo, not in one person's memory.
where it shows up
PostToolUse hooks validate files as AI tools edit them. Instant feedback, no context switch.
Repository-level checks hit before the branch leaves your machine.
Same rules run in CI with --enforce to block PRs with violations.
The everyday safety net.
Refresh the scan without trashing edits.
Preview cleanup before touching files.
Rebuild monorepo boundaries from reality.
get started
$ npx viberails $ pnpm dlx viberails
The wizard scans your project, shows what it found, and writes config.
After that, use check to validate,
sync to refresh, and
fix to auto-correct.