Skip to content
Komputa Practice
Esc
↑↓navigate↵open⌘Jpreview
On this page

Repo layout

What each folder and file of the practice repo holds.

Each path in the practice repo, and what it holds.

Path Contents
copier.yml, template/ The project template: a Copier template that starts a repo with the house standards and keeps it current (the gate, the build checks, the PR template, the seeded CLAUDE.md). Copier reads copier.yml from the repo root.
standards/ The template’s own tests and Python project, and its README. It was the project-standards repo; its history is kept.
instances/example.yml What an environment file holds: the answers your repos share that this repo must not (the secret command and the forge, onedev or github). Keep your own copy outside the repo.
skills/house-*/ The house rules for how code is shaped and run: house-architecture, the language skills (house-dotnet, house-python, house-typescript, house-shell), house-otel and house-delivery. Each rule holds with or without an agent framework.
skills/standards-feedback/ Turns review findings into changes to the house rules, or into a check in the template, so a mistake is fixed where it starts.
skills/herdr/SKILL.md The herdr skill: when to use a worker, how to brief, start, show, wait for, replace and clean up one.
skills/herdr/assets/templates/ hc worker templates: owner, implementer, fixer and reviewer.
archive/herdr/ The scripts, systemd units and tests that ran unattended leads and workers, archived on 10 November 2026. No check covers them. archive/README.md has the detail.
skills/herdr/evals/trigger.json Queries that must, and must not, trigger the skill.
rules/working-rules.md Rules to copy into your global ~/.claude/CLAUDE.md.
rules/leadonly-rules.md Rules for a lead that starts workers. Not loaded by default.
docs/model-selection.md How each agent’s model is chosen: the role lines and the move-up rule.
docs/quality-funnel.png The quality funnel picture. docs/quality-funnel.html is its source.
docs/framework-evidence.md What one program built by this practice caught and what it cost, the trade-off of each change since, and how the next period is measured.
scripts/program-scorecard.py Reads the merged pull requests of a repo from git and prints the scorecard that the evidence page uses.
docs/context-economics.md Where the tokens go when agents run as workers: what we measured on a real project, what we learned, and why the budget and wait rules say what they say.
hooks/block-secret-write.sh A Claude Code PreToolUse hook for Write and Edit (and Codex apply_patch). It refuses content that matches a secret pattern, and names the machine’s secret tool from HOOK_SECRET_TOOL.
hooks/block-credential-read.sh A Claude Code PreToolUse hook for Read and Bash. It refuses reading a credential file (SSH keys, .netrc, .env, the Claude credentials); counts and key names pass.
hooks/hooks.test.sh Tests for the secret and credential hooks, with hostile payloads.
hooks/gates.json The PreToolUse entries that register these hooks in ~/.claude/settings.json.
hooks/check-live.sh Compares each hook that ~/.claude/settings.json registers with its copy here, since the live hooks are plain copies.
hooks/block-dangerous-git.sh A Claude Code PreToolUse hook for Bash. It refuses destructive git commands, every forced push except a pinned lease, and a remote branch delete that would lose commits.
hooks/block-dangerous-git.test.sh Tests for the hook.
hooks/block-destructive-delete.sh A Claude Code PreToolUse hook for Bash. It refuses deletes that cannot be undone: a forge repo, project or org, a wiki space, and a recursive rm of another checkout, a folder directly under home or another session’s tmp folder.
hooks/block-destructive-delete.test.sh Tests for the delete hook, with its hostile inputs.
hooks/block-operator-screen.sh A Claude Code PreToolUse hook for Bash and the claude-in-chrome tools. In a worker only (an hc terminal started from a template or by a parent, as hc get on its own address shows), it refuses commands that open the operator’s browser, a browser without --headless, and every claude-in-chrome tool.
hooks/block-operator-screen.test.sh Tests for the hook.
hooks/block-test-weakening.sh A Claude Code PreToolUse hook for Write and Edit. It refuses an edit that deletes or weakens a test (block-test-weakening.py holds the logic).
hooks/block-test-weakening.test.sh Tests for the hook.
watcher/practice-watch The one watcher: a pass over each hc session labelled watch=on that nudges one gone idle and alerts once on one blocked, out of nudges or ended. site/explanation/the-watcher.md explains it.
watcher/watcherctl Installs, removes, switches on and off the watcher’s systemd user timer (install, uninstall, enable, disable, status).
watcher/practice-watch.test.sh Tests for both, against stub hc and systemctl.
scripts/check.sh Runs every check in this repo. CI (.github/workflows/check.yml) runs the same command.
scripts/scrub-check.sh The check that keeps private items out of this repo.
site/ The pages of the docs site. scripts/docs-prepare.mjs adds the imported repo files and the generated reference pages, and nothing else is published.
blume.config.ts, theme.css, public/ The docs site’s config, its brand colours and fonts, and its logo and favicon.
wrangler.jsonc, .github/workflows/docs-deploy.yml The Cloudflare Worker that serves docs.komputa.io, and the guarded job that deploys it.
scripts/docs-prepare.mjs, scripts/docs-reference.sh, scripts/docs-smoke.mjs, scripts/docs-figures.py The docs build: the content folder and generated pages, the hooks page, the smoke check, and the light and dark diagram PNGs.

Next steps

Was this page helpful?