Development Setup¶
Set up your development environment for contributing to sigc.
Prerequisites¶
Required¶
- Rust (latest stable): Install Rust
- Git: Version control
- Python 3.8+: For pysigc development
Recommended¶
- VSCode with rust-analyzer
- Docker: For testing in containers
Clone the Repository¶
Build¶
Debug Build¶
Release Build¶
Build All Crates¶
Run Tests¶
All Tests¶
Specific Crate¶
Integration Tests¶
Code Quality¶
Linting¶
Formatting¶
Type Checking¶
Project Structure¶
Text Only
sigc/
├── crates/
│ ├── sigc/ # Main CLI
│ ├── sig_parser/ # DSL parser
│ ├── sig_runtime/ # Execution engine
│ └── sig_types/ # Type definitions
├── pysigc/ # Python bindings
├── docs/ # Legacy documentation
├── documentation/ # New MkDocs documentation
├── strategies/ # Example strategies
└── tests/ # Integration tests
Development Workflow¶
1. Create Branch¶
2. Make Changes¶
Edit code, add tests.
3. Test Locally¶
4. Commit¶
5. Push¶
6. Open PR¶
Go to GitHub and create a Pull Request.
Python Development¶
Set Up Python Environment¶
Bash
cd pysigc
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install development dependencies
pip install -e ".[dev]"
Build Python Bindings¶
Test Python¶
Documentation Development¶
Set Up MkDocs¶
Preview Locally¶
Build¶
IDE Setup¶
VSCode¶
Install extensions: - rust-analyzer - Even Better TOML - CodeLLDB (for debugging)
Settings (.vscode/settings.json):
IntelliJ/CLion¶
Install the Rust plugin.