Self-enforcing engineering discipline.

Valinor lets a repository declare the quality bar it must meet, then enforces it in CI — deterministically and fail-closed.

terminal
valinor-gates.yml
# Install Valinor as a dev dependency
npm i -D @cmbrcreative/valinor
# Adopt the doctrine + scaffold the gates
npx valinor init .
# Verify your repo against its declared claims
npx valinor claims-verify

Introduction

Getting started

Valinor is a CI-native quality-governance product. It lets a repository declare the quality bar it must meet — verifiable documentation and code claims, branch-protection rules, an LLM-review rubric suite, and a whole-repo audit — and then enforces that bar in CI, deterministically and fail-closed.

Installation

Install Valinor, adopt the doctrine, and run your first gate in minutes.

CLI reference

Every valinor command — what it checks and when to reach for it.

Governance overview

The five-layer governance model and the standards Valinor enforces.

FAQ & troubleshooting

Answers to common questions and fixes for the errors you'll hit.

The configuration is config-as-code that lives in the repo it governs, so the standard travels with the code and can't silently drift. Valinor is consumer #0 of its own gates — it is governed by the very claims, rubrics, and workflows it ships.


Quick start

Add Valinor to a repository, adopt its portable doctrine, and verify the repo against the quality bar it declares. The whole loop is three commands.

Install

Install Valinor as a dev dependency. Valinor requires Node 24+ (it is ESM TypeScript).

npm i -D @cmbrcreative/valinor

Adopt the doctrine and scaffold the gates

valinor init propagates Valinor's versioned doctrine into your repo's AGENTS.mdCLAUDE.md and scaffolds the minimum to run the gates — a governance.config.yml, a starter claims.yml, a starter README.md, a .greptile/config.json rubric library, and a CI workflow:

npx valinor init .                  # adopt the doctrine + scaffold into this repo
npx valinor init . --dry-run        # preview the plan, write nothing

init is safe to re-run: it re-inlines the current doctrine in place and leaves your existing config files untouched, so pulling a doctrine update never clobbers your custom claims or rules.

Run your first gate

From your repo root, verify the repo satisfies every claim declared in claims.yml:

npx valinor claims-verify

A passing run prints one line per claim and a final claims-verify: N claims true.

What gets checked, offline vs. online

The file / grep / token / files-identical claim checks are sub-second and offline-safe. Only the GitHub checks (branch-protection-check, repo-settings-check) call the GitHub API and need a token — see the CLI reference.


Where to go next

For contributors working inside the Valinor repository, the in-repo developer guide goes deeper on the build, the gate scripts, and the contribution flow.