Skip to main content
Feather works with any AI coding assistant, and is tuned for Claude Code.

Two files, one set of rules

Every scaffolded project contains a CLAUDE.md and an AGENTS.md with identical content, written together so they cannot drift. AGENTS.md is the vendor-neutral name other tools look for. Both carry the full rules rather than one linking to the other, because an assistant that has to follow a link often does not. A .claude/settings.json sits alongside them, pre-approving the read-only commands an assistant needs.
These files are a starting point. Add your own domain rules and preferences as the app grows.

Rules an assistant can verify

Conventions are only useful if they can be checked. These four commands let an assistant confirm its own work instead of guessing.

feather check

Are the conventions being followed? Reports a file, a line and a remedy for each problem.

feather components

What arguments does this macro take? Read from the macros themselves, so it stays accurate as they change.

feather routes

What is actually registered?

feather test

Does it still work?

Why the conventions are strict

feather check enforces the rules in CLAUDE.md and exits non-zero on any error, so it works as a pre-commit hook or a CI step. Exceptions are recorded rather than hidden. A deliberately public route carries a # feather: public comment in its module. When a rule is wrong about a specific line, an inline marker silences it for that line and asks for the reason. A rule with no way to say “not here” is one people turn off entirely.