|
| 1 | +# Contributing to pi-agenticoding |
| 2 | + |
| 3 | +Welcome! This project welcomes focused, well-validated contributions. Use coding agents deliberately: research before editing, keep changes small, follow existing patterns, and document the validation you ran. |
| 4 | + |
| 5 | +## Development Principles |
| 6 | + |
| 7 | +- **Use code research first** — understand the surrounding module responsibilities before editing. |
| 8 | +- **Make minimal changes** — prefer targeted edits that reuse existing mechanisms. |
| 9 | +- **Match existing patterns** — keep naming, lifecycle hooks, tool contracts, and TUI behavior consistent with the current code. |
| 10 | +- **Preserve context-management semantics** — changes to `spawn`, `ledger`, or `handoff` should keep the agent workflow predictable across session resets and compaction. |
| 11 | +- **AI-agent generated contributions are welcome** — include enough human intent and validation context in the PR for reviewers to trust the result. |
| 12 | + |
| 13 | +## Suggested Workflow |
| 14 | + |
| 15 | +1. **Research the area** |
| 16 | + - Identify the relevant primitive: spawn, ledger, handoff, watchdog, or extension wiring. |
| 17 | + - Read nearby tests in `agenticoding.test.ts` before changing behavior. |
| 18 | + |
| 19 | +2. **Plan the smallest safe change** |
| 20 | + - Reuse existing state and lifecycle hooks when possible. |
| 21 | + - Avoid adding dependencies unless the change clearly needs them. |
| 22 | + |
| 23 | +3. **Implement with tests or validation** |
| 24 | + - Add or update tests for behavior changes. |
| 25 | + - For documentation-only changes, review rendered links and examples. |
| 26 | + |
| 27 | +4. **Submit a focused PR** |
| 28 | + - Explain why the change is needed. |
| 29 | + - Link the related issue or discussion when one exists. |
| 30 | + - List the validation you ran, or explain why a test command was not applicable. |
| 31 | + |
| 32 | +## Quality Bar |
| 33 | + |
| 34 | +Before submitting, check that your change: |
| 35 | + |
| 36 | +- Keeps public tool names and contracts stable unless the PR explicitly proposes a breaking change. |
| 37 | +- Does not introduce hidden context growth, unbounded output, or recursive child-agent spawning. |
| 38 | +- Handles reset, cancellation, and stale-session cases where relevant. |
| 39 | +- Keeps docs aligned with the package version and installed behavior. |
| 40 | + |
| 41 | +## Community |
| 42 | + |
| 43 | +Use GitHub Issues for bug reports and feature requests. Keep discussions concrete: describe the agent workflow you expected, what happened instead, and any reproduction steps. |
| 44 | + |
| 45 | +## License |
| 46 | + |
| 47 | +By contributing to this project, you agree that your contributions will be licensed under the same MIT License as pi-agenticoding. |
0 commit comments