cmd/ |
Entry points (main.go via pli: phi run, phi update, phi sessions, …) |
ext/ |
Public API for yaegi extensions (API, events, ToolDef) |
internal/util/update/ |
Self-update check + GitHub Releases install |
internal/agent/ |
Agent engine, executor, jobs |
internal/agent/prompt/ |
System prompt templates + Skills/MCP catalogs |
internal/components/ |
TUI widgets (chat, input, palette, mention, …) |
internal/llm/ |
LLM clients (OpenAI-compatible + Anthropic), streaming, skills |
internal/project/ |
Workspace layout and config |
internal/session/ |
Session persistence, load/apply |
internal/job/ |
Sub-agent job manager (spawn/wait/cancel) |
internal/tools/ |
Agent tools (*tool packages + tooldef) |
internal/toolmanager/ |
External tool discovery/download |
internal/tui/editor/ |
TUI root widget (Editor), layout, dispatch, branch watch |
internal/tui/transcript/ |
Session→widget projection (Mapper, Pane) |
internal/tui/composer/ |
Chat input, slash/@ pickers, palette |
internal/tui/footer/ |
Activity spinner, token labels, update hint |
internal/tui/overlays/ |
Permission / continue-ask panels |
internal/tui/submit/ |
Submit, cancel, slash dispatch, bash runner |
internal/tui/commands/ |
Slash/palette registry, session/extension commands |
internal/tui/pathutil/ |
Cwd + git branch path labels |
internal/tui/controller/ |
Engine lifecycle, Bus/Msg, activity |
internal/version/ |
Build-time Version (splash / phi update) |
internal/util/ |
Shared helpers (diff, retry, SSE, file search, …) |
internal/permission/ |
Permission policy and ask gate |
internal/extension/ |
Yaegi extension discover/load/runner |
internal/mcp/ |
MCP config + stdio client + pool (meta-tool route) |