Contributing¶
Contributions are welcome. Create a focused branch, add tests with the change, and keep documentation aligned with the owning source of truth.
Development checks¶
uv run black src/ tests/
uv run ruff check src/ tests/
uv run isort src/ tests/
uv run pytest tests/unit/ -v
uv run --group docs mkdocs build --strict
The project targets Python 3.12, Black's 100-character line length, the Black isort profile, and the configured Ruff rules. Toolkit method docstrings are required because they are visible to language models and generated API documentation.
Agent descriptions and instructions¶
Agent text is split by responsibility:
- Add identity, role, and domain ownership to
src/cs_copilot/agents/descriptions.py. - Add cross-task routing, evidence, state, and output rules to
src/cs_copilot/agents/instructions.py. - Put reusable scientific procedures in
skills/<slug>/SKILL.md. - Put MCP-facing tool, permission, task, and artifact contracts in
workflow_catalog/<slug>/WORKFLOW.md.
Do not duplicate long tool sequences across agent instructions, workflow contracts, and plugins. See Skills and Workflows for the ownership model.
Extending the system¶
Before submitting a pull request, ensure the strict documentation build, focused unit tests, and pre-commit checks pass.