Development Guide
This guide is for developers who want to contribute to Capsa. If you're looking to use Capsa in your own project, see Getting Started.
Setting Up the Development Environment
Capsa uses Nix with devenv for development. This ensures all contributors have identical toolchains and dependencies.
Installing Nix
We recommend Determinate Nix for the best installation experience:
bash
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- installAlternatively, use the official installer:
bash
curl -L https://nixos.org/nix/install | shEntering the Development Shell
bash
cd capsa
nix developOr if you have direnv installed, the environment loads automatically when you enter the directory.
This provides:
- Rust toolchain with appropriate targets
- Platform-specific tooling (
codesign-runon macOS) - Test VM builders
Feature Flags
| Feature | Description |
|---|---|
test-utils | Provides test VM helpers for integration testing |
Quick Reference
- Testing, Benchmarking, and Fuzzing - Running tests, benchmarks, fuzz targets, and building test VMs
- Architecture - Crate structure and platform internals
- Contributing - Code style and PR guidelines
- Logging - Logging and diagnostics guidelines