Thanks for your interest in contributing!
git clone https://github.com/IyadhKhalfallah/clauditor.git
cd clauditor
npm install
npm test
npm run build- Fork the repo and create a branch from
main - Make your changes
- Run
npm testandnpm run lint— both must pass - Write a clear commit message using conventional commits (
feat:,fix:,docs:, etc.) - Open a pull request against
main
Do not reference, port, quote, or derive logic from any leaked or non-public Anthropic source code. This includes the March 2026 Claude Code source map incident or any other non-public disclosure.
Every feature must be justifiable from one of:
- Claude Code's official documentation at code.claude.com/docs
- Anthropic's public API docs at docs.anthropic.com
- Community-documented behavior in public GitHub issues, Reddit, or blog posts
- Independent behavioral observation of the running tool
If you are unsure whether something you know came from leaked materials, do not contribute it. Describe the observed behavior instead and let a maintainer implement it independently.
npm test # Run all tests
npm run lint # Type check
npm run build # BuildTests are in src/**/*.test.ts using Vitest.
clauditor has three layers:
- Hooks (
src/hooks/) — Claude Code hook handlers that run as separate processes - Features (
src/features/) — Detection and analysis logic - TUI (
src/tui/) — Ink-based dashboard (optional, not the core product)
The core value is in the hooks. The most important file is src/hooks/post-tool-use.ts — it handles session rotation blocking.
Releases are automated via Release Please. Conventional commit messages determine version bumps:
fix:→ patchfeat:→ minorfeat!:orBREAKING CHANGE:→ major