This file is for coding agents (Codex/Claude/Cursor/etc.). Keep it strict and actionable.
- Project: AGENTS.md Generator
- Stack: python (vanilla)
- Keep changes small and verifiable.
Project: AGENTS.md Generator
Stack: python
Repo root: .
-
Start here:
README.md
-
CI workflows live in:
.github/workflows/ -
Planning/spec drafts (if used):
- Plans:
plans/ - Drafts/specs:
drafts/
- Plans:
-
Useful scripts (if any):
scripts/
Lint
make lintFormat
make formatTests
make test- Prefer the repo's existing toolchain (don't upgrade it).
- If you need new env vars: document names, don't invent secrets.
- If a command fails due to missing deps, explain the minimal install step.
- Small scripts/utilities —
scripts/ - Specs/exec notes —
drafts/ - Plans (if requested) —
plans/
Your job: be useful, be safe, be boring. Small diffs. Deterministic output. No surprises.
- Implement exactly what's requested. If requirements are ambiguous: ask one precise question (or make the smallest reasonable assumption and state it).
- Prefer changing existing code over adding new systems.
- Avoid framework upgrades unless explicitly asked.
- Keep diffs small (target: <300 lines unless unavoidable).
- Never rewrite whole files when a patch will do.
- Preserve formatting, naming patterns, and local conventions.
- Follow the optional review guideline here:
docs/agent-guidelines.md.
- Do not delete data, migrations, buckets, or user files.
- Avoid broad refactors touching many modules at once.
- Never remove features because unused without explicit instruction.
- Never hardcode tokens/keys.
- Never print secrets into logs.
- If a secret is needed: use env vars + document the name.
- Don't run commands that can modify the system/network unless asked.
- Don't use dangerous flags unless explicitly approved.
- If a task involves running arbitrary tools/scripts: isolate and explain.
Before doing any of these, ask:
- schema changes
- auth/payments/crypto
- deletions or large refactors
- new build tooling/CI changes
- new major dependencies
A change is done only if:
- the behavior is correct,
- tests/checks are run (or you explain why they can't be run),
- the diff is minimal and readable,
- docs/comments are updated if behavior changed.
When responding, include:
- what changed (1-3 bullets),
- how to verify (commands / steps),
- risks/assumptions (if any).
- Read the nearest README / docs / existing patterns.
- If there's a failing case: reproduce it (or create a minimal reproduction).
- Prefer one small working increment over a big redesign.
- Change one thing, verify, then move to the next.
- Keep diffs minimal.
- Avoid unrelated formatting churn.
- Prefer refactoring after the fix works, not before.
- Run fast checks after each meaningful change.
- Run full checks before finalizing.
- If you cannot run checks, explain why and what to run.
Think like you're preparing a PR:
- Clear intent
- Small diff
- Tests included
- No breaking changes without warning
Commit message style (suggested):
- Allowed types: feat, fix, test, docs, refactor
- Example:
fix: handle empty input in parser
- If the task is blocked by missing info: ask one concrete question.
- If you make an assumption: state it explicitly and keep it reversible.
- Define a fast check for this repo (lint / unit tests / smoke test).
- If none exists, add a minimal smoke check.
- Run the repo's full test suite (or the closest equivalent).
State:
- why (missing deps / CI-only / platform),
- what to run,
- expected outcome.
- Match existing naming, structure, and patterns.
- Don't introduce new abstractions unless they reduce complexity.
- Prefer clear code over clever code.
- Keep functions small and single-purpose.
- Choose explicit names over short names.
- Validate inputs at boundaries.
- Fail loudly for programmer errors, gracefully for user errors.
- Add helpful error messages (actionable, not vague).
- Log meaningful events, not noise.
- Never log secrets or personal data.
- Add type hints where it improves clarity.
- Add docstrings for public functions and tricky logic.
- Write comments only when the why is non-obvious.
- Prefer standard library / existing deps.
- Avoid adding heavy dependencies for small tasks.
DO
- Prefer small diffs.
- Add or update tests when behavior changes.
- Run repo checks before finishing.
DON'T
- Do not rewrite unrelated code.
- Do not refactor without confirming intent.
- Do not commit secrets or local env files.
If uncertain
- Ask a short clarifying question before making big changes.
Warnings
- (none)
-
Test:
make test -
Lint:
make lint -
Format:
make format -
Run a single test: (not specified)
-
Where configs live:
.github/workflows/,Makefile,pyproject.toml
- Create venv:
python -m venv .venv && source .venv/bin/activate - Install:
pip install -e .
- Tests:
pytest - Lint:
ruff check . - Format:
ruff format .
- Keep dependencies minimal
- Prefer standard library where reasonable
- Ensure CLI help output is clear and stable
- Source:
src - Config:
.github/workflows/,Makefile,pyproject.toml
When you finish work, include:
- Summary (1-3 bullets)
- Files changed (list paths)
- Verification (exact commands to run)