Update DEVELOPMENT.md - #3236
Conversation
WalkthroughOhayo sensei! This update revises the development setup documentation to clarify its focus on Dojo development, restructures instructions for environment preparation and testing, and adds guidance for rebuilding test artifacts. The test artifact rebuild script is enhanced to ensure a consistent Katana binary is used during database generation, with error handling if Katana is missing. Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant Repo
participant Katana Binary
participant Test Runner
Developer->>Repo: Clone repository
Developer->>Repo: Change to repo directory
Developer->>Test Runner: Run tests via nextest
Test Runner->>Katana Binary: Use /tmp/katana for test DB generation
Note over Test Runner,Katana Binary: If /tmp/katana missing, copy from system katana
Test Runner->>Repo: Execute tests
Possibly related PRs
Suggested reviewers
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (8)
DEVELOPMENT.md (7)
3-4: Refine introductory phrasing for clarity
Ohayo sensei! The intro could benefit from a slight grammatical tweak—adding the article “the” and using more formal wording.- This guide outlines the steps for setting up a development environment for Dojo itself. + This guide outlines the steps for setting up the development environment for Dojo itself. - If you want to use Dojo to make things, follow the [Dojo Installation guide](https://book.dojoengine.org/installation) instead. + If you want to use Dojo to build applications, follow the [Dojo Installation Guide](https://book.dojoengine.org/installation) instead.🧰 Tools
🪛 LanguageTool
[uncategorized] ~3-~3: You might be missing the article “the” here.
Context: ...etting up a development environment for Dojo itself. If you want to use Dojo to make...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
15-15: Clarify Linux dependency note
Consider rephrasing the Linux distro note for brevity and consistency, e.g.:> Additional system packages may be required per Linux distribution.
22-24: Remove redundant in-block comment
The code block’s comment repeats the step heading. You can streamline by removing# Clone and enter the repoand relying on the numbered heading.- # Clone and enter the repo git clone https://github.com/dojoengine/dojo.git - cd dojo + cd dojo
29-31: Documentnextestinstallation
It’d help newcomers if we add how to installnextest. For example:cargo install cargo-nextest --version <latest_version>
60-60: Add missing comma and style upgrade
Recommend adding a comma and capitalizing “DB” for consistency:- If you modified the `dojo-core` or `dojo-lang` crates you must rebuild the db artifacts. + If you modified the `dojo-core` or `dojo-lang` crates, you must rebuild the DB artifacts.🧰 Tools
🪛 LanguageTool
[uncategorized] ~60-~60: A comma might be missing here.
Context: ...modified thedojo-coreordojo-langcrates you must rebuild the db artifacts. This...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
76-78: Make Katana clone instruction explicit
The in-script comment is generic. Specify the Katana repo to avoid confusion:- # Clone and enter the repo + # Clone the Katana repository and enter it
94-97: Polish release section language
For clarity, define “semver” and unify casing:- Propose a new release by manually triggering the `release-dispatch` github action. The version value can be an semver or a level: `[patch, minor, major]`. + Propose a new release by manually triggering the `release-dispatch` GitHub Action. The version may be a semantic version (e.g., `1.2.3`) or a bump level (`patch`, `minor`, `major`).🧰 Tools
🪛 LanguageTool
[misspelling] ~94-~94: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...github action. The version value can be an semver or a level: `[patch, minor, majo...(EN_A_VS_AN)
[uncategorized] ~96-~96: Possible missing comma found.
Context: ...low will create a PR with the versioned repo which will trigger the release flow and...(AI_HYDRA_LEO_MISSING_COMMA)
scripts/rebuild_test_artifacts.sh (1)
1-2: Enforce strict mode for reliability
Adding strict flags will cause the script to fail early on errors and undefined variables.+ set -euo pipefail
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (4)
crates/dojo/core-cairo-test/Scarb.lockis excluded by!**/*.lockexamples/simple/Scarb.lockis excluded by!**/*.lockexamples/spawn-and-move/Scarb.lockis excluded by!**/*.lockspawn-and-move-db.tar.gzis excluded by!**/*.gz
📒 Files selected for processing (2)
DEVELOPMENT.md(1 hunks)scripts/rebuild_test_artifacts.sh(1 hunks)
🧰 Additional context used
🪛 LanguageTool
DEVELOPMENT.md
[uncategorized] ~3-~3: You might be missing the article “the” here.
Context: ...etting up a development environment for Dojo itself. If you want to use Dojo to make...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~60-~60: A comma might be missing here.
Context: ...modified the dojo-core or dojo-lang crates you must rebuild the db artifacts. This...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: fmt
c50585c to
a26a93b
Compare
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
a26a93b to
cd839f5
Compare
kariy
left a comment
There was a problem hiding this comment.
Thanks for this. While you're at it, can you also mention that katana is also a dependency for running the tests.
| ```sh | ||
| # Clone and enter the repo | ||
| git clone https://github.com/dojoengine/katana.git | ||
| cd katana | ||
|
|
||
| # Build a new katana binary from source | ||
| cargo build --bin katana -r | ||
|
|
||
| # Copy the binary to the /tmp/ directory | ||
| cp target/release/katana /tmp/ |
There was a problem hiding this comment.
The rebuild_tests_artifacts script specifically look in /tmp/ for the binary. Idk if it works if it's only on the path. I'd be happy to re-work it to use any katana but I don't want to change conventions if folks like things the way they are.
There was a problem hiding this comment.
i don't think this should be affected ?
There was a problem hiding this comment.
I'm guessing it got bumped b/c of Dojo 1.5.1 in the spawn-and-move/Scarb.lock change. What do you think?
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (4)
DEVELOPMENT.md (4)
3-4: Clarify guide scope
Ohayo sensei, consider rephrasing “for Dojo itself” to something like “for developing the Dojo codebase” to make it crystal clear this isn’t the end-user installation guide.🧰 Tools
🪛 LanguageTool
[uncategorized] ~3-~3: You might be missing the article “the” here.
Context: ...etting up a development environment for Dojo itself. If you want to use Dojo to make...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
6-15: Enhance System prerequisites section
Ohayo sensei, the list is solid, but you might add a brief note on why the VS Code extension is recommended (e.g., Cairo syntax support) and emphasize that full install steps live in the Dojo Installation guide.
17-25: Streamline clone instructions
Ohayo sensei, the two-step clone andcd dojois clear, but you could combine them (git clone … && cd dojo) or drop the inline comment since the commands are self-explanatory.
58-63: Document rebuild prerequisites & fix punctuation
Ohayo sensei, add a comma after “crates” on line 60 (“crates, you must rebuild…”), and consider mentioning that you can setKATANA_RUNNER_BINto override which Katana binaryrebuild_test_artifacts.shuses.🧰 Tools
🪛 LanguageTool
[uncategorized] ~60-~60: A comma might be missing here.
Context: ...modified thedojo-coreordojo-langcrates you must rebuild the db artifacts. This...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
DEVELOPMENT.md(1 hunks)scripts/rebuild_test_artifacts.sh(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- scripts/rebuild_test_artifacts.sh
🧰 Additional context used
🪛 LanguageTool
DEVELOPMENT.md
[uncategorized] ~3-~3: You might be missing the article “the” here.
Context: ...etting up a development environment for Dojo itself. If you want to use Dojo to make...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~60-~60: A comma might be missing here.
Context: ...modified the dojo-core or dojo-lang crates you must rebuild the db artifacts. This...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: fmt
🔇 Additional comments (4)
DEVELOPMENT.md (4)
27-31: Clear test runner instructions
Ohayo sensei, the intro tonextestand the DB artifact note are concise and on point—this will help new contributors get up and running.
34-42: Approve test commands block
Ohayo sensei, the step-by-step extraction and test commands cover both workspace-wide and per-package runs perfectly.
66-85: Approve rebuild artifact commands
Ohayo sensei, the primary and fallback Katana build instructions are thorough and clear—contributors will know exactly how to rebuild the DB artifacts.
89-90: Approve Bun dependency note
Ohayo sensei, the reminder about Bun and the link to Katana’s README cover the final piece of the rebuild puzzle.
7d69719 to
5f0e166
Compare
glihm
left a comment
There was a problem hiding this comment.
Minor comments and let's go. Thank you @kronosapiens for the rewording there and adding the missing info for a flawless run. 👍
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
DEVELOPMENT.md (1)
59-64: Duplicate: PATH‐based Katana approachThis matches previous feedback to support a Katana binary in
$PATH. Good to see it applied.
🧹 Nitpick comments (3)
DEVELOPMENT.md (3)
14-17: Fix blank line inside blockquoteThe blockquote on Linux distro dependencies has an empty line (line 17), triggering MD028. Remove the blank or prefix it with
>to keep the quote contiguous.
23-23: Consider splitting clone and cd commandsChaining
git clone && cdis concise but can fail if clone errors. Splitting into two commands improves clarity and error visibility.
88-91: Tighten blockquote formattingIn line 88 there are two spaces before
`spawn-and-move`—reduce to a single space. Also ensure consistent>prefixes for multi-line notes.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
89-89: Blank line inside blockquote
null(MD028, no-blanks-blockquote)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
DEVELOPMENT.md(1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
DEVELOPMENT.md
89-89: Blank line inside blockquote
null
(MD028, no-blanks-blockquote)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: fmt
🔇 Additional comments (9)
DEVELOPMENT.md (9)
3-5: ohayo sensei – Clarify introduction split of dev vs usageThe new intro clearly separates Dojo development from end-user usage. Nice touch!
6-7: Approve heading rename for clarityRenaming “Prerequisites” to “System prerequisites” better scopes the section.
10-12: Approve addition of Katana and VS Code extensionListing Katana as a core dependency and providing an optional Cairo syntax highlighter improves onboarding.
18-18: Approve environment setup heading“## Setting up your environment” clearly scopes the next steps.
33-41: Approve test commands blockThe steps for preparing the DB artifact and running all or single‐package tests are clear and accurate.
43-50: Approve “Testing your changes” sectionLocal test instructions match CI workflow and reinforce best practices before PR submission.
52-58: Approve CI & devcontainer infoPointing to the workflow file and devcontainer details gives newcomers full context.
67-69: Approve rebuild script invocationInstructions to invoke
scripts/rebuild_test_artifacts.share well-positioned and clear.
73-84: Approve build-from-source instructionsThe step-by-step Katana build &
/tmpcopy is comprehensive.
fe3d91a to
2f6c34c
Compare
There was a problem hiding this comment.
Actionable comments posted: 0
♻️ Duplicate comments (1)
DEVELOPMENT.md (1)
26-31: Add installation step fornextest
We referencenextestwithout showing how to install it. Please include a prerequisite command such ascargo install cargo-nextestto ensure it's available.
🧹 Nitpick comments (5)
DEVELOPMENT.md (5)
6-12: System prerequisites expanded appropriately
The new heading and added dependencies (Katana via Dojo, optional VS Code Cairo extension) improve clarity. Consider specifying minimum supported versions for Rust, Cairo, and Katana to prevent environment mismatches.
56-57: Devcontainer link text slight mismatch
The link text.devcontainer.jsondiffers from the linked path.devcontainer/devcontainer.json. Consider renaming the link label to match.
64-69: Katana PATH usage clarified
Good explanation for using a PATH-installed Katana vs explicit/tmp/copy. It may help to note supported OS platforms for this step.
71-84: Build-from-source instructions are comprehensive
The Katana build steps are detailed. Optionally, mention selecting a stable tag or release branch instead of defaultmainto avoid unexpected changes.
88-90: Additional troubleshooting notes
The Bun dependency and Katana README link are useful. Ensure there are no blank lines inside the blockquote to satisfy markdown linting rules.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
89-89: Blank line inside blockquote
null(MD028, no-blanks-blockquote)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
DEVELOPMENT.md(1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
DEVELOPMENT.md
89-89: Blank line inside blockquote
null
(MD028, no-blanks-blockquote)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: fmt
🔇 Additional comments (6)
DEVELOPMENT.md (6)
3-4: Guide intro clarifies purpose
Ohayo sensei! The updated intro clearly distinguishes development setup from user installation.
14-16: Reference to Installation guide is helpful
Linking back to the Dojo Installation guide ensures users can find detailed install steps.
23-23: Combine clone andcdfor brevity
The one-linergit clone && cd dojois concise and on point.
33-40: Validate test DB script and commands
Ohayo sensei! Confirm thatscripts/extract_test_db.shandscripts/rebuild_test_artifacts.shexist and have executable permissions. Also verify that thecargo nextest runcommands succeed.
43-50: Local test commands match CI configuration
The added local test instructions mirror the CI workflow. Great alignment.
59-62: Rebuilding artifacts section is clear
The new section on rebuilding database artifacts is well structured.
* Fix broken getting started link in README (#3235) * chore(versions): add torii 1.5.6 * Update DEVELOPMENT.md (#3236) * Update DEVELOPMENT.md with new instructions * Update scripts/rebuild_test_artifacts.sh with Rabbit suggestion Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Respond to review comments * Respond to review comments II * Respond to review comments III --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: update rpc spec to 0.8 (#3179) * release(prepare): v1.6.0-alpha.0 (#3241) Prepare release: v1.6.0-alpha.0 Co-authored-by: glihm <glihm@users.noreply.github.com> * chore(versions): bump katana to 1.6.0-alpha.0 * fix(dojoup): remove new line in the source cmd (#3244) fix: fixed new line in the source cmd * chore: edited the build badge and its link (#3221) Co-authored-by: Ammar Arif <evergreenkary@gmail.com> * chore(devcontainer): update image: v1.6.0-alpha.0 (#3242) Update devcontainer image: v1.6.0-alpha.0 Co-authored-by: glihm <glihm@users.noreply.github.com> * chore: add katana 1.5.4 (#3245) * chore: add the missing backticks in the comments (#3243) Signed-off-by: one230six <723682061@qq.com> * fix(bindgen): use world namespace for imported models in TypeScript S… (#3249) * fix(bindgen): filter out Value models (#3248) * fix(bindgen): fix ts bytearray type mapping (#3247) * chore: update katana versions (#3253) add katana versions * sozo(unrealengine): handle UE5.6 and Dojo 1.5 (#3252) * fix(sozo): assert caller permission with match (#3254) * handle call_contract_syscall() result for better panic trace * avoid using 0 as caller address * remove temporarly the RPC version check. Currently, Katana uses the new RPC types, without bumping the spec version. To ensure we can still use sozo with sepolia/mainnet and Katana, Sozo will not check the RPC version for now * update test dbs --------- Co-authored-by: glihm <dev@glihm.net> * feat(sozo): create standalone bindgen command (#3246) * feat: create standalone bindgen command * cleanup unused inputs * remove dbg * add meaningful error if project is not built --------- Co-authored-by: glihm <dev@glihm.net> * feat(sozo): add MCP sever (#3256) * feat(sozo): add mvp for mcp server * refacto: restructure MCP server * evaluate changes using official rust sdk * feat(mcp): add stdio support * refacto with rmcp crate * wip * bump rmcp * add testing support * wip * refacto * cleanup * add instructions * add instructions * wip test * refacto tests * add debugging * ignore test with katana at the moment * fix typos and sozo path * refacto uri parsing * remove dbg * disable test that should be run with katana * fix test, windows fails because of new reqwest version * refactor(types): schema json sql value (#3257) * refactor(types): schema json sql value * remove excess comma * fix clippy --------- Co-authored-by: glihm <dev@glihm.net> * chore: bump cairo packages to 1.6.0-alpha.0 * fix(mcp): ensure test is using latest version * split scarb metadata ext in a different crate for dependencies * wip: controller issue * wip * wip: resolve conflicts and update deps * cleanup * lint * wip * wip tests * fix all tests * rebuild test db * fix: run linter * fix slot dep with github commit * fix clippy * fix inspect by adding missing json format * fix mcp formatting * fix stdio_test * use sozo from path --------- Signed-off-by: one230six <723682061@qq.com> Co-authored-by: Ritik <ritikverma0050@gmail.com> Co-authored-by: Daniel Kronovet <kronovet@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Ammar Arif <evergreenkary@gmail.com> Co-authored-by: Tarrence van As <tarrencev@users.noreply.github.com> Co-authored-by: glihm <glihm@users.noreply.github.com> Co-authored-by: Benjamin <158306087+bengineer42@users.noreply.github.com> Co-authored-by: braveocheretovych <braveocheretovych@gmail.com> Co-authored-by: one230six <163239332+one230six@users.noreply.github.com> Co-authored-by: Brother MartianGreed <valentin@pupucecorp.com> Co-authored-by: Corentin Cailleaud <corentin.cailleaud@caillef.com> Co-authored-by: Rémy Baranx <remy.baranx@gmail.com> Co-authored-by: Larko <59736843+Larkooo@users.noreply.github.com>
…3266) * feat: add external contract registering in the world (#3195) * Use the world as external contract reference and manage upgrades with sozo * update spawn-and-move with new external contract features * update test artifacts + world_address in dojo_dev.toml * export entrypoints + fix tests + remove TODO RBA * restore test_metadata_updated_event test * fix tests * rabbit improvements * fix test * feat: add proc macros (#3212) * WIP * add macros + core-tests crates + update them from 1.6.0 * update scripts/cairo_fmt.sh + fix fmt * update CI + Scarb.toml files * fix fmt * change from 2.11.2 to 2.11.4 * fix scarb issue + fmt * one testing library for each test runner (cairo, snfoundry) + update examples * fix fmt * update comment * chore: apply patches to sync exact same commits than scarb * fix(ci): update rust-toolchain version * fix(ci): bump clippy to use nightly compatible with 1.86 * fix: clippy and fmt * update spawn-and-move to use dojo-snf-test * update world address --------- Co-authored-by: glihm <dev@glihm.net> * Scarb crate removing (#3223) * introduce scarb_interop crate * handle missing scarb * introduce metadata instead of workspace to manage dojo related paths and config * add stats back and ensure profile is propagated until build not only metadata * cleanup and add error message if SCARB is not set correctly * add features + packages to build command * update scarb build/test command * refactor packages/features * fix utils.rs + enable auth command * fix rust fmt * re-enable sozo commands * re-enable the last sozo commands + new version command * fix issue with conflicts_with_all * check if manifest_path does not exist * set run() functions as async instead of using tokio * update init command management * refactor metadata loading + dead code cleaning * add build_simple_dev() function to be used to easily build spawn-and-move for tests/benches * update tests + fmt + clippy * remove dojo/lang * remove useless sozo files * tiny change * fix CI * use scarb nightly in CI * fix manifest_path/manifest_dir issue * fix fmt * update snfoundry version + update tests accordingly + add cairo-profiler to .tool-versions --------- Co-authored-by: glihm <dev@glihm.net> * feat: add DojoStore trait to handle storage serialization (#3219) * add DojoStore management * fix rust fmt after abigen * fix ModelReader * fix fmt * set DojoStore functions as inline(always) * update test artifacts * fix fmt * remove dojo-core test from CI as all tests are now in core-tests * feat: add block number for external contract events (#3224) * add block_number to ExternalContractRegistered/ExternalContractUpgraded events * remove useless println * restore external_contracts tests + update with block_number * update test artifacts * fix clippy * rework: handle block_number * fix world.dns for external contract + update tests * update sozo events with missing events * add a self-managed external contract called from spawn-and-move * update manifest_dev.json * use dns_address * fix fmt + abigen * update test artifacts * fix fmt * update starkli path * update policies * rebuild test db * fix: restore resource order to avoid storage conflict (#3238) * Resource enum variant order should not change as it is used in the world storage * fix fmt * fix world address and test db * fix fmt --------- Co-authored-by: glihm <dev@glihm.net> * fix(lang): remove warning with unit type (#3255) fix warning with unit type for enumerations serialization generated code. * dev: merge main in dev 1.6.0 (#3263) * Fix broken getting started link in README (#3235) * chore(versions): add torii 1.5.6 * Update DEVELOPMENT.md (#3236) * Update DEVELOPMENT.md with new instructions * Update scripts/rebuild_test_artifacts.sh with Rabbit suggestion Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Respond to review comments * Respond to review comments II * Respond to review comments III --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * feat: update rpc spec to 0.8 (#3179) * release(prepare): v1.6.0-alpha.0 (#3241) Prepare release: v1.6.0-alpha.0 Co-authored-by: glihm <glihm@users.noreply.github.com> * chore(versions): bump katana to 1.6.0-alpha.0 * fix(dojoup): remove new line in the source cmd (#3244) fix: fixed new line in the source cmd * chore: edited the build badge and its link (#3221) Co-authored-by: Ammar Arif <evergreenkary@gmail.com> * chore(devcontainer): update image: v1.6.0-alpha.0 (#3242) Update devcontainer image: v1.6.0-alpha.0 Co-authored-by: glihm <glihm@users.noreply.github.com> * chore: add katana 1.5.4 (#3245) * chore: add the missing backticks in the comments (#3243) Signed-off-by: one230six <723682061@qq.com> * fix(bindgen): use world namespace for imported models in TypeScript S… (#3249) * fix(bindgen): filter out Value models (#3248) * fix(bindgen): fix ts bytearray type mapping (#3247) * chore: update katana versions (#3253) add katana versions * sozo(unrealengine): handle UE5.6 and Dojo 1.5 (#3252) * fix(sozo): assert caller permission with match (#3254) * handle call_contract_syscall() result for better panic trace * avoid using 0 as caller address * remove temporarly the RPC version check. Currently, Katana uses the new RPC types, without bumping the spec version. To ensure we can still use sozo with sepolia/mainnet and Katana, Sozo will not check the RPC version for now * update test dbs --------- Co-authored-by: glihm <dev@glihm.net> * feat(sozo): create standalone bindgen command (#3246) * feat: create standalone bindgen command * cleanup unused inputs * remove dbg * add meaningful error if project is not built --------- Co-authored-by: glihm <dev@glihm.net> * feat(sozo): add MCP sever (#3256) * feat(sozo): add mvp for mcp server * refacto: restructure MCP server * evaluate changes using official rust sdk * feat(mcp): add stdio support * refacto with rmcp crate * wip * bump rmcp * add testing support * wip * refacto * cleanup * add instructions * add instructions * wip test * refacto tests * add debugging * ignore test with katana at the moment * fix typos and sozo path * refacto uri parsing * remove dbg * disable test that should be run with katana * fix test, windows fails because of new reqwest version * refactor(types): schema json sql value (#3257) * refactor(types): schema json sql value * remove excess comma * fix clippy --------- Co-authored-by: glihm <dev@glihm.net> * chore: bump cairo packages to 1.6.0-alpha.0 * fix(mcp): ensure test is using latest version * split scarb metadata ext in a different crate for dependencies * wip: controller issue * wip * wip: resolve conflicts and update deps * cleanup * lint * wip * wip tests * fix all tests * rebuild test db * fix: run linter * fix slot dep with github commit * fix clippy * fix inspect by adding missing json format * fix mcp formatting * fix stdio_test * use sozo from path --------- Signed-off-by: one230six <723682061@qq.com> Co-authored-by: Ritik <ritikverma0050@gmail.com> Co-authored-by: Daniel Kronovet <kronovet@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Ammar Arif <evergreenkary@gmail.com> Co-authored-by: Tarrence van As <tarrencev@users.noreply.github.com> Co-authored-by: glihm <glihm@users.noreply.github.com> Co-authored-by: Benjamin <158306087+bengineer42@users.noreply.github.com> Co-authored-by: braveocheretovych <braveocheretovych@gmail.com> Co-authored-by: one230six <163239332+one230six@users.noreply.github.com> Co-authored-by: Brother MartianGreed <valentin@pupucecorp.com> Co-authored-by: Corentin Cailleaud <corentin.cailleaud@caillef.com> Co-authored-by: Rémy Baranx <remy.baranx@gmail.com> Co-authored-by: Larko <59736843+Larkooo@users.noreply.github.com> * feat(core): use metaprogramming for tuple and fixed size array Introspect and DojoStore (#3260) * reuse Starkware metaprogramming stuff to manage tuples * fix fmt + clippy + artifacts * use metaprogramming to handle tuple introspect * fix fmt + clippy + artifacts * add fixed size array support * update dojo-world * update abigen + artifacts after rebase * add a sum_sizes function * update artifacts * tooling: add cairo-bench tool + bench tests (#3240) * add cairo-bench tool * add bench tests * first optimisation batch * fix fmt * add license info * update artifacts after rebase * fix cairo-bench tests * update artifacts * update artifacts * update scarb lock --------- Co-authored-by: glihm <dev@glihm.net> * fix(cairo-bench): use write and threshold + refactor fixed size array (#3267) * remove update-ref-test-list argument * add threshold parameter to cairo-bench (set to 3% by default) * max_fee_raw and fee_estimate_multiplier don't exist anymore * update sozo model commands for fixed size arrays * fix fmt + clippy * rename --update-ref to --write * fix some tests * fix fmt * fix(ci): update katana to 1.6.2 for compatible db --------- Signed-off-by: one230six <723682061@qq.com> Co-authored-by: Rémy Baranx <remy.baranx@gmail.com> Co-authored-by: Ritik <ritikverma0050@gmail.com> Co-authored-by: Daniel Kronovet <kronovet@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Ammar Arif <evergreenkary@gmail.com> Co-authored-by: Tarrence van As <tarrencev@users.noreply.github.com> Co-authored-by: glihm <glihm@users.noreply.github.com> Co-authored-by: Benjamin <158306087+bengineer42@users.noreply.github.com> Co-authored-by: braveocheretovych <braveocheretovych@gmail.com> Co-authored-by: one230six <163239332+one230six@users.noreply.github.com> Co-authored-by: Brother MartianGreed <valentin@pupucecorp.com> Co-authored-by: Corentin Cailleaud <corentin.cailleaud@caillef.com> Co-authored-by: Larko <59736843+Larkooo@users.noreply.github.com>
While setting up my Dojo development environment, I noticed that some of the instructions were inaccurate or out-of-date. I have done my best to improve the information, making it easier for new developers to contribute to Dojo.
I would appreciate someone double-checking my information and letting me know if I've overlooked anything.
Summary by CodeRabbit
Documentation
Chores