

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# CLAUDE.md — cc-agents-md23## Overview4CLI tool that makes Claude Code automatically load AGENTS.md files into sessions. Registers three hooks (SessionStart, UserPromptSubmit, PreCompact) so AGENTS.md content is injected without needing CLAUDE.md wrapper files or symlinks.56## Tech Stack7- JavaScript (Node.js, ESM)8- npm package (`cc-agents-md`)9- Claude Code hooks API10- Mocha/Node test runner (testing)11- Codecov (coverage)1213## Development14```bash15# Install dependencies16npm install1718# Run tests19npm test2021# Run benchmarks22node bench/2324# Setup (registers hooks in ~/.claude/settings.json)25npx cc-agents-md setup2627# Verify installation28npx cc-agents-md doctor29```3031## Architecture32- `bin/loader.sh` — Bash script invoked by the SessionStart hook. Walks upward from `$CLAUDE_PROJECT_DIR` to git root, collecting AGENTS.md files. Outputs root-first. All errors silenced to never block a session.33- `bin/cli.js` — Node CLI entry point. Commands: setup, remove, status, doctor, preview.34- `lib/` — Core modules35 - `config.js` — Configuration management36 - `detect.js` — AGENTS.md file discovery (walks up to git root)37 - `settings.js` — Reads/writes `~/.claude/settings.json`. Merges hooks without clobbering existing ones.38 - `patcher.js` — Hook registration in Claude Code settings39 - `patch-native.js` — Native Claude Code hook patching40 - `patch-bun.js` — Bun runtime compatibility41 - `watch.js` — File change detection for re-injection42- `test/` — Tests using `node:test`. No external test framework.43- `docs/` — Documentation and images4445## Key Design Decisions46- **Walk upward, not downward**: At session start, you don't know what files will be edited. Walking up from CWD to git root is always correct and always bounded.47- **Pure bash runtime**: The hook script has zero dependencies on Node.js. It runs in <50ms.48- **Hook-based, not patch-based**: Uses Claude Code's documented `SessionStart` hook API. Survives updates.49- **Idempotent setup**: Running `setup` twice doesn't duplicate hooks.50- **Non-destructive remove**: Only removes our hook entry, preserves everything else in settings.json.5152## Key Rules53- Never scan downward from working directory; only walk upward to git root54- Small AGENTS.md files are inlined; large files emit a read instruction instead55- PreCompact hook re-injects content so instructions survive context compression56- UserPromptSubmit hook exits silently (zero overhead) if files have not changed5758## Code Style59- Node.js `'use strict'` in all files60- No external runtime dependencies — only Node.js built-ins61- `c8` as the sole dev dependency (coverage)62- Tests use `node:test` and `node:assert`6364*Generated by [LynxPrompt](https://lynxprompt.com) CLI*65
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| stacklok/toolhiveCLAUDE.md · 2.0k | CLAUDE.md | buildteststylearch+4 | 100/100 | 14 days ago | |
| Adit-Jain-srm/NightmareNetCLAUDE.md · 46 | CLAUDE.md | buildtestlint-formatstyle+6 | 100/100 | 14 days ago | |
| nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.5k | CLAUDE.md | setupbuildstylearch+2 | 100/100 | 14 days ago | |
| tyrchen/geektime-bootcamp-aiw7/genslides/backend/CLAUDE.md · 230 | CLAUDE.md | testlint-formatstylearch+6 | 100/100 | 9 days ago | |
| tphakala/birdnet-goCLAUDE.md · 1.6k | CLAUDE.md | buildtestlint-formatstyle+8 | 100/100 | today | |
| microsoft/playwrightCLAUDE.md · 95k | CLAUDE.md | buildtestlint-formatstyle+7 | 100/100 | 7 days ago | |
| dotCMS/corecore-web/CLAUDE.md · 949 | CLAUDE.md | teststylearchtesting-strategy+3 | 100/100 | 14 days ago | |
| bagisto/bagistoCLAUDE.md · 28k | CLAUDE.md | setupbuildteststyle+5 | 100/100 | 7 days ago |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/geiserx-cc-agents-md-claude)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.