Back to list
dojoengine

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.toml with Dojo dependencies
  • dojo_dev.toml for 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)

  • Position model with player key and Vec2 coordinates
  • Moves model tracking remaining moves and direction
  • Direction enum

Systems (src/systems/actions.cairo)

  • spawn function to initialize player state
  • move function 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

  1. Initialize project:

    sozo init my-game
    cd my-game
    
  2. Start Katana:

    katana --dev --dev.no-fee
    
  3. Build and deploy:

    sozo build && sozo migrate
    
  4. Test your system:

    sozo execute my_game-actions spawn
    
  5. Run tests:

    sozo test
    

Customization

After initialization, customize your project:

  1. Add models: Create new model structs in src/models.cairo or separate files
  2. Add systems: Create new contract modules in src/systems/
  3. Update permissions: Edit [writers] in dojo_dev.toml
  4. Add dependencies: Edit [dependencies] in Scarb.toml

Next Steps

After initialization:

  1. Use dojo-model skill to add game state models
  2. Use dojo-system skill to implement game logic
  3. Use dojo-test skill to write tests
  4. Use dojo-deploy skill to deploy your world
  • 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