Let's only keep instructions for stuff that we've seen the AI mess up in practice rather than having a bunch of AI generated text that it can figure out for itself these days (given it was trained on systemd's source code in the first place). Also add a rule to use git worktrees and check out PRs locally when reviewing them, since I've seen it mess that up in practice.
37 lines
1.7 KiB
Markdown
37 lines
1.7 KiB
Markdown
# AGENTS.md
|
|
|
|
This file provides guidance to AI coding agents when working with code in this repository. Only add
|
|
instructions to this file if you've seen an AI agent mess up that particular bit of logic in practice.
|
|
|
|
## Key Documentation
|
|
|
|
Always consult these files as needed:
|
|
|
|
- `docs/ARCHITECTURE.md` — code organization and component relationships
|
|
- `docs/HACKING.md` — development workflow with mkosi
|
|
- `docs/CODING_STYLE.md` — full style guide (must-read before writing code)
|
|
- `docs/CONTRIBUTING.md` — contribution guidelines and PR workflow
|
|
|
|
## Build and Test Commands
|
|
|
|
- Never compile individual files or targets. Always run `mkosi -f box -- meson compile -C build` to build
|
|
the entire project. Meson handles incremental compilation automatically.
|
|
- Never run `meson compile` followed by `meson test` as separate steps. Always run
|
|
`mkosi -f box -- meson test -C build -v <TEST-NAME>` directly. Meson will automatically rebuild any required
|
|
targets before running tests.
|
|
- Never invent your own build commands or try to optimize the build process.
|
|
- Never use `head`, `tail`, or pipe (`|`) the output of build or test commands. Always let the full output
|
|
display. This is critical for diagnosing build and test failures.
|
|
|
|
## Integration Tests
|
|
|
|
- Never use `grep -q` in pipelines; use `grep >/dev/null` instead (avoids `SIGPIPE`)
|
|
|
|
## Pull Request Review Instructions
|
|
|
|
- Always check out the PR in a git worktree in `worktrees/`, review it locally and remove the worktree when finished.
|
|
|
|
## AI Contribution Disclosure
|
|
|
|
Per project policy: if you use AI code generation tools, you **must disclose** this in commit messages by adding e.g. `Co-developed-by: Claude <claude@anthropic.com>`. All AI-generated output requires thorough human review before submission.
|