src/issuelab/: core Python package (CLI entry points, agent execution, config, GitHub tooling).tests/: pytest suite (unit and behavior coverage for parsing and agent orchestration).agents/: per-user agent configs and prompts (e.g.,agents/<name>/agent.yml,agents/<name>/prompt.md).scripts/: lightweight wrappers for GitHub Actions (minimal deps, no full install).docs/: architecture, deployment, and setup guides.config/: workflow and runtime configuration assets.
uv sync: install dependencies for local development.uv run pytest tests/ --cov=issuelab: run the full test suite with coverage.uv run pytest tests/test_parser.py -v: run a focused test file.uv run ruff check src/ tests/: lint (imports, style, common errors).uv run ruff format --check src/ tests/: verify formatting.uv run mypy src/issuelab --ignore-missing-imports: static type checks.uv build: build the package.- Example CLI:
uv run python -m issuelab review --issue 1 --post.
- Python 3.13+, 4-space indentation, line length 120.
- Formatting and linting via Ruff (double quotes preferred, import sorting enabled).
- Module names are
snake_case; classes arePascalCase; functions aresnake_case. - Keep prompts and agent configs named by role or GitHub handle.
- Frameworks:
pytest,pytest-asyncio,pytest-cov. - Test files follow
tests/test_*.pynaming. - Use
uv run pytest ...to ensure the correct environment.
- Commit history follows Conventional Commits:
feat:,fix:,chore:,docs:,test:. - PRs should include a clear summary, linked issue (if any), and relevant workflow output or screenshots when behavior changes.
- Keep PRs focused and avoid mixing unrelated refactors with feature work.
- Secrets should be provided via GitHub Actions (e.g.,
ANTHROPIC_AUTH_TOKEN,PAT_TOKEN). - Use GitHub App credentials where possible for cross-repo dispatch; see docs/DEPLOYMENT.md.
- MCP configuration lives in
.mcp.json(global) andagents/<name>/.mcp.json(per-agent overrides).