Thank you for contributing to the AI-DLC workflows evaluation and reporting framework!
- Python 3.13+
- uv package manager
- Git
# Clone the repository
git clone <repository-url>
cd aidlc-evaluation-framework
# Install dependencies
uv sync
# Run tests to verify setup
uv run pytestgit checkout -b feature/your-feature-nameWork in the appropriate package:
packages/execution/- Execution Framework (two-agent AIDLC workflow runner)packages/cli-harness/- CLI Adapter Framework (Claude Code, Kiro CLI, custom tools)packages/ide-harness/- IDE Adapter Framework (Cursor, Cline, Kiro, etc.)packages/qualitative/- Semantic Evaluation (intent & design similarity scoring)packages/quantitative/- Code Evaluation (linting, security, organization)packages/nonfunctional/- NFR Evaluation (tokens, timing, consistency)packages/reporting/- Report generationpackages/trend-reports/- Cross-release trend reportingpackages/shared/- Common utilities
Or contribute to other work streams:
test_cases/- Golden Test Cases (baseline inputs)docs/writing-inputs/- Vision and tech-env document guides.github/workflows/- GitHub CI/CD Integration & Management
# Run all tests
uv run pytest
# Run specific package tests
uv run pytest tests/test_qualitative.py
# Run with coverage
uv run pytest --cov# Check code style
uv run ruff check .
# Auto-fix issues
uv run ruff check --fix .
# Format code
uv run ruff format .Write clear, descriptive commit messages:
git add .
git commit -m "Add token tracking to nonfunctional package"- Push your branch to the repository
- Open a PR with a clear description of changes
- Link to any related issues
- Wait for automated tests to pass
- Address review feedback
The project is organized around six big rocks. Your changes will typically fall into one or more of these:
| Work Stream | Description | Package / Area |
|---|---|---|
| Golden Test Case | Curated baseline test inputs | test_cases/ |
| Execution Framework | Two-agent AIDLC workflow runner | packages/execution/ |
| CLI Adapters | CLI tool integrations (Claude Code, Kiro CLI) | packages/cli-harness/ |
| IDE Adapters | IDE tool integrations (Cursor, Cline, etc.) | packages/ide-harness/ |
| Semantic Evaluation | Intent & design similarity scoring | packages/qualitative/ |
| Code Evaluation | Linting, security, organization | packages/quantitative/ |
| NFR Evaluation | Tokens, timing, consistency | packages/nonfunctional/ |
| Trend Reporting | Cross-release metric tracking | packages/trend-reports/ |
| GitHub CI/CD | Pipeline integration & management | .github/workflows/ |
- Follow PEP 8 (enforced by Ruff)
- Use type hints
- Maximum line length: 100 characters
- Write docstrings for public functions and classes
- Write tests for new functionality
- Maintain or improve code coverage
- Use descriptive test names:
test_<what>_<condition>_<expected>
- Update README.md if adding new features
- Add docstrings to new modules and functions
- Update relevant docs in
docs/directory
When adding dependencies:
- Add to the appropriate
pyproject.tomlinpackages/<package>/oraidlc-runner/ - Run
uv syncto update lock file - Document why the dependency is needed in your PR
When reporting bugs or requesting features:
- Use GitHub Issues
- Provide clear reproduction steps
- Include relevant logs or error messages
- Specify which package is affected
- Review FAQ.md for common questions
- Check OPERATING_PRINCIPLES.md for decision-making guidance
- Ask in PR comments or open a discussion
- Be respectful and constructive
- Focus on the code, not the person
- Welcome diverse perspectives
- Help others learn and grow
Thank you for helping improve the AI-DLC evaluation framework!