Developer guide
Set up the repository
Use this path to build and run INXM Local from source.
Prerequisites
- Install a stable Rust toolchain with Cargo.
- Linux builds also require the native packages used by the CI workflow:
- GTK 3
- Ayatana AppIndicator
- OpenSSL
- XCB/XKB development libraries
Build and run
From the repository root, run the release build for normal use:
cargo run --release
Or, while developing, run the faster-to-build debug version:
cargo run
Use INXM_LOCAL_DATA_DIR to isolate local data from an existing installation; target/dev-data is relative to that directory:
INXM_LOCAL_DATA_DIR=target/dev-data cargo run
Note
cargo run starts INXM Local from your terminal, so it inherits that terminal's full environment, including credentials, and skips the shell-environment import. An app opened from the desktop gets only PATH and a fixed set of non-credential variables; see Tool environment for more details.
Run without a window
Start the local MCP server and scheduler with:
cargo run -- --headless
Start only the MCP endpoint with:
INXM_MCP_ONLY=1 cargo run
Repository map
| Area | Responsibility |
|---|---|
src/app |
Desktop UI, engine bridge, scheduler, local MCP server |
src/compiler |
LLM-backed plan compilation |
src/executor |
Dependency-aware step execution |
src/plan |
Plan data types and normalization |
src/repair |
Failure classification and repair patches |
src/storage |
Persistent plans, runs, schedules, and patches |
src/support |
Shared cross-cutting helpers |
src/telemetry |
Opt-in usage telemetry |
src/tools |
Tool catalog and subprocess, HTTP, and MCP adapters |
src/validator |
Plan and tool contract validation |
tests |
Integration and live specification tests |
What's next
- Explore the system architecture to see how the application pieces fit together.
- Run the test and validation workflow before changing the code.
- Read the contribution guide to prepare a focused change.