Thank you for your interest in contributing! This guide will help you get started.
# Clone the repository
git clone https://github.com/ifá-lang/ifa_lang.git
cd ifa_lang
# Build all crates
cargo build --workspace
# Run tests
cargo test --workspace
# Build CLI
cargo build -p ifa-cli --release
crates/
+-- ifa-core/ # Core runtime (VM, parser, interpreter)
+-- ifa-std/ # Standard library (16 domains + stacks + infra)
+-- ifa-cli/ # Command-line interface
+-- ifa-babalawo/ # Linter and LSP
+-- ifa-sandbox/ # WASM sandbox
+-- ifa-wasm/ # Browser bindings
+-- ifa-embedded/ # no_std runtime
+-- ifa-macros/ # Procedural macros
+-- ifa-installer-*/ # Installer components
+-- ifa-types/ # Shared type definitions
git checkout -b feature/your-feature-name
# Run tests frequently
cargo test -p ifa-core
# Check formatting
cargo fmt --check
# Run clippy
cargo clippy --workspace
cargo fmt)unsafe unless absolutely necessary# Build WASM
cd crates/ifa-wasm
wasm-pack build --target web --out-dir ../../../../../../../docs/pkg
# Serve docs locally
cd docs
python -m http.server 8000
# Open http://localhost:8000/playground.html