agentleFS
helmut-hoffer-von-ankershoffenhelmut-hoffer-von-ankershoffen/heinzel/AGENTS.md

heinzel

AGENTS.md2 starsChanged 14 days agoMITView on GitHub

Heinzelmännchen (hz): a kernel plus modules; each operation is a CLI command, MCP tool and REST endpoint. Read INTENT.md, docs/ARCHITECTURE.md and docs/CODING_STANDARDS.md (code, tests, commits). Run make setup first. make doctor names what is missing and the fix. Never pipe make targets through tail or grep (VERBOSE=1 streams everything). Try the CLI with uv run hz ...; every operation takes --json; options in docs/CLI_REFERENCE.md. - A new kind of let, a new head, a new dependency or a change that…

The file

We split this AGENTS.md into the rules it gives an agent

7 rules. About 0 are common, 0 are distinctive, and 7 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Very specific:

    Read INTENT.md, docs/ARCHITECTURE.md and docs/CODING_STANDARDS.md (code, tests, commits).

    line 4
  2. Very specific:

    Run make setup first. make doctor names what is missing and the fix.

    line 9
  3. Very specific:

    Never pipe make targets through tail or grep (VERBOSE=1 streams everything).

    line 24
  4. Very specific:

    Leave CHANGELOG.md and version numbers to the release process.

    line 36
  5. Very specific:

    When a maintainer sets a standard, corrects you or repeats an instruction, codify it as the strongest check that can express it (test, …

    line 40
  6. Very specific:

    When a pushed branch needs an update, use git merge origin/main, not a rebase (PRs squash-merge).

    line 51
  7. Very specific:

    Never hand-edit generated files: docs/MODULES.md, CLI_REFERENCE.md, CONFIGURATION.md, docs/plugins/, web/src/api/schema.d.ts (make fix …

    line 79

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

AGENTS.md

Heinzelmännchen (hz): a kernel plus modules; each operation is a CLI command, MCP tool and REST endpoint. Read INTENT.md, docs/ARCHITECTURE.md and docs/CODING_STANDARDS.md (code, tests, commits).

Commands

Run make setup first. make doctor names what is missing and the fix.

TaskCommand
Fix lockfile, format, lint, generated docs, ATTRIBUTIONS.md, template filesmake fix
Edit loop, secondsmake check-fast
Everything CI checks offlinemake check
CI checks before pushing (PREFLIGHT=full adds e2e, audit)make preflight
Tests by levelmake test-unit / make test-integration / make test-e2e
Render, test, audit the plugin template (AUDIT=0: offline)make template-test
Open the PR (DRAFT=1; BODY="..." or BODY_FILE=path for a new description)make pr TITLE="feat(scope): ..."
Why CI failed (waits for the running build)make ci-logs
Small copy, docs or web UI fix to validated PR (skill ship-small, docs/SHIP_SMALL.md)uv run --script scripts/ship.py start SLUG
Rebase onto main (before the first push only)make sync

Never pipe make targets through tail or grep (VERBOSE=1 streams everything). Try the CLI with uv run hz ...; every operation takes --json; options in docs/CLI_REFERENCE.md.

Rules

  • A new kind of let, a new head, a new dependency or a change that contradicts an ADR in docs/adr/ needs a new ADR first (skill write-adr).
  • A PR that builds an ADR adds its number to the ADR's implemented-by, sets implementation (built, partial, planned) to what the code now does, and runs make docs. Never hand-edit the generated index table.
  • Pull requests only: branch from origin/main, never stack, open with make pr. Conventional commits and PR titles: the title becomes the squash commit and drives changelog and version.
  • Fix the cause of a failing hook or check. Never use --no-verify; never weaken a rule, type check or threshold.
  • Leave CHANGELOG.md and version numbers to the release process. Give a new dependency a reason in the commit body.
  • The repository is public. No employer, customer, colleague or internal project names in files, commits, PR titles or review comments; use made-up names. Never quote a term scripts/check_confidentiality.py reports.
  • Review a non-trivial change before finishing (skill review); resolve every Critical and Required finding.
  • When a maintainer sets a standard, corrects you or repeats an instruction, codify it as the strongest check that can express it (test, lint, hook) and fix existing violations (skill codify).
  • UI: follow Mobile UI. Use the shared viewport primitives, extend the route/settings mobile sweep for new interactions, test Chromium and WebKit phone layouts. Fix axe contrast and target-size findings in tokens and components, never by relaxing a rule.

Picking up work

  • Sonar security remediation: read docs/SONAR_SECURITY.md first.
  • Work in your own clone or worktree, one writer per set of files. Read gh pr view N and gh pr checks N before touching a branch someone else started.
  • When a pushed branch needs an update, use git merge origin/main, not a rebase (PRs squash-merge). Core's merge queue uses each PR's tested head without an automatic update to main; green CI OK remains required.
  • Big work merges dark: register a flag in src/heinzel/kernel/_features.py, check it with feature_enabled, delete both when it ships (ADR 0115). A flag hides behaviour, not state schema changes.
  • ADR numbers collide across open PRs. Before merging, take the next free number on main and fix every reference (README index, amended-by lines, docstrings).
  • gh run view <run> --log-failed works only after the whole run finishes. Rerun a job that failed outside the diff with gh run rerun <run> --failed; fix everything else.
  • The pre-push hook and make pr scope checks to the changed paths (scripts/scoped_checks.py push); CI and a manual make check-fast run everything. If the unit step times out on a loaded machine, wait and push again. NO_PREFLIGHT=1 make pr skips only the preflight, for timeouts in tests you didn't touch, after review.

Map

src/heinzel/kernel/   discovery, Module, lets, Kernel, settings; knows no head or module
src/heinzel/heads/    cli/ (Typer), mcp/, api/ (FastAPI), web/ (serves the app at / and api/ under /api)
src/heinzel/modules/  built-in modules: a package declaring `module = Module(name, summary)`; nested ones are
                      submodules; nothing to register; commands are `@module.operation` functions
web/                  the web head's React app; `make web-dev`, `make web-build`
plugins/              optional local plugin sources. Public plugins live in heinzel-plugins (ADR 0094); core never
                      imports, installs or tests concrete plugins
starter/              plugin templates; docs/PLUGIN_AUTHORING.md. Test against installed SDK/toolkit artifacts
template/             copier template. Shared files are symlinks into this repo; Makefile, CI, pyproject,
                      SECURITY.md and badges are generated: edit the originals
agent-skills/         the user-facing Claude Code plugin (skills hz-init, hz, hz-uninstall)

Never hand-edit generated files: docs/MODULES.md, CLI_REFERENCE.md, CONFIGURATION.md, docs/plugins/, web/src/api/schema.d.ts (make fix regenerates them).

Scoped instructions: tests/, .github/, src/heinzel/kernel/.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.