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

Edit this page