Getting Started with Darnit
March 22, 2026 · View on GitHub
Welcome to darnit! This guide helps you start contributing to the project.
Darnit is a pluggable compliance audit framework. It provides infrastructure for running compliance audits, generating attestations, and automating remediation. The project uses a plugin architecture that separates the core framework from compliance implementations.
Prerequisites
- Python 3.11+
- uv (dependency management)
- Git
- GitHub CLI (
gh)
Quick Setup
# 1. Fork the repo on GitHub, then clone your fork
git clone https://github.com/YOUR-USERNAME/darnit.git
cd darnit
# 2. Add upstream remote
git remote add upstream https://github.com/kusari-oss/darnit.git
# 3. Install all dependencies
uv sync
# 4. Authenticate GitHub CLI
gh auth login
# 5. Verify everything works
uv run pytest tests/ --ignore=tests/integration/ -q
Full setup details: Environment Setup
Choose Your Path
I want to work on the framework
The core plugin system, sieve pipeline, configuration, and MCP server.
- Framework Development — Architecture, separation rules, diagrams
- Testing Guide — Running and writing tests
- Development Workflow — Pre-commit checklist, PRs
I want to create or modify an implementation
Compliance framework plugins — TOML controls, CEL expressions, remediation.
- Implementation Development — TOML controls, pass types, handlers
- CEL Reference — CEL syntax and pitfalls
- Tutorial: Add a New Control — Step-by-step walkthrough
- Tutorial: Create a New Implementation — Build a plugin from scratch
All Guides
See the full getting started index for a complete list of guides.
Troubleshooting
Having issues? Check the Troubleshooting Guide.
Contributing Policy
See CONTRIBUTING.md for our Code of Conduct and contribution policy.