Files
yaze/docs/internal/agents/archive/gemini-session-2025-11-23/gemini-build-setup.md

2.5 KiB

Gemini Pro 3 Build Setup Guide

Quick iteration setup for maximizing Gemini's effectiveness on YAZE.

One-Time Setup

# Use the dedicated Gemini build script (recommended)
./scripts/gemini_build.sh

# Or manually configure with the Gemini preset
cmake --preset mac-gemini

# Verify setup succeeded
ls build_gemini/compile_commands.json

Fast Rebuild Cycle (~30s-2min)

# Recommended: Use the build script
./scripts/gemini_build.sh              # Build yaze (default)
./scripts/gemini_build.sh yaze_test    # Build tests
./scripts/gemini_build.sh --fresh      # Clean reconfigure

# Or use cmake directly
cmake --build build_gemini -j8 --target yaze

# Rebuild editor library (for src/app/editor/ changes)
cmake --build build_gemini -j8 --target yaze_editor

# Rebuild zelda3 library (for src/zelda3/ changes)
cmake --build build_gemini -j8 --target yaze_lib

Quick Validation (~2-3min)

# Run stable tests (unit + integration, no ROM required)
ctest --test-dir build_gemini -L stable -j4 --output-on-failure

# Run GUI smoke tests only (~1min)
ctest --test-dir build_gemini -L gui --output-on-failure

# Run specific test by name
ctest --test-dir build_gemini -R "OverworldRegression" --output-on-failure

Full Validation (when confident)

# All tests
ctest --test-dir build_gemini --output-on-failure -j4

Format Check (before committing)

# Check format without modifying
cmake --build build_gemini --target format-check

# Auto-format all code
cmake --build build_gemini --target format

Key Directories

Path Purpose
src/app/editor/overworld/ Overworld editor modules (8 files)
src/zelda3/overworld/ Overworld data models
src/zelda3/dungeon/ Dungeon data models
src/app/editor/dungeon/ Dungeon editor components
test/unit/zelda3/ Unit tests for zelda3 logic
test/e2e/ GUI E2E tests

Iteration Strategy

  1. Make changes to target files
  2. Rebuild with cmake --build build_gemini -j8 --target yaze
  3. Test with ctest --test-dir build_gemini -L stable -j4
  4. Repeat until all tests pass

Common Issues

Build fails with "target not found"

# Reconfigure (CMakeLists.txt changed)
./scripts/gemini_build.sh --fresh
# Or: cmake --preset mac-gemini --fresh

Tests timeout

# Run with longer timeout
ctest --test-dir build_gemini -L stable --timeout 300

Need to see test output

ctest --test-dir build_gemini -L stable -V  # Verbose