Skip to content

Latest commit

 

History

History
63 lines (44 loc) · 2.55 KB

interfaces.md

File metadata and controls

63 lines (44 loc) · 2.55 KB

Interfaces

Back to Codebase Guide

Gentle-AI exposes a CLI and TUI. It configures MCP for agents. It does not expose a local HTTP API in this repository.

Interface map

Interface Status in this repo Primary files Read for details
CLI Implemented cmd/gentle-ai/main.go, internal/app/, internal/cli/ Usage
TUI Implemented internal/tui/model.go, internal/tui/router.go, internal/tui/screens/ Usage
MCP Configured, not hosted by Gentle-AI internal/components/engram/, internal/components/mcp/ Engram Commands
Local HTTP API Not present in this source tree No dashboard/server package found Use external Engram docs if needed

CLI flow

argv
  -> app.Run
  -> cli.Parse*Flags
  -> Normalize*Flags
  -> planner.Resolve
  -> pipeline.Execute
  -> verify.Report

Use CLI packages for non-interactive behavior such as install, sync, uninstall, restore, update, and upgrade. internal/app/ also routes utility commands such as doctor, version, help, skill-registry refresh|list, sdd-status, and sdd-continue. Keep CLI docs focused on user workflows; do not replicate every internal struct.

MCP flow

Gentle-AI writes agent-specific MCP configuration so agents can call external servers. Engram configuration usually invokes:

engram mcp --tools=agent

OpenCode/Kilo Code use an array-style local MCP command in settings. Other agents use their adapter strategy: separate MCP files, merged settings, dedicated MCP config files, or TOML.

TUI flow

The TUI is a Bubbletea state machine:

TUI layer Job
Model Stores selected agents, components, cursor, async state, and screen-specific state.
Screen constants Define the visible flow.
router.go Defines simple previous/next navigation.
screens/ Renders individual screens.
async messages Report pipeline, sync, upgrade, update-check, uninstall, community tool, and plugin registration results.

Local HTTP API boundary

No local HTTP server, route table, HTMX package, or dashboard package is present in this repository. If a future change adds one, it should include:

  • A clearly named server package.
  • Route ownership documented here.
  • Authentication/session boundary documented in Dashboard.
  • Links from user docs without duplicating full endpoint schemas.

Navigation

Previous: Memory core | Next: Sync and cloud