Prerequisites
Required Tools
Install uv
Install uv, the fast Python package installer and resolver:
Platform-Specific Notes
- Linux (Wayland)
- Windows
Current PyPI raylib wheels are X11-oriented on x86_64, so you may need:See electronstudio/raylib-python-cffi#199 for details.
Development Tools
The project uses several specialized tools. They’re all installed via uv:Core Development Tools
| Tool | Purpose | Installed By |
|---|---|---|
| pytest | Test runner with coverage | dependency-groups.dev |
| ruff | Fast Python linter | Runtime (via CLI) |
| ty | Type checker | dependency-groups.dev |
ast-grep (sg) | Structural code search | External (install separately) |
| prek | Pre-commit hook manager | External (install separately) |
| import-linter | Import contract enforcer | dependency-groups.dev |
| just | Command runner | External (install separately) |
Install External Tools
- ast-grep
- prek (pre-commit hooks)
- just
Runtime Configuration
Runtime Files Location
By default, saves, config, logs, and replays live in your per-user data directory. To keep everything local to the checkout:.bashrc, .zshrc, etc.) to make it permanent.
Assets
The rewrite can load assets from original PAQ archives. Point to them if needed:Verify Installation
Run the full verification suite:ruff check .- Lintinglint-imports- Import contract validationty check src tests- Type checkingscripts/check_docs.py- Documentation validationsg scan- ast-grep code scanningsg test- ast-grep rule testspytest- Full test suitejust check-zig- Zig build and tests (if applicable)
The first run will download dependencies and may take a few minutes.
Quick Test Run
Verify the game runs:Editor Setup
Recommended VS Code Extensions
- Python (ms-python.python)
- Ruff (charliermarsh.ruff)
- ast-grep (ast-grep.ast-grep-vscode)
Type Checking Integration
The project usesty (a fast type checker). Configure your editor to use it:
Next Steps
Development Workflow
Learn the contribution workflow
Testing Guide
Run and write tests
Parity Workflow
Understand the parity-first approach
Development Tooling
Explore analysis and utility scripts