Dojo Contributing
Use this skill to make scoped changes in dojoengine/dojo and validate them with repository-standard commands.
Core Workflow
- •Identify affected crates and binaries from
git statusand touched files. - •Prepare local test databases:
- •
bash scripts/extract_test_db.sh
- •
- •If Cairo examples, policies, or core behavior changed, refresh artifacts:
- •
POLICIES_FIX=1 cargo nextest run --all-features --build-jobs 20 --workspace --nocapture policies - •
bash scripts/rebuild_test_artifacts.sh
- •
- •Run baseline validation:
- •
cargo build --workspace - •
cargo nextest run --all-features --build-jobs 20 --workspace
- •
- •If Katana behavior is involved, test with a local Katana binary:
- •
cargo build -r --bin katana - •
KATANA_RUNNER_BIN=./target/release/katana cargo nextest run --all-features --build-jobs 20 --workspace
- •
- •Run style and lint checks:
- •
bash scripts/rust_fmt.sh --fix - •
bash scripts/clippy.sh
- •
PR Checklist
- •Keep the diff focused to the requested behavior.
- •Include fixture/artifact updates when Cairo-driven behavior changes.
- •Record exact validation commands and outcomes in the PR body.