How enso-team/enso-cli works
Enso CLI links local commands to the Enso app’s bridge for vault and Canvas work, including targeting, discovery, context, editing, and layout. A separate local prompt runner manages canvas-bound sessions and can execute through fake or Claude providers. The graph emphasizes documented workflows and relationships visible in the supplied excerpts or README; several command implementations and integrations were not sampled, so uncertain connections are omitted.
Main entry points: client.ts Bridge client · commands Command handlers · layout.ts Layout command · engine.ts Session engine
Components 27
CLI workflows
- Command handlers
src/commands - Pairing
src/commands/auth.ts - Context and search
src/commands/context.ts - Vault operations
src/commands/vault.ts - Agent skill install
src/commands/skill.ts
Bridge access
- Bridge client
src/client.ts - Target binding
src/targeting.ts - App discovery
src/discovery.ts - Pairing config
src/config.ts
Canvas modeling
- Canvas commands
src/commands/canvas.ts - Layout command
src/commands/layout.ts - Node commands
src/commands/node.ts - Intent compiler
src/canvas-intent.ts - Canvas specification
src/canvas-spec.ts - Layout engine
src/layout.ts - Link model
src/link-model.ts - Mark model
src/mark-model.ts
Prompt runner
- Runner commands
src/commands/runner.ts - Runner service
src/runner/service.ts - Session engine
src/runner/engine.ts - Provider interface
src/runner/provider.ts - Claude provider
src/runner/claude.ts - Session storage
src/runner/storage.ts - Runner protocol
src/runner/protocol.ts - Local socket client
src/runner/client.ts
Other components
- User or agent
- Enso app bridge
Connections 31
- User or agent → Command handlers: runs commands
- Command handlers → Pairing: pairs app
src/index.ts - Command handlers → Canvas commands: runs canvas
src/index.ts - Command handlers → Context and search: requests context
src/index.ts - Command handlers → Layout command: runs layout
src/index.ts - Command handlers → Runner commands: runs runner
src/index.ts - Pairing → Bridge client: links through
src/commands/auth.ts - Pairing → Pairing config: stores pairing
src/commands/auth.ts - Context and search → Bridge client: requests data
src/commands/context.ts - Vault operations → Bridge client: requests vault
- Agent skill install → Command handlers: installs skill
- Bridge client → Target binding: resolves target
src/client.ts - Bridge client → App discovery: repairs pairing
src/client.ts - Bridge client → Pairing config: reads pairing
src/client.ts - Bridge client → Enso app bridge: sends requests
- Canvas commands → Bridge client: sends operations
src/commands/canvas.ts - Canvas commands → Intent compiler: compiles apply
src/commands/canvas.ts - Layout command → Bridge client: sends operations
src/commands/layout.ts - Layout command → Canvas specification: parses input
src/commands/layout.ts - Layout command → Layout engine: computes placement
src/commands/layout.ts - Node commands → Bridge client: sends operations
src/commands/node.ts - Layout engine → Intent compiler: creates intent
src/layout.ts - Intent compiler → Link model: validates links
src/canvas-intent.ts - Intent compiler → Mark model: validates marks
src/canvas-intent.ts - Runner commands → Runner service: starts service
src/commands/runner.ts - Runner commands → Local socket client: calls service
src/commands/runner.ts - Runner service → Session engine: routes requests
src/runner/service.ts - Session engine → Provider interface: executes prompts
src/runner/engine.ts - Session engine → Session storage: persists state
src/runner/engine.ts - Claude provider → Provider interface: implements provider
src/runner/claude.ts - Session engine → Runner protocol: validates requests
src/runner/engine.ts