From book
Initializes new Dojo projects with directory structure, Scarb.toml, dojo_dev.toml configs, models, systems, and tests. Use when starting provable game projects.
How this skill is triggered — by the user, by Claude, or both
Slash command
/book:dojo-initThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Initialize new Dojo projects with the complete directory structure, configuration files, and dependencies.
Initialize new Dojo projects with the complete directory structure, configuration files, and dependencies.
Creates a complete Dojo project with:
Scarb.toml with Dojo dependenciesdojo_dev.toml for local developmentUsing sozo init:
sozo init my-game
This creates a new Dojo project from the dojo-starter template.
Interactive mode:
"Create a new Dojo project called my-game"
After initialization:
my-game/
├── Scarb.toml # Package manifest and dependencies
├── dojo_dev.toml # Local development profile
├── dojo_release.toml # Production deployment profile
└── src/
├── lib.cairo # Module exports
├── models.cairo # Game state models
├── systems/
│ └── actions.cairo # Game logic systems
└── tests/
└── test_world.cairo # Integration tests
Package manifest with Dojo dependencies:
[package]
cairo-version = "2.12.2"
name = "my_game"
version = "1.0.0"
edition = "2024_07"
[[target.starknet-contract]]
sierra = true
build-external-contracts = ["dojo::world::world_contract::world"]
[dependencies]
starknet = "2.12.2"
dojo = "1.7.1"
[dev-dependencies]
cairo_test = "2.12.2"
dojo_cairo_test = "1.7.1"
[tool.scarb]
allow-prebuilt-plugins = ["dojo_cairo_macros"]
Local development configuration:
[world]
name = "My Game"
seed = "my_game"
[env]
rpc_url = "http://localhost:5050/"
account_address = "0x127fd..."
private_key = "0xc5b2f..."
[namespace]
default = "my_game"
[writers]
"my_game" = ["my_game-actions"]
The starter template includes:
src/models.cairo)Position model with player key and Vec2 coordinatesMoves model tracking remaining moves and directionDirection enumsrc/systems/actions.cairo)spawn function to initialize player statemove function to update player positionsrc/tests/test_world.cairo)spawn_test_worldInitialize project:
sozo init my-game
cd my-game
Start Katana:
katana --dev --dev.no-fee
Build and deploy:
sozo build && sozo migrate
Test your system:
sozo execute my_game-actions spawn
Run tests:
sozo test
After initialization, customize your project:
src/models.cairo or separate filessrc/systems/[writers] in dojo_dev.toml[dependencies] in Scarb.tomlAfter initialization:
dojo-model skill to add game state modelsdojo-system skill to implement game logicdojo-test skill to write testsdojo-deploy skill to deploy your worldnpx claudepluginhub dojoengine/bookConfigures Scarb.toml, Dojo profiles, world settings, and dependencies for Dojo projects. Use for project setup, dependency management, and deployment environment configuration.
Scaffolds boilerplate for APIs (FastAPI, Express), web apps (Next.js, Nuxt, SvelteKit), CLI tools, libraries, monorepos with best-practice stacks and directory structures.
Autonomously generates complete production-ready projects from descriptions: structure, code, tests, docs, config, git. Orchestrates pipeline with verification to ensure builds and tests pass.