← Back to list
Models (
Systems (
Tests (

dojo-init
by dojoengine
The Dojo Book
⭐ 51🍴 94📅 Jan 22, 2026
SKILL.md
name: dojo-init description: Initialize new Dojo projects with proper directory structure, configuration files, and dependencies. Use when starting a new Dojo game project or setting up the initial project structure. allowed-tools: Read, Write, Bash, Glob
Dojo Project Initialization
Initialize new Dojo projects with the complete directory structure, configuration files, and dependencies.
When to Use This Skill
- "Create a new Dojo project"
- "Initialize a Dojo game called [name]"
- "Set up a new Dojo application"
- "Start a new provable game project"
What This Skill Does
Creates a complete Dojo project with:
Scarb.tomlwith Dojo dependenciesdojo_dev.tomlfor local development- Source directory structure
- Example models and systems
- Test files
Quick Start
Using 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"
Project Structure
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
Configuration Files
Scarb.toml
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"]
dojo_dev.toml
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"]
Starter Template Contents
The starter template includes:
Models (src/models.cairo)
Positionmodel with player key and Vec2 coordinatesMovesmodel tracking remaining moves and directionDirectionenum
Systems (src/systems/actions.cairo)
spawnfunction to initialize player statemovefunction to update player position- Example event emission
Tests (src/tests/test_world.cairo)
- Test world setup with
spawn_test_world - Integration tests for spawn and move
Development Workflow
-
Initialize 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
Customization
After initialization, customize your project:
- Add models: Create new model structs in
src/models.cairoor separate files - Add systems: Create new contract modules in
src/systems/ - Update permissions: Edit
[writers]indojo_dev.toml - Add dependencies: Edit
[dependencies]inScarb.toml
Next Steps
After initialization:
- Use
dojo-modelskill to add game state models - Use
dojo-systemskill to implement game logic - Use
dojo-testskill to write tests - Use
dojo-deployskill to deploy your world
Related Skills
- dojo-model: Add models to your project
- dojo-system: Add systems to your project
- dojo-config: Modify configuration
- dojo-deploy: Deploy your project
Score
Total Score
70/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
✓フォーク
10回以上フォークされている
+5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon
