Behind jackin❯ — crates

jackin

The jackin CLI — the operator-facing binary that loads roles into isolated containers, drives the console, and wires the workspace together. This crate is the L4 entry/glue layer: lib.rs re-exports the module tree consumed by main.rs, src/bin/role.rs, and integration tests; the crate is simultaneously a library and a binary.

What this crate owns

  • The CLI surface (cli) and top-level application wiring (app), error type (error), and preflight checks (preflight).
  • Console entry (console), launch/prompt flow (prompt), and the Warp integration (warp).
  • Role-authoring (role_authoring, role_claude_plugins) and workspace commands (workspace).

Architecture tier and allowed dependencies

L4 entry/glue crate. It depends on the whole stack — jackin-config, jackin-core, jackin-docker, jackin-manifest, jackin-diagnostics, jackin-env, jackin-image, jackin-runtime, jackin-tui, jackin-launch-tui, jackin-console, jackin-protocol, jackin-build-meta. Nothing depends on this crate; it is the top of the graph. Keep it thin — it assembles, it does not implement domain logic.

Structure

ModuleOwnsTests
lib.rslibrary re-exports
main.rsbinary entry
cli.rs · cli/CLI parsingtests.rs
app.rs · app/app wiringtests.rs
console.rsconsole entry
prompt.rs · prompt/prompt flowtests.rs
preflight.rs · preflight/preflight checkstests.rs
workspace.rs · workspace/workspace commandstests.rs
role_authoring.rs · role_authoring/role-authoring commandstests.rs
role_claude_plugins.rs · role_claude_plugins/role Claude-plugins commandstests.rs
warp.rsWarp integration
error.rstop-level error type
bin/extra binaries

Public API

The jackin binary (jackin, jackin load, jackin console, …) plus the library re-exports used by integration tests. New user-visible flags/commands land here (CLI-first), then optionally surface in the console.

How to verify

cargo nextest run -p jackin
cargo clippy -p jackin --all-targets -- -D warnings

On this page