src/subagent/: CLI, agent provisioning logic, config/fetch utilities.tests/: Pytest suites covering config parsing, fetchers, and the runner.docs/: Example agent workspaces, guides, and reference material..python-version,pyproject.toml, andenv.template: runtime pinning, packaging metadata, and environment variables.
uv venv: Create the local virtual environment pinned to Python 3.12.uv pip install -e .[dev]: Editable install with dev extras (pytest, respx).uv run --extra dev pytest: Run the full test suite using the dev extra dependencies.
- Follow PEP 8 with 4-space indentation; prefer explicit imports and type hints on public functions.
- Keep modules cohesive (
config.pyfor validation,fetcher.pyfor I/O, etc.). - When adding scripts or commands, expose them via
pyproject.tomlentry points.
- Use
pytestwithrespxfor HTTP mocking and simple stub classes for Azure interactions. - Name files
test_*.py; structure new tests alongside the modules they cover. - Ensure tests pass via
uv run --extra dev pytestbefore opening a PR.
- Write commits in the imperative mood (e.g.,
Add Azure retry helper). - Reference related issues in commit bodies or PR descriptions when applicable.
- PRs should summarize behaviour changes, note testing performed, and include screenshots/log excerpts only when they clarify the impact.
- Copy
env.templateto.envor export variables manually (never commit secrets). - Use Azure Key Vault or environment variables for production credentials; API keys must not appear in config files or Git history.