A linter tells you the generated code hardcoded its database connection; a constraint stops it happening. That distinction is what this is built on, and it is why the rules read like principles with detection logic attached rather than regex patterns. The rules are also opinionated in a way that is easy to check — the before-and-after example shows exactly what changes — so you can decide in a minute whether these are your standards. Being plain files, individual rules work with no installation at all.
A set of language-agnostic constraint rules for AI code generation, plus an MCP server that carries them into your editor. Each rule is a state machine: detect the pattern, evaluate the context, apply the engineering constraint, then check the output against it. The point is to constrain generation rather than to lint the result afterwards.
- Architecture rules that stop the usual defaults: `avoid-god-classes` enforces single responsibility, `composition-over-inheritance` steers away from rigid hierarchies, `dependency-injection` keeps generated classes testable instead of hardcoding their collaborators
- Security and performance rules: `secure-by-default` blocks SQL injection and weak cryptography patterns, `promise-patterns` pushes concurrent async code instead of blocking calls
- Readability rules: `prefer-early-returns` replaces deep if-else nesting with guard clauses, `descriptive-function-names` and `meaningful-variable-names` rule out `process`, `handle`, `data` and `result`, `explicit-error-messages` demands actionable failures, `conventional-commits` structures commit messages
- Two ways to use them: paste a rule file's contents into the prompt for immediate ad-hoc use, or install the MCP server for persistent enforcement across Claude, Cursor and other clients
- A worked before-and-after in the README showing the same login method generated with and without the constraints, which is the fastest way to judge whether the rules match your standards
No account and no key. `npm install -g @ailint/mcp` installs the server, published as `@ailint/mcp` (2.0.1) with the `ailint-mcp` binary. The rules themselves are `.mdc` files under `rules/universal/` in the repository and work without any server at all — copying one into a prompt is a complete use of this project. Per-IDE setup instructions live in the linked ailint-mcp repository.
One command — npm install -g @ailint/mcp
