Standards
A versioned catalogue of 376 rules — core plus 16 stacks — and the only files a human edits. Everything a developer's tooling actually sees is generated from these.
What a standard is here
Two paths and a version number: standards/core.md for the rules every repository gets, standards/stacks/*.md for the sixteen stack sets, both versioned together in standards/manifest.json. What a repository ends up with — .github/copilot-instructions.md, AGENTS.md, CLAUDE.md, .cursor/rules/ — is rendered from those by the CLI and written in by redline init.
What a developer actually sees
A developer never opens standards/. They meet it as a review comment. This is the output contract the standard specifies for a reviewer — every finding begins with a machine-readable prefix, a real rule pulled straight out of standards/core.md:
Redline/BLOCKER [core/query-string-concatenation]: No query built by string concatenation with external input — parameterised only. Use a parameterised query: db.Query("SELECT id FROM users WHERE name = $1", name)
Then one or two sentences: why it breaks, and the concrete fix. One finding per comment. What each severity obliges the developer to do, why the bracketed id is permanent, and the “what NOT to flag” section every standard ships are all on The output contract.
A repo installs exactly one profile
A profile names exactly which stacks apply, and never composes two rule sets that contradict each other — which is what keeps every stack's globs plain and unambiguous inside a repository. redline init proposes one by scanning the repo; --profile <name> overrides the guess. The sixteen of them, and why glob negation was not the answer, are on Profiles & stacks.
Browse the standards
The full source, plus a rule reference table grouped by severity, per stack.
Core standards →
Security, type safety, error handling, scope discipline and the severity output contract.
manifest.json →
Stack globs, profiles, vendor toggles and the standards version.
JavaScript →
Untyped and loosely-typed JS: build scripts, config, serverless handlers, legacy app code.
React (web) →
React web applications.
React Native →
React Native apps — extends the React rules.
Angular →
Angular applications — subscription teardown, change detection, injection sinks, guards.
Vue →
Vue 3 and Nuxt — reactivity that silently stops updating, v-html, SSR state leaks.
Svelte / SvelteKit →
Svelte 4 and 5 plus SvelteKit — runes, stores, and what load runs where.
Browser / DOM →
Framework-free browser code — the sinks and leaks a framework normally hides.
Node.js (NestJS) →
NestJS services.
Microservice cross-cutting →
Cross-cutting service rules: idempotency, timeouts, queues, observability.
Java (Spring Boot) →
Spring Boot services.
Go →
Go services and tools.
Python →
Python services and tooling.
C# (.NET) →
.NET services.
Kotlin →
Kotlin / Android.
Swift (iOS) →
iOS applications.
Terraform / HCL →
Infrastructure as code.