| name | dojo-contributing |
| description | Contributor workflow for dojoengine/dojo. Use when implementing or reviewing changes in this repository, especially Rust workspace edits, Cairo fixture refreshes, and CI-parity formatting/lint/test checks. |
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 status and 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.