Getting Started with Darnit Development
May 13, 2026 · View on GitHub
Welcome to the darnit contributor documentation. Choose your path below based on what you want to work on.
Choose Your Path
I want to use darnit with Claude Code
Use skills for guided compliance workflows — no need to call individual tools.
- Using Skills — Install, usage examples, profiles, multi-module support
I want to work on the framework
The core darnit framework — plugin system, sieve pipeline, configuration, MCP server.
- Environment Setup — Prerequisites, fork, clone, install
- Framework Development — Architecture, separation rules, sieve pipeline (with diagrams)
- Testing Guide — Running and writing tests
- Development Workflow — Pre-commit checklist, branching, PRs
I want to create or modify an implementation
Compliance framework plugins — TOML controls, CEL expressions, remediation, custom handlers.
- Environment Setup — Prerequisites, fork, clone, install
- Implementation Development — TOML controls, pass types, handlers, entry points
- CEL Reference — CEL expression syntax and common pitfalls
- Testing Guide — Running and writing tests
- Development Workflow — Pre-commit checklist, branching, PRs
Tutorials (complete copy-paste walkthroughs):
- Add a New Control — Add a control to the OpenSSF Baseline
- Create a New Implementation — Build a plugin from scratch
I want to assemble an org-specific posture from existing implementations
Composition — TOML-only mix of slices from already-installed implementations ("OpenSSF Baseline L1+L2 + three named SLSA controls + our internal controls"). No Python composition code; upstream sources stay upgrade-current.
- Environment Setup — Prerequisites, fork, clone, install
- Composition Quickstart — End-to-end walkthrough for an
acme-baselinecomposite - TOML schema contract —
[[compose]],[overrides."ID"],allow_conflictssemantics - Implementation Guide §12 — When to compose vs fork, conflict-resolution escape hatches, provenance contract
Quick Reference
| Guide | What it covers |
|---|---|
| Environment Setup | Prerequisites, fork/clone, install, verify |
| Framework Development | Package structure, separation rules, sieve pipeline, Mermaid diagrams |
| Implementation Development | TOML controls, pass types, handlers, entry points, MCP tools |
| CEL Reference | CEL syntax, context variables, escaping rules, pitfalls |
| Testing Guide | Running tests, test structure, writing new tests |
| Development Workflow | Pre-commit checklist, branching, commits, PRs |
| Troubleshooting | Common issues and solutions |
Having Issues?
Check the Troubleshooting Guide first. If that doesn't help, open an issue.