Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 1.7 KB

File metadata and controls

34 lines (22 loc) · 1.7 KB

Contributing to OpenAgent

Short version: open an issue, open a PR, challenge a design decision. All three are welcome.

What's worth contributing

  • A new agent stage (or a variant of an existing one). The pipeline is intentionally modular — if you think there should be a Critic or Verifier stage between Planner and Executor, prototype it and send the PR.
  • A new provider adapter. OpenAI-compatible endpoints work out of the box; other SDKs (Anthropic native, Bedrock, etc.) are good fits.
  • A new recipe. The Recipes section of the README is a living document. If you found a pattern that keeps recurring, document it.
  • Better tests on the stage contracts. Every Pydantic schema in backend/models/schemas.py is a test surface.
  • Docs fixes. Typos, broken links, confusing phrasing — just open the PR.

How to PR

  1. Fork, branch from main.
  2. Keep the change small. One stage, one feature, one fix.
  3. If you change a stage contract, update the schema and the stage it belongs to in the same PR.
  4. Run the pipeline end-to-end with python run.py before sending — a smoke test counts.
  5. Open the PR with a one-paragraph "why" and a before/after if the behavior changed.

Disagreement is welcome

If you think a design decision in the cookbook is wrong, open an issue titled design: <thing you disagree with>. We'd rather be challenged than be wrong in public.

Code style

  • Python: ruff defaults, type hints on public functions, Pydantic models for any cross-stage data.
  • Commit messages: imperative mood ("add context gatherer", not "added context gatherer").

Getting stuck

Open an issue labeled question. No issue is too small.

Thanks for making this better.