Skip to main content

Requirements

  • Python 3.10 or later (3.11+ recommended)
  • pip
CruciHiL is a pure-Python package with no C extensions in the base install. The [analyze] extra adds tree-sitter for C/C++ parsing.

Base install

pip install crucihil
The base package includes:
  • crucihil run — test runner
  • crucihil init — interactive rig setup wizard
  • crucihil discover — AI-assisted rig TOML generation
  • crucihil agent — local agent daemon
  • crucihil scaffold — test project scaffolding
  • crucihil stub — Python stub generation
  • Virtual backends (CAN, SOME/IP, DoIP, Power, GPIO)
  • YAML manifest loader and validator
  • JUnit XML and HTML reporters
  • MCP server (all 14 tools)

Optional extras

ExtraInstall commandWhat it adds
analyzepip install 'crucihil[analyze]'crucihil analyze, analyze_component MCP tool — tree-sitter C/C++ parser
socketcanpip install 'crucihil[socketcan]'SocketCAN backend for Linux CAN interfaces
peakpip install 'crucihil[peak]'PEAK PCAN adapter backend (Windows/Linux)
serverpip install 'crucihil[server]'FastAPI control plane + PostgreSQL
allpip install 'crucihil[all]'Everything above

Install with SWC analysis

pip install 'crucihil[analyze]'
This adds:
  • tree-sitter — incremental C/C++ parser
  • tree-sitter-c — C grammar
  • tree-sitter-cpp — C++ grammar
These are required by crucihil analyze and the analyze_component MCP tool. The base package will not import or reference them.

Install with SocketCAN support (Linux)

pip install 'crucihil[socketcan]'
Required to use backend = "socketcan" in rig TOML on Linux. Uses python-can’s socketcan interface.

Install everything

pip install 'crucihil[all]'

From source

git clone https://github.com/crucihil/crucihil.git
cd crucihil
pip install -e '.[analyze]'
Verify:
crucihil version
python -m venv .venv
source .venv/bin/activate          # Linux/macOS
# or: .venv\Scripts\activate.bat   # Windows

pip install crucihil

Upgrading

pip install --upgrade crucihil
# or with extras:
pip install --upgrade 'crucihil[analyze]'

Verifying the install

# Check version
crucihil version

# Run a self-contained smoke test (no hardware needed)
crucihil scaffold --example hello_world --output-dir /tmp/crucihil-smoke
cd /tmp/crucihil-smoke
crucihil run --suite suites/hello_world.yaml --rig rigs/virtual.toml
All tests should pass against the virtual backend.

Platform notes

PlatformNotes
LinuxFull support. SocketCAN backend works natively.
macOSFull support for virtual backend. SocketCAN requires a USB adapter with a macOS driver.
WindowsFull support for virtual and PEAK backends. SocketCAN is not available.
The virtual backend works identically on all platforms — no OS-specific dependencies. Use it for CI and local development regardless of platform.