Prerequisites & Installation: See README.md
For Contributors:
# After installation, verify development setup
pytest -m 'unit or integration' -v
ruff check .
# Install documentation dependencies
poetry install --with docsWe use self-hosted runners with expensive Xilinx licenses. External PRs require manual approval:
- Submit PR → CI shows "skipped"
- Maintainer reviews → adds
safe-to-testlabel - CI runs (pytest + hardware tests)
- Label auto-removes
- New commits? Need new label
Changes to these trigger mandatory @microsoft/brainsmith review (CODEOWNERS enforced) for security:
.github/workflows/,.github/actions/- CI/CDdocker/,Dockerfile,*.sh- Container/scriptsbrainsmith/_internal/io/dependencies.py- Dependency definitions
Required:
- Tests for new features/fixes
- Documentation for user-facing changes
- Code style matches existing patterns (
ruff check .)
Never:
- Hardcoded secrets or credentials
- Network requests in tests (unless mocked)
- Obfuscated code (base64, eval, exec)
We actively encourage kernel contributions—each new kernel exponentially increases Brainsmith's value by expanding the range of models it can compile. An automated kernel validation and feature tagging system is currently work-in-progress and will significantly simplify kernel contribution in a future release.
For now, kernel PRs require manual schema validation and feature compatibility review.
# Tests
pytest -m 'unit or integration' -v # Fast
pytest tests/ -v # Full suite
pytest --cov=brainsmith --cov-report=html
# Linting
ruff check .
# Docs
poetry install --with docs
mkdocs serveFound a vulnerability? Report through Microsoft Security Response Center, not public issues.
-
Questions: GitHub Discussions
-
Bugs: GitHub Issues
Microsoft Open Source Code of Conduct
Thank you for contributing!