
Rein
- 1 repo stars
- Updated July 27, 2026
- JayJihyunKim/rein
Rein AI Native Development Framework — core hooks, skills, agents
About
rein is a Claude Code skill in the AI & Agent Building category. Rein AI Native Development Framework — core hooks, skills, agents
- rein
- AI & Agent Building
- AI-coding skill
Rein by the numbers
- Data as of Jul 28, 2026 (Skillselion catalog sync)
/plugin marketplace add JayJihyunKim/rein/plugin install rein@reinAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| repo stars | ★ 1 |
|---|---|
| Last updated | July 27, 2026 |
| Repository | JayJihyunKim/rein ↗ |
What it does
Rein AI Native Development Framework — core hooks, skills, agents
README.md
GUIDE AUTONOMY. SHIP QUALITY.
A Claude Code plugin that lets your AI agent move at full speed — while requiring it to plan, leave evidence, and pass review before code lands.
What Rein is
Rein is a Claude Code plugin for teams that let an AI agent write production code but don't want to rely on prompt discipline alone. It adds a small set of repo-level guardrails so the agent has to define the task, leave an evidence trail, and pass review before code is committed.
Use Rein if:
- You maintain a long-lived codebase
- Consistency of AI output matters more to your team than raw speed
- You want code review, evidence, and checkpoints codified as team discipline, not held in people's heads
Don't use Rein if:
- You write throwaway scripts or one-shot projects
- Your team doesn't want process files in the repo
- You run outside POSIX bash / WSL2 (native Windows PowerShell is unsupported)
Tool support: Rein's automatic guardrails are built on Claude Code's hook lifecycle. The same conventions (AGENTS.md, rule files) work as reference documents only in Cursor / Copilot — there is no automatic blocking outside Claude Code.
What changes — a 30-second example
Without Rein — typical flow
Developer: "Add a login feature"
↓
AI: writes code → git commit
↓
No review. No definition of done.
The next session has no record of what was done or why.
With Rein — same request
Developer: "Add a login feature"
↓
Rein: "First, write the completion criteria to trail/dod/dod-2026-04-22-login.md"
→ AI writes the checklist (DoD file)
↓
AI edits source code (allowed, because a DoD exists)
↓
AI tries git commit
→ Rein: "No review record found. Blocked."
→ AI runs codex review → review record created → commit allowed
↓
At session end, decisions and changes are logged to trail/inbox/.
The next session auto-loads trail/index.md (the project state summary)
so context carries over.
Why AI-Native
| AI-Assisted (typical) | AI-Native (Rein) | |
|---|---|---|
| How you instruct | "Write this function" | "Run this workflow" |
| Where standards live | In someone's head | In AGENTS.md, rules/, trail/ |
| When output is wrong | Re-prompt the AI | Update the rule that let it through |
| Scaling effect | A human reviews every change | Rules accumulate; quality compounds |
In an AI-assisted workflow, every fix is a re-prompt. In an AI-native workflow, every fix is a rule that prevents the same mistake next time. Rein makes the second possible.
How Rein differs from Claude Code workflows
Claude Code workflows help agents perform tasks. Rein constrains when those tasks are allowed to proceed.
| Layer | Claude Code | Rein |
|---|---|---|
| Commands | Ask the agent to do work | Force the work to follow a process |
| Hooks | Run automation at lifecycle points | Enforce gates across lifecycle points |
| Reviews | Optional command or habit | Required stamp before commit |
| Context | Prompt / session memory | Repo-local evidence trail |
| Team rules | Instructions | Executable policy |
Claude Code gives agents tools. Rein gives teams control. See docs/architecture.md for the hook lifecycle and docs/policy-model.md for the governance model.
What you get
- Tasks must be defined before code is edited. A Definition-of-Done file is required before any source edit.
- Reviews block commits and tests. Until a review record exists,
git commitand test runners are blocked. - Evidence accumulates and rotates automatically. New work lands in
trail/inbox/. The next day, yesterday's inbox merges into adaily/summary; daily entries older than 7 days merge intoweekly/. The next session auto-loadstrail/index.mdfor project state — older summaries are read on demand. - Updates are handled by Claude Code's plugin manager. Your customisations are not overwritten because the plugin owns its own files.
- Two models, one session. Rein routes implementation to Claude and code reviews to Codex (with automatic Claude fallback if Codex isn't installed) — both happen inside the same Claude Code session, so you never have to switch tools.
Install
Two commands inside Claude Code, then run the bootstrap command Rein shows you on first edit. No shell installer.
1. /plugin marketplace add JayJihyunKim/rein
2. /plugin install rein@rein
3. Restart your Claude Code session
After install, the first time the agent tries a source edit (Edit / Write / MultiEdit) or a Bash command, Rein's bootstrap gate detects that trail/ is missing, blocks the operation, and prints a one-line python3 …/rein-bootstrap-project.py command. Run that command to create trail/ and .rein/; subsequent edits pass through normally. The same flow runs after /reload-plugins — it converges on the same path as a fresh session.
Non-git projects are supported — git init is not required. When no git_root is found, bootstrap uses the project directory itself as the root.
To disable the gate, set bootstrap-gate: false in .rein/policy/hooks.yaml. Detailed options are in the troubleshooting docs.
Requirements
| Item | Version | Notes |
|---|---|---|
| OS | macOS, Linux, Windows WSL2 | — |
| Claude Code | Latest | Required |
| git | Any | — |
| bash | 3.2+ | Only for hook execution |
| Codex CLI + paid ChatGPT plan | Latest | Strongly recommended. Rein's review gate routes code review to Codex for an independent, higher-trust second opinion. Running Codex needs a paid ChatGPT plan (Plus tier or higher) or an OpenAI API key. Without Codex, Rein falls back to Claude (code-reviewer skill) and logs the fallback reason — usable, but you lose the second-model review Rein is built around. |
Recommended setup — use Rein as intended. Rein is designed around a two-model split: Claude implements, Codex reviews. To get the real experience, install the Codex CLI and sign in with a paid ChatGPT plan — Plus tier or higher. The independent Codex review is a core part of Rein's guardrail. The Claude fallback keeps Rein working without Codex, but that is a degraded mode, not the intended setup.
What gets added to your repo
your-repo/
├── .rein/
│ ├── project.json ← Rein mode + scope (committed)
│ └── policy/ ← repo-local policy templates
│ ├── hooks.yaml
│ └── rules.yaml
├── trail/ ← evidence store (auto-rotated)
│ ├── inbox/ ← today's completed work (yesterday's entries merge into daily/ on the next session)
│ ├── daily/ ← per-day summaries (entries older than 7 days merge into weekly/)
│ ├── weekly/ ← per-week summaries
│ ├── dod/ ← Definition-of-Done files
│ ├── decisions/ ← key architectural decisions
│ ├── incidents/ ← hook-block records (used to evolve rules)
│ ├── agent-candidates/ ← new agent suggestions from recurring incident patterns
│ └── index.md ← current project state (5–25 lines, auto-loaded on session start)
└── .claude/
└── settings.json ← one line: plugin pin for `rein`
That's all. The framework's hooks, rules, agents, and skills ship inside the plugin and live in Claude Code's plugin cache, not in your repo — so plugin updates never overwrite anything. If you want project-specific instructions to ride alongside Rein, add your own AGENTS.md (or .claude/CLAUDE.md) in your repo; Rein reads them but never modifies them.
For repo-local hook policy overrides, .rein/policy/hooks.yaml accepts either <hook-name>: false or <hook-name>: { enabled: false }. A profile: key (one of lean, standard, strict) sets defaults for the heavy gates — lean disables post-edit-plan-coverage, post-write-spec-review-gate, and post-write-dod-routing-check for exploratory work; standard (default) keeps all gates on; strict is reserved for stricter future defaults. Per-hook entries always override the profile.
Recommended: add
trail/and.claude/cache/to your.gitignoreif you don't want session evidence committed (Rein doesn't auto-edit.gitignore).
Platform support
| Platform | Status |
|---|---|
| macOS | ✅ Officially supported |
| Linux | ✅ Officially supported |
| Windows (WSL2) | ✅ Officially supported |
| Windows (Git Bash / MSYS2) | ⚠️ Best-effort, not formally tested |
| Windows (PowerShell / CMD native) | ❌ Not supported |
For Windows, WSL2 (Ubuntu) is recommended. See docs/troubleshooting/windows.md for installation and Git Bash diagnostics.
Troubleshooting
/plugin marketplace add isn't recognised
Use a recent version of Claude Code. The marketplace command is a single word: /plugin (not /plugins).
/plugin marketplace add JayJihyunKim/rein
I don't see the bootstrap command
Rein no longer auto-prompts on session start. The bootstrap command surfaces only when the agent attempts its first source edit (Edit / Write / MultiEdit) or first Bash command in a directory without trail/. Ask the agent to make any edit — the gate will print a one-line python3 …/rein-bootstrap-project.py command. Run it once and subsequent edits pass through.
/reload-plugins produces the same behaviour — there is no separate "first session" path. Non-git projects are supported; git init is not required.
To disable the gate entirely, set bootstrap-gate: false in .rein/policy/hooks.yaml. Individual hook keys (pre-edit-trail-bootstrap-gate, pre-tool-use-bash-bootstrap-gate) can be toggled the same way.
All edits are blocked
If the everything-claude-code plugin (>= 1.9.0) is installed alongside Rein, its gateguard-fact-force hook conflicts with Rein and causes a deadlock. Rein already provides equivalent coverage, so remove the other plugin:
claude plugin remove everything-claude-code
Rein doesn't work on Windows
Native Windows (PowerShell / CMD) is not supported. Install WSL2 and run from Ubuntu. See docs/troubleshooting/windows.md.
Security
Do not file security vulnerabilities as public GitHub issues.
If you discover a vulnerability, please report it privately via GitHub Security Advisories: Report a vulnerability.
Contributing
Issues and pull requests are welcome.
- Fork the repo
- Create a feature branch:
git checkout -b feat/amazing-feature - Commit your changes:
git commit -m "feat: add amazing feature" - Push the branch:
git push origin feat/amazing-feature - Open a Pull Request
Before submitting, read AGENTS.md to understand the framework structure and the rules that govern contributions.
| Commit type | When to use |
|---|---|
feat: |
New feature |
fix: |
Bug fix |
docs: |
Documentation change |
refactor: |
Code change with no behavioural difference |
test: |
Test change |
chore: |
Maintenance |
Release history
Latest release: v1.5.8 (2026-06-26) — code reviews (/codex-review) now run faster on small changes: review depth scales automatically to the size of your change (lines, files, document length) instead of always running at the deepest, slowest setting. You can still set the depth explicitly to override it. (CHANGELOG)
For prior dev-cycle history (v0.x), see docs/changelog-archive/2026-04-pre-v1.md.
Full release notes: CHANGELOG.md
License
MIT — see LICENSE.
References
- agentsmd/agents.md — AGENTS.md hierarchy
- anthropics/skills — skill definitions
- Shields.io — badges