Affirm the Plumbline rules in this project. Creates `.claude/rules/` if absent and writes/overwrites `.claude/rules/plumbline-cheatsheet.md` to match the plugin's canonical cheatsheet. Idempotent — a project already in compliance is a silent no-op.
Audit the current project against the Plumbline lint. Runs the lint across the whole codebase, groups violations by check category and by file, and surfaces a remediation plan distinguishing mechanical fixes from structural issues. Read-only — proposes fixes; does not apply them.
One-way violation ratchet for too-big-to-fix-now Plumbline checks. Records a baseline violation count in .plumbline-budget.json; CI fails any change that increases the count, accepts any that holds or decreases it.
Emit a CI workflow that runs the Plumbline lint and budget check on every PR. Supports GitHub Actions, GitLab CI, and pre-commit. Prints the workflow to stdout; user reviews and saves.
Find @source: mirrors whose content is now very similar to their canonical (line-overlap ≥ 60%) — candidates for collapsing into a shared definition per strict DRY. Read-only — proposes consolidations.
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Code that runs true under agentic maintenance.
Plumbline is a methodology for writing code that AI coding agents can safely maintain in parallel, across model generations, and at scale. It packages as a Claude Code plugin that installs the project rules into any consuming codebase, with lint tooling to follow.
This repository is its own single-plugin marketplace (the catalog lives at .claude-plugin/marketplace.json under the marketplace name fallguy). In Claude Code:
/plugin marketplace add fallguyconsulting/plumbline
/plugin install plumbline@fallguy
In any project:
/plumbline:affirm
This writes .claude/rules/plumbline-cheatsheet.md into the current project — the rules file every Claude Code session in the project will read. Commit it. Re-run /plumbline:affirm after a plugin upgrade to pick up the latest canonical cheatsheet.
With the plugin installed, the PostToolUse hook runs plumbline on every Edit/Write automatically and blocks (exit 2) when violations are found, so the agent sees the message and fixes in the same turn.
/plumbline:affirm./plumbline:port (emits a project-specific plan with backlog numbers filled in).Plumbline grew out of the Cold Read methodology. Cold Read v1 optimized for AI agents whose binding constraint was comprehension — fresh-context reading of unfamiliar code — and its prescriptions were context-complete files, tracked duplication instead of shared code, and a hard cap on import depth. Cold Read v2 reweighted the same goals around verification, since comprehension stopped being the bottleneck and verification did not. Plumbline v1 takes Cold Read v2's content forward under a name that describes the goal — code that runs true — rather than the agent's reading condition.
/plumbline:patterns clusters violations by shape, /plumbline:budget ratchets too-noisy checks down over time, /plumbline:suggest proposes per-violation fixes, /plumbline:slug deterministically generates @blessed-invariant: slugs from prose, /plumbline:starter generates a project-shaped .plumbline.json from a repo scan, /plumbline:doctor diagnoses the installation, /plumbline:explain looks up the meaning and examples for each check or tag, /plumbline:ci emits a workflow for GitHub Actions / GitLab CI / pre-commit, /plumbline:link-tests proposes test-side @blessed-invariant: slug references, /plumbline:consolidate finds @source: mirrors that have grown too similar to their canonical to justify the copy. The lint also gained GoDoc + JSDoc convention exemptions for the comment-hygiene check.@source: validity, @blessed-invariant: test coverage), PostToolUse hook on Edit/Write, /plumbline:audit./plumbline:affirm.The plumbline binary is a multi-tool CLI. The default (no subcommand) is the lint:
plumbline # lint cwd
plumbline <path> # lint a path
plumbline patterns [path] # cluster violations by shape
plumbline budget save|check [path] # ratchet baseline
plumbline suggest [path] # propose per-violation fixes
plumbline slug "<prose>" # generate a kebab-case slug
plumbline starter [path] # generate a starter .plumbline.json
plumbline doctor [path] # diagnose installation
plumbline explain [<topic>] # show docs for a check or tag
plumbline ci github|gitlab|pre-commit # emit a CI workflow
plumbline link-tests [path] # propose test-side slug references
plumbline consolidate [path] # find @source: mirrors to collapse
Each subcommand is also wrapped as a Claude Code skill: /plumbline:patterns, /plumbline:budget, and so on.
The lint binary lives at bin/plumbline (Node.js, no build step). Invoke it directly:
node /path/to/plumbline-plugin/bin/plumbline [path]
Or from a hooked Claude Code session, it runs automatically after every Edit/Write.
npx claudepluginhub fallguyconsulting/plumbline --plugin plumblinePlanning, implementation, and review skills for Claude Code
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Memory compression system for Claude Code - persist context across sessions
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.