Skip to content

Module Integration Checklist

Every time a new module, tool, strategy, or feature is added to Chimera, go through this checklist before calling it done. This prevents the pattern of “code exists but isn’t integrated.”


  • Source file created in the correct package
  • Unit tests in tests/test_<module>.py
  • Tests pass: uv run pytest tests/test_<module>.py -v
  • Exported from package __init__.py (e.g., chimera/training/__init__.py)
  • Exported from top-level chimera/__init__.py + added to __all__
  • If it’s a tool: added to AGENT_TOOLS or documented why not
  • If it’s a strategy: added to chimera/training/strategies/__init__.py
  • If it needs LoopConfig: field added to chimera/core/loop_config.py
  • If it needs Agent wiring: handled in Agent.run() / iter_steps() / async_run()
  • Write an example in examples/ that exercises the feature end-to-end
  • Run the example with source .env && uv run python examples/<category>/<example>.py
  • Verify it produces correct output, not just “no errors”
  • Add test in tests/test_examples.py (real provider when available, mock fallback)
  • Module page in site/src/content/docs/modules/<module>.md with working code examples
  • If adding a new doc section, add it to site/astro.config.mjs sidebar (autogenerate handles subdirs)
  • CLAUDE.md module map updated if it’s a new package/directory
  • README.md feature list updated (additive only — don’t rewrite existing content)
  • Existing docs checked for stale references (tool counts, strategy counts, etc.)
  • Full test suite passes: uv run pytest tests/ -q
  • No regressions in existing tests
  • cd site && pnpm build succeeds (if docs were changed)
  • Git commit with descriptive message
  • GitHub issue closed with commit reference (if applicable)

  • Don’t claim a feature is “done” if it only has unit tests with mocks
  • Don’t rewrite existing README/doc content — only add
  • Don’t add tools to DEFAULT_TOOLS without discussion (use AGENT_TOOLS or document why it’s opt-in)
  • Don’t amend previous commits — make new ones
  • Don’t skip the real LLM verification step — that’s where the real bugs are