Contributing to harness-ai-kit
August 12, 2026 · View on GitHub
Thank you for your interest in contributing! This document covers the basics.
Getting Started
git clone https://github.com/seed-forge/harness-ai-kit.git
cd harness-ai-kit
pip install -e .
harness-ai-kit --version # verify it works
Developer Certificate of Origin (DCO)
All commits must be signed off (git commit -s). By signing off, you certify that you wrote the contribution. See developercertificate.org for the full text.
Development Workflow
- Fork the repo and create a feature branch from
main - Make your changes — keep commits atomic and focused
- Ensure
python -c "import harness_ai_kit"works andharness-ai-kit --helpruns cleanly - If you add or modify skills, run the validation:
python -c "import json; [json.loads(open(f'skills/{d}/skill.json').read()) for d in __import__('os').listdir('skills') if __import__('os').path.isfile(f'skills/{d}/skill.json')]" - Submit a PR — CI will run lint, import check, CLI smoke test, and a sensitive-reference scan
Code Style
- Python >= 3.10 (type hints required)
- Follow existing patterns — the codebase uses a DDD-style layering (domain/application/infrastructure)
- No hardcoded URLs, credentials, or internal hostnames — the CI sensitive-scan will reject them
Adding a Skill
- Create a directory under
skills/with your skill name - Include
SKILL.md(main document),skill.json(metadata), andUSAGE.md(usage guide with a copy-pasteable Chinese prompt section) - Follow the
_template/skill structure if present - The CI will validate your
skill.jsonon every PR
Reporting Issues
Use the issue templates. For bugs, include the harness-ai-kit doctor output. For feature requests, describe the use case.
License
By contributing, you agree that your contributions are licensed under Apache-2.0.