원클릭으로
maintain-project
Project maintenance and development workflow for RoboCute
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Project maintenance and development workflow for RoboCute
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
C++ coding guidelines and best practices for RoboCute project
Resource importer patterns for RoboCute importer_plugin module
How to write a world resource class in RoboCute
How to write Python world interface classes in RoboCute
C++ coding guidelines and best practices for minor jobs
| name | maintain-project |
| description | Project maintenance and development workflow for RoboCute |
| triggers | [{"file_types":[".py",".cpp",".hpp",".h",".lua",".md"]},{"keywords":["build","compile","test","debug","deploy","clean"]}] |
This skill provides comprehensive guidance for maintaining and developing the RoboCute project.
RoboCute is a Python-first 3D AIGC/Robotics development tool with:
RoboCute/
├── rbc/ # C++ source code
│ ├── core/ # rbc_core.dll - Core data structures
│ ├── runtime/ # rbc_runtime.dll - Runtime features
│ ├── editor/ # Editor application
│ ├── ext_c/ # Python binding (pybind11)
│ ├── render_plugin/ # Rendering pipeline
│ ├── tests/ # C++ tests
│ └── shader/ # Shader code
├── src/ # Python source
│ ├── rbc_meta/ # Code generation metadata
│ ├── rbc_ext/ # C++ binding wrappers
│ └── robocute/ # Core Python package
├── custom_nodes/ # Custom node extensions
├── docs/ # Documentation
├── samples/ # Python samples
├── test/ # Python tests
├── thirdparty/ # C++ third-party libraries
└── xmake/ # Xmake build scripts
CRITICAL always remember to prepare and codegen beforehead, otherwise the compilation will fail.
# 1. Clone and enter the repository
git clone <repo-url>
cd RoboCute
# 2. Sync Python environment with dev extra
uv sync --extra dev # Development tools
# 3. Prepare Project dependencies
uv run prepare -y
# 4. Generate code from metadata
uv run gen
# Configure (first time only)
xmake f -m debug -c
# commonly used platform
xmake f -p windows -m debug --toolchain=clang-cl -c
# Or release mode:
xmake f -m release -c
# Build all targets
xmake
# Build specific target
xmake <target_name>
# Build with verbose output
xmake -v
# List all targets
xmake -l
# Build and install Python extension (release, no stub)
uv run pre-pack
# Debug mode with stub generation
uv run pre-pack debug uv
# Release mode with system stubgen
uv run pre-pack release
# Terminal 1: Start Python development server
uv run main.py
# Terminal 2: Run C++ editor
xmake run rbc-editor
# Run graphics test with backend
xmake run test_graphics_bin <backend> <asset_dir> <intermediate_dir>
# Example:
xmake run test_graphics_bin dx ./assets ./.rbc
# Run all Python tests
uv run pytest
# Run specific test file
uv run pytest test/test_specific.py
# Run with verbose output
uv run pytest -v
# Run specific test target
xmake run <test_target>
# Available test targets (examples)
xmake run test_core
xmake run test_graphics
xmake run test_world
RoboCute uses extensive code generation for serialization and Python bindings.
# Generate all code from metadata
uv run gen
# This generates:
# - Serialization code for C++ classes
# - Python binding code (pybind11)
# - Interface definitions
Important: Always run uv run gen after modifying:
src/rbc_meta/# Xmake
xmake project -k compile_commands
# This creates compile_commands.json for clangd/LSP
# Generate VS2022 solution
xmake project -k vsxmake2022
# Solution will be in vsxmake2022/ folder
CMakeLists.txt directly# Clean build artifacts
xmake clean
# Clean everything including config
xmake clean -a
# Then reconfigure
xmake f -m debug -c
# Update Python dependencies
uv sync
# Update C++ dependencies (re-download thirdparty)
uv run prepare -y
# Install resources after build
uv run install
# This copies shaders, default scenes, and render resources
# Configure for debug
xmake f -m debug -c
# Build
xmake
# Run with debugger
xmake run -d <target>
See docs/dev/profile/use_asan.md for ASan configuration.
.rbc/logs/.rbc/logs/log.db.rbc/logs/app_YYYY_MM_DD.log# Serve docs locally
mkdocs serve
# Open http://127.0.0.1:8000
# Manual deployment
mkdocs gh-deploy
# Or push to main branch (auto-deploy via GitHub Actions)
docs/
├── BUILD.md # Build instructions
├── design/ # Architecture & design docs
│ ├── Architecture.md
│ ├── Pipeline.md
│ └── editor/ # Editor design
├── dev/ # Developer guides
│ ├── Codebase.md
│ ├── EditorDev.md
│ └── codebase/ # Infrastructure docs
├── devlog/ # Development logs
├── tutorials/ # User tutorials
└── user-guide/ # User documentation
Problem: xmake fails with missing dependencies
# Solution: Re-run prepare
uv run prepare -y
Problem: Code generation errors
# Solution: Regenerate code
uv run gen
Problem: Python extension not found
# Solution: Rebuild and install
uv run pre-pack
Problem: Editor crashes on startup
uv run install.rbc/logs/Problem: Graphics tests fail
Problem: IntelliSense not working
# Regenerate compile commands
xmake project -k compile_commands
Problem: QtCreator can't find Qt
master: Stable release branchdev: Main development branchanim: Animation developmentdoc: Documentation updatesgh-pages: Documentation sitedevgit pulluv syncuv run genxmakeuv run pytest or xmake run <test>uv run pytestxmakexmake f -m release -c && xmake# Full clean build workflow
xmake clean -a
uv sync
uv run prepare -y
uv run gen
xmake f -m release -c
xmake
uv run pre-pack
# Quick test cycle
xmake && xmake run <target>
# Python development
uv run main.py # Start server
uv run pytest # Run tests
# Editor development
uv run main.py # Terminal 1
xmake run rbc-editor # Terminal 2