Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
evva
command
|
|
|
examples
|
|
|
minimal-host
command
Minimal-host is a small program showing how to embed evva's agent runtime in a downstream Go app:
|
Minimal-host is a small program showing how to embed evva's agent runtime in a downstream Go app: |
|
internal
|
|
|
agent
Package profiles supplies preset agent.Profile constructors.
|
Package profiles supplies preset agent.Profile constructors. |
|
agent/attachments
Package attachments computes per-turn <system-reminder>-wrapped messages the agent loop prepends to the user's incoming prompts.
|
Package attachments computes per-turn <system-reminder>-wrapped messages the agent loop prepends to the user's incoming prompts. |
|
agent/loader
Package loader reads user-authored agent definitions from <EVVA_HOME>/agents/{name}/ at startup and turns them into sysprompt.AgentDefinition values the agent.Registry can merge with Go-defined built-ins (sysprompt.MainAgent, ExploreAgent, GeneralAgent).
|
Package loader reads user-authored agent definitions from <EVVA_HOME>/agents/{name}/ at startup and turns them into sysprompt.AgentDefinition values the agent.Registry can merge with Go-defined built-ins (sysprompt.MainAgent, ExploreAgent, GeneralAgent). |
|
agent/sysprompt
Package sysprompt builds the system prompt for each kind of agent evva runs.
|
Package sysprompt builds the system prompt for each kind of agent evva runs. |
|
checkpoint
Package checkpoint implements evva's per-turn "checkpoint & rewind" store: before each user turn the runtime records a checkpoint, and the first time a turn's fs tools (edit/write) mutate a file, that file's pre-mutation bytes are captured.
|
Package checkpoint implements evva's per-turn "checkpoint & rewind" store: before each user turn the runtime records a checkpoint, and the first time a turn's fs tools (edit/write) mutate a file, that file's pre-mutation bytes are captured. |
|
memdir
Package memdir loads the on-disk memory that seeds the agent's system prompt at session start, and provides the read primitives for evva's typed-memory directory:
|
Package memdir loads the on-disk memory that seeds the agent's system prompt at session start, and provides the read primitives for evva's typed-memory directory: |
|
memdir/dream
Package dream is the background memory-consolidation ("dream") subsystem: a gated, fenced pass that merges, prunes, and re-indexes the global memory store.
|
Package dream is the background memory-consolidation ("dream") subsystem: a gated, fenced pass that merges, prunes, and re-indexes the global memory store. |
|
memdir/recall
Package recall finds the memory files relevant to a user query via a cheap LLM side-query, so only the few memories that matter get pulled into a turn (the rest stay on disk, surfaced on demand).
|
Package recall finds the memory files relevant to a user query via a cheap LLM side-query, so only the few memories that matter get pulled into a turn (the rest stay on disk, surfaced on demand). |
|
outputstyle
Package outputstyle implements output styles: thin, stackable prompt overlays that change how the active persona *talks* without redefining who it is.
|
Package outputstyle implements output styles: thin, stackable prompt overlays that change how the active persona *talks* without redefining who it is. |
|
question
Package question provides the back-channel between the AskUserQuestion tool (blocked agent goroutine) and the TUI (user interaction).
|
Package question provides the back-channel between the AskUserQuestion tool (blocked agent goroutine) and the TUI (user interaction). |
|
repomap
Package repomap composes a compact, ranked, token-bounded overview of a codebase's symbols from the LSP layer (pkg/tools/lsp), with a glob fallback when no language server is available.
|
Package repomap composes a compact, ranked, token-bounded overview of a codebase's symbols from the LSP layer (pkg/tools/lsp), with a glob fallback when no language server is available. |
|
session
Session storage on disk.
|
Session storage on disk. |
|
skills/bundled
Package bundled registers evva's first-party Markdown skills into a skill.Registry.
|
Package bundled registers evva's first-party Markdown skills into a skill.Registry. |
|
swarm
Package swarm is the per-space coordination core of Veronica, evva's in-process multi-agent swarm subsystem.
|
Package swarm is the per-space coordination core of Veronica, evva's in-process multi-agent swarm subsystem. |
|
swarm/agentdef
Package agentdef is the re-callable loader that turns one on-disk agent directory (agents/{main,sub}/{name}/: system_prompt.md, tools/active.yml, tools/deferr.yml, profile.yml, skills/*) into the public SDK objects needed to construct a live agent — a pkg/agent.AgentDefinition plus a *pkg/skill.Registry — using pkg/* only.
|
Package agentdef is the re-callable loader that turns one on-disk agent directory (agents/{main,sub}/{name}/: system_prompt.md, tools/active.yml, tools/deferr.yml, profile.yml, skills/*) into the public SDK objects needed to construct a live agent — a pkg/agent.AgentDefinition plus a *pkg/skill.Registry — using pkg/* only. |
|
swarm/bus
Package bus is the per-space message bus and mailboxes.
|
Package bus is the per-space message bus and mailboxes. |
|
swarm/doctor
Package doctor is the swarm preflight (DR): `evva swarm doctor` runs the whole register-and-run ladder — manifest → member definitions → models / efforts → provider keys → .vero state → (optionally) the live service — and reports ✓/⚠/✗ per probe, so the expensive mistakes that today explode deep inside a member's first run (a typo'd model pin, a missing API key, a ledger written by a newer binary) surface before anything registers.
|
Package doctor is the swarm preflight (DR): `evva swarm doctor` runs the whole register-and-run ladder — manifest → member definitions → models / efforts → provider keys → .vero state → (optionally) the live service — and reports ✓/⚠/✗ per probe, so the expensive mistakes that today explode deep inside a member's first run (a typo'd model pin, a missing API key, a ledger written by a newer binary) surface before anything registers. |
|
swarm/service
Package service is the process-singleton swarm host: the 127.0.0.1:8888 HTTP/WS server that fronts one or more isolated SwarmSpaces.
|
Package service is the process-singleton swarm host: the 127.0.0.1:8888 HTTP/WS server that fronts one or more isolated SwarmSpaces. |
|
swarm/store
Package store is the single per-space data layer: it opens <workdir>/.vero/vero.db (WAL + busy_timeout, foreign keys on), runs migrations, and exposes a sync.RWMutex-wrapped DAO for the task ledger and the message store.
|
Package store is the single per-space data layer: it opens <workdir>/.vero/vero.db (WAL + busy_timeout, foreign keys on), runs migrations, and exposes a sync.RWMutex-wrapped DAO for the task ledger and the message store. |
|
swarm/tools
Package tools holds Veronica's swarm-specific custom tools, written against pkg/tools.Tool and attached to agents via pkg/agent.WithCustomTool:
|
Package tools holds Veronica's swarm-specific custom tools, written against pkg/tools.Tool and attached to agents via pkg/agent.WithCustomTool: |
|
swarm/tui/app
Package app is the attach TUI (`evva swarm attach`): a Bubble Tea cockpit over one running space.
|
Package app is the attach TUI (`evva swarm attach`): a Bubble Tea cockpit over one running space. |
|
swarm/tui/client
Package client is the attach TUI's service client: thin authenticated REST calls for state snapshots and one WebSocket for the live feed + the interactive gate replies — exactly the surface the web console consumes (process model A: the service builds the agents, this client only reads state and POSTs intent).
|
Package client is the attach TUI's service client: thin authenticated REST calls for state snapshots and one WebSocket for the live feed + the interactive gate replies — exactly the surface the web console consumes (process model A: the service builds the agents, this client only reads state and POSTs intent). |
|
swarm/tui/reduce
Package reduce is the Go port of the web console's event reducers (web2/src/lib/events.ts) — the semantics that turn the swarm's wire events into renderable state.
|
Package reduce is the Go port of the web console's event reducers (web2/src/lib/events.ts) — the semantics that turn the swarm's wire events into renderable state. |
|
swarm/tui/wire
Package wire holds the attach TUI's wire-protocol types: the JSON shapes the swarm service pushes over its WebSocket and /chatlog replay, and the inbound command envelope the socket accepts.
|
Package wire holds the attach TUI's wire-protocol types: the JSON shapes the swarm service pushes over its WebSocket and /chatlog replay, and the inbound command envelope the socket accepts. |
|
swarm/webapi
Package webapi serves the swarm workstation API: REST snapshots (/api/swarms, /api/swarm/:id, /api/tasks, /api/agents/:name/transcript, /api/messages) and a WebSocket bridge that streams each agent's pkg/event.Event out to the browser, fanned out by (spaceID, AgentID).
|
Package webapi serves the swarm workstation API: REST snapshots (/api/swarms, /api/swarm/:id, /api/tasks, /api/agents/:name/transcript, /api/messages) and a WebSocket bridge that streams each agent's pkg/event.Event out to the browser, fanned out by (spaceID, AgentID). |
|
tools/config
Package configtool implements the `config` tool: a single model-facing handle on evva's runtime settings, mirroring what the interactive /config overlay exposes to the user.
|
Package configtool implements the `config` tool: a single model-facing handle on evva's runtime settings, mirroring what the interactive /config overlay exposes to the user. |
|
tools/meta
Package meta hosts agent-meta tools: Agent (spawn sub-agent), ToolSearch (load deferred-tool schemas), and ScheduleWakeup (self-pace /loop iterations).
|
Package meta hosts agent-meta tools: Agent (spawn sub-agent), ToolSearch (load deferred-tool schemas), and ScheduleWakeup (self-pace /loop iterations). |
|
tools/mode
Package mode hosts agent-mode and isolation tools: EnterPlanMode / ExitPlanMode (read-only planning) and EnterWorktree / ExitWorktree (filesystem-isolated worktrees).
|
Package mode hosts agent-mode and isolation tools: EnterPlanMode / ExitPlanMode (read-only planning) and EnterWorktree / ExitWorktree (filesystem-isolated worktrees). |
|
tools/ux
Package ux hosts user-interaction tools: AskUserQuestion, PushNotification.
|
Package ux hosts user-interaction tools: AskUserQuestion, PushNotification. |
|
toolset
Package toolset is the catalog of every tool the agent can construct.
|
Package toolset is the catalog of every tool the agent can construct. |
|
pkg
|
|
|
banner
Package banner exposes the evva splash banner.
|
Package banner exposes the evva splash banner. |
|
common/proc
Package proc is the single per-OS seam for spawning and managing child processes.
|
Package proc is the single per-OS seam for spawning and managing child processes. |
|
config
Package config carries the runtime configuration the evva agent and its bundled tools read at startup and during a session.
|
Package config carries the runtime configuration the evva agent and its bundled tools read at startup and during a session. |
|
event
Package event defines the event stream the agent emits while running.
|
Package event defines the event stream the agent emits while running. |
|
hooks
Package hooks implements evva's lifecycle extension system.
|
Package hooks implements evva's lifecycle extension system. |
|
llm/builtins
Package builtins registers evva's bundled LLM providers (Anthropic, DeepSeek, GLM, OpenAI, Ollama, Qwen) into pkg/llm.DefaultRegistry().
|
Package builtins registers evva's bundled LLM providers (Anthropic, DeepSeek, GLM, OpenAI, Ollama, Qwen) into pkg/llm.DefaultRegistry(). |
|
llm/glm
Package glm implements llm.Client for Zhipu AI / z.ai GLM models.
|
Package glm implements llm.Client for Zhipu AI / z.ai GLM models. |
|
llm/qwen
Package qwen implements llm.Client for Alibaba Cloud's Tongyi/Qwen models reached over the DashScope OpenAI-compatible endpoint.
|
Package qwen implements llm.Client for Alibaba Cloud's Tongyi/Qwen models reached over the DashScope OpenAI-compatible endpoint. |
|
mcp
Package mcp implements evva's Model Context Protocol client.
|
Package mcp implements evva's Model Context Protocol client. |
|
observable
Package observable is the framework primitive that lets backing stores (task list, subagent panel, future "notes" / "todos" / ...) publish state changes through a single uniform stream.
|
Package observable is the framework primitive that lets backing stores (task list, subagent panel, future "notes" / "todos" / ...) publish state changes through a single uniform stream. |
|
permission
Package permission implements evva's tool-permission system.
|
Package permission implements evva's tool-permission system. |
|
skill
Package skill implements user-installed Markdown skills and the SKILL tool that invokes them.
|
Package skill implements user-installed Markdown skills and the SKILL tool that invokes them. |
|
tools/alarm
Package alarm provides a one-shot, absolute-time wake scheduler and the alarm_create / alarm_list / alarm_cancel tools built on it.
|
Package alarm provides a one-shot, absolute-time wake scheduler and the alarm_create / alarm_list / alarm_cancel tools built on it. |
|
tools/cron
Package cron hosts the recurring-schedule prompt tools: cron_create, cron_list, cron_delete.
|
Package cron hosts the recurring-schedule prompt tools: cron_create, cron_list, cron_delete. |
|
tools/daemon
Package daemon is the unified abstraction over every long-running background unit the agent can spawn — bash run_in_background tasks, async subagents, monitor streams, and future kinds (remote_agent, in_process_teammate, local_workflow, dream).
|
Package daemon is the unified abstraction over every long-running background unit the agent can spawn — bash run_in_background tasks, async subagents, monitor streams, and future kinds (remote_agent, in_process_teammate, local_workflow, dream). |
|
tools/excel
Package excel provides Excel (.xlsx) file manipulation via the excelize library.
|
Package excel provides Excel (.xlsx) file manipulation via the excelize library. |
|
tools/fs
Package fs exposes filesystem tools (Read, Write, Edit) as stateless singletons.
|
Package fs exposes filesystem tools (Read, Write, Edit) as stateless singletons. |
|
tools/kits
Package kits exposes pre-composed tool-name lists a downstream consumer can hand to agent.NewProfile without re-typing the canonical evva tool selections from scratch.
|
Package kits exposes pre-composed tool-name lists a downstream consumer can hand to agent.NewProfile without re-typing the canonical evva tool selections from scratch. |
|
tools/lsp
Package lsp provides Language Server Protocol integration for evva.
|
Package lsp provides Language Server Protocol integration for evva. |
|
tools/lsp/protocol
Package protocol holds hand-written LSP protocol types covering the subset of the LSP 3.17 spec needed by evva's Phase 1 operations (definition, references, hover, document symbols) plus the lifecycle handshake.
|
Package protocol holds hand-written LSP protocol types covering the subset of the LSP 3.17 spec needed by evva's Phase 1 operations (definition, references, hover, document symbols) plus the lifecycle handshake. |
|
tools/monitor
Package monitor hosts the deferred Monitor tool — a background process watcher that streams stdout lines as agent-loop notifications.
|
Package monitor hosts the deferred Monitor tool — a background process watcher that streams stdout lines as agent-loop notifications. |
|
tools/notebook
Package notebook hosts the NotebookEdit tool.
|
Package notebook hosts the NotebookEdit tool. |
|
tools/repl
Package repl hosts the repl tool: a scratch REPL that runs a Python or JavaScript snippet in a fresh subprocess and returns its output.
|
Package repl hosts the repl tool: a scratch REPL that runs a Python or JavaScript snippet in a fresh subprocess and returns its output. |
|
tools/shell
Package shell hosts shell-side tools: Bash, Ls, Grep, Tree.
|
Package shell hosts shell-side tools: Bash, Ls, Grep, Tree. |
|
tools/structured
Package structured implements the structured_output tool: a per-run tool whose input schema IS a caller-supplied JSON schema, letting a headless host receive the agent's final answer as validated JSON instead of prose.
|
Package structured implements the structured_output tool: a per-run tool whose input schema IS a caller-supplied JSON schema, letting a headless host receive the agent's final answer as validated JSON instead of prose. |
|
tools/todo
Package todo exposes the single todo_write tool.
|
Package todo exposes the single todo_write tool. |
|
tools/util
Package util hosts miscellaneous stateless utility tools.
|
Package util hosts miscellaneous stateless utility tools. |
|
tools/web
Package web hosts web tools: web_search (Tavily-backed) and web_fetch (HTTP GET + readable-text extraction).
|
Package web hosts web tools: web_search (Tavily-backed) and web_fetch (HTTP GET + readable-text extraction). |
|
tools/workflow
Package workflow owns the solo dynamic-workflow task board: a dependency graph of tasks the root agent plans at runtime and an append-only session log that makes the board restart-safe.
|
Package workflow owns the solo dynamic-workflow task board: a dependency graph of tasks the root agent plans at runtime and an append-only session log that makes the board restart-safe. |
|
ui
Package ui defines the contract between evva's core agent and any UI implementation that drives it.
|
Package ui defines the contract between evva's core agent and any UI implementation that drives it. |
|
ui/bubbletea
Package bubbletea is evva's reference terminal UI: it satisfies the public ui.UI contract (pkg/ui) and drives any agent through ui.Controller, so it depends only on pkg/* — a downstream host embeds it exactly the way cmd/evva does.
|
Package bubbletea is evva's reference terminal UI: it satisfies the public ui.UI contract (pkg/ui) and drives any agent through ui.Controller, so it depends only on pkg/* — a downstream host embeds it exactly the way cmd/evva does. |
|
ui/bubbletea/app
Package app is the v2 TUI's top-level tea.Model.
|
Package app is the v2 TUI's top-level tea.Model. |
|
ui/bubbletea/components/agents
Package agents renders the horizontal subagent chip strip that sits just above the input.
|
Package agents renders the horizontal subagent chip strip that sits just above the input. |
|
ui/bubbletea/components/bgtasks
Package bgtasks renders the horizontal background-task chip strip.
|
Package bgtasks renders the horizontal background-task chip strip. |
|
ui/bubbletea/components/diff
Package diff renders a *fs.FileDiff (the structured metadata write_file / edit_file attach to tools.Result) as a multi-line git-style string with a gutter / content split.
|
Package diff renders a *fs.FileDiff (the structured metadata write_file / edit_file attach to tools.Result) as a multi-line git-style string with a gutter / content split. |
|
ui/bubbletea/components/input
Package input owns the v2 TUI's bottom textarea: prompt composition, paste compaction, and history navigation.
|
Package input owns the v2 TUI's bottom textarea: prompt composition, paste compaction, and history navigation. |
|
ui/bubbletea/components/monitors
Package monitors renders the horizontal monitor-task chip strip.
|
Package monitors renders the horizontal monitor-task chip strip. |
|
ui/bubbletea/components/overlays
Package overlays implements the modal panels the App pushes onto its focus stack: /config (form), /model (picker), /compact (chooser).
|
Package overlays implements the modal panels the App pushes onto its focus stack: /config (form), /model (picker), /compact (chooser). |
|
ui/bubbletea/components/slash
Package slash renders the autocomplete suggestion panel that pops up when the user types "/" at the start of the input.
|
Package slash renders the autocomplete suggestion panel that pops up when the user types "/" at the start of the input. |
|
ui/bubbletea/components/status
Package status owns the v2 TUI's bottom HUD: the run-state pill, model + token cells, context-utilization meter, and the contextual hint line that sits above it.
|
Package status owns the v2 TUI's bottom HUD: the run-state pill, model + token cells, context-utilization meter, and the contextual hint line that sits above it. |
|
ui/bubbletea/components/todos
Package todos renders the bottom todo panel and the green "TODOS COMPLETE" snapshot folded into the transcript when every todo in the store finishes.
|
Package todos renders the bottom todo panel and the green "TODOS COMPLETE" snapshot folded into the transcript when every todo in the store finishes. |
|
ui/bubbletea/components/transcript
Package transcript owns the scrollback model of the v2 TUI.
|
Package transcript owns the scrollback model of the v2 TUI. |
|
ui/bubbletea/components/workflow
Package workflow renders the dynamic-workflow board panel — the solo counterpart of the swarm web board: one row per task with lifecycle glyph, dependency badges, verify-policy chip, and a live spinner for tasks whose worker daemon is currently running.
|
Package workflow renders the dynamic-workflow board panel — the solo counterpart of the swarm web board: one row per task with lifecycle glyph, dependency badges, verify-policy chip, and a live spinner for tasks whose worker daemon is currently running. |
|
ui/bubbletea/events
Package events declares the tea.Msg types the v2 TUI passes through its Update loop.
|
Package events declares the tea.Msg types the v2 TUI passes through its Update loop. |
|
ui/bubbletea/mouse
Package mouse owns mouse-capture wiring + clipboard integration.
|
Package mouse owns mouse-capture wiring + clipboard integration. |
|
ui/bubbletea/theme
Package theme owns every styled surface in the v2 TUI.
|
Package theme owns every styled surface in the v2 TUI. |
|
ui/lp
Package lp is evva's "low profile" terminal UI: a quiet, professional black + gold alternative to the bundled NEON TOKYO TUI.
|
Package lp is evva's "low profile" terminal UI: a quiet, professional black + gold alternative to the bundled NEON TOKYO TUI. |
|
ui/lp/app
Package app is lp's top-level tea.Model — the low-profile root.
|
Package app is lp's top-level tea.Model — the low-profile root. |
|
update
Package update implements self-update for evva.
|
Package update implements self-update for evva. |
|
version
Package version exposes the evva SDK's release identity.
|
Package version exposes the evva SDK's release identity. |
|
Package web2 embeds the built FE v2 SPA (web2/dist) so `evva service` can serve the swarm workstation UI from a single binary.
|
Package web2 embeds the built FE v2 SPA (web2/dist) so `evva service` can serve the swarm workstation UI from a single binary. |
Click to show internal directories.
Click to hide internal directories.

