Documentation
¶
Overview ¶
Vibekit for Kiro: ACP-based web interface for kiro-cli.
One kiro-cli subprocess per active chat; multiple browsers on the same chat share the same bridge and context. Server is the source of truth; the browser projects server state via SSE + GET /api/chats.
Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
bundle
command
Command bundle builds vibekit's browser client: it bundles the TypeScript entrypoints with esbuild (a Go library — no Node, no npm) and assembles the CSS bundle from the manifest files.
|
Command bundle builds vibekit's browser client: it bundles the TypeScript entrypoints with esbuild (a Go library — no Node, no npm) and assembles the CSS bundle from the manifest files. |
|
wire-codegen
command
Command wire-codegen generates TypeScript interfaces, validating decoders, and an SSE event→decoder registry from Go wire types using the wiregen library (AST-based; github.com/cplieger/wiregen/v3).
|
Command wire-codegen generates TypeScript interfaces, validating decoders, and an SSE event→decoder registry from Go wire types using the wiregen library (AST-based; github.com/cplieger/wiregen/v3). |
|
internal
|
|
|
agent
Package agent coordinates the server's per-chat runtime: SSE fan-out, ACP bridge lifecycle, POST /api/command dispatch, the service surfaces that ride the shared utility bridge, checkpoint HTTP, agent terminals, the browser PTY shell shim, and the MCP runtime registry.
|
Package agent coordinates the server's per-chat runtime: SSE fan-out, ACP bridge lifecycle, POST /api/command dispatch, the service surfaces that ride the shared utility bridge, checkpoint HTTP, agent terminals, the browser PTY shell shim, and the MCP runtime registry. |
|
ansitext
Package ansitext separates ANSI escape sequences from the text they style.
|
Package ansitext separates ANSI escape sequences from the text they style. |
|
auth
Package auth serves /api/whoami, /api/login and /api/logout by shelling out to the bundled kiro-cli binary, and reports every identity it reads to the registrar that owns live agent sessions.
|
Package auth serves /api/whoami, /api/login and /api/logout by shelling out to the bundled kiro-cli binary, and reports every identity it reads to the registrar that owns live agent sessions. |
|
bridge
Package bridge manages a single kiro-cli ACP subprocess.
|
Package bridge manages a single kiro-cli ACP subprocess. |
|
buffer
Package buffer provides the per-turn assistant content buffer: a Buffer accumulates streaming deltas until the turn's closer takes it and writes the finalized assistant message.
|
Package buffer provides the per-turn assistant content buffer: a Buffer accumulates streaming deltas until the turn's closer takes it and writes the finalized assistant message. |
|
chat
Package chat implements per-chat persistence: one JSON file per chat under <dir>/<chat_id>.json, atomically rewritten on every mutation via write-temp-then-rename.
|
Package chat implements per-chat persistence: one JSON file per chat under <dir>/<chat_id>.json, atomically rewritten on every mutation via write-temp-then-rename. |
|
chat/archive
Package archive implements chat RETENTION: the age-based purge and its scheduler.
|
Package archive implements chat RETENTION: the age-based purge and its scheduler. |
|
command
Package command implements the POST /api/command dispatch table.
|
Package command implements the POST /api/command dispatch table. |
|
composition
Package composition wires all vibekit services together and manages application lifecycle.
|
Package composition wires all vibekit services together and manages application lifecycle. |
|
durable
Package durable supplies the context a durable effect runs under.
|
Package durable supplies the context a durable effect runs under. |
|
filebrowse
Package filebrowse serves the browser's file surface: browsing, reading, editing, uploading, and downloading.
|
Package filebrowse serves the browser's file surface: browsing, reading, editing, uploading, and downloading. |
|
filemode
Package filemode makes a file's mode a fact rather than a request.
|
Package filemode makes a file's mode a fact rather than a request. |
|
forges
Package forges integrates remote git forges (GitHub, GitLab, Gitea/Codeberg) by orchestrating their first-party CLI tools (gh, glab, tea).
|
Package forges integrates remote git forges (GitHub, GitLab, Gitea/Codeberg) by orchestrating their first-party CLI tools (gh, glab, tea). |
|
git
Package git provides HTTP handlers and utilities for git operations and AI-assisted workflows.
|
Package git provides HTTP handlers and utilities for git operations and AI-assisted workflows. |
|
httpreply
Package httpreply writes what vibekit answers an HTTP request with: the named status responses, the error envelope they carry, and the request guards whose failure IS one of those responses.
|
Package httpreply writes what vibekit answers an HTTP request with: the named status responses, the error envelope they carry, and the request guards whose failure IS one of those responses. |
|
ids
Package ids is vibekit's identifier vocabulary: it mints the ids the app owns and validates every id the app accepts.
|
Package ids is vibekit's identifier vocabulary: it mints the ids the app owns and validates every id the app accepts. |
|
ignore
Package ignore is a gitignore-style agent read filter.
|
Package ignore is a gitignore-style agent read filter. |
|
kascap
Package kascap declares which capability keys vibekit puts on the kiro-cli (KAS) ACP wire, on which call, why, and how KAS resolves each one.
|
Package kascap declares which capability keys vibekit puts on the kiro-cli (KAS) ACP wire, on which call, why, and how KAS resolves each one. |
|
kirosession
Package kirosession reaps the kiro-cli / KAS on-disk session state that backs session/load resume: it exists only to reload a chat vibekit still keeps, so it dies with that chat.
|
Package kirosession reaps the kiro-cli / KAS on-disk session state that backs session/load resume: it exists only to reload a chat vibekit still keeps, so it dies with that chat. |
|
logctl
Package logctl owns the process-wide slog handler so settings toggles can flip the log level at runtime without restarting the container.
|
Package logctl owns the process-wide slog handler so settings toggles can flip the log level at runtime without restarting the container. |
|
logsafe
Package logsafe binds runesafe's single-line preset to this app's log surface, so every untrusted string reaches slog through one policy.
|
Package logsafe binds runesafe's single-line preset to this app's log surface, so every untrusted string reaches slog through one policy. |
|
mcp
Package mcp persists and serves the user's configured MCP (Model Context Protocol) servers.
|
Package mcp persists and serves the user's configured MCP (Model Context Protocol) servers. |
|
mcp/prewarm
Package prewarm handles npx package pre-warming for MCP servers.
|
Package prewarm handles npx package pre-warming for MCP servers. |
|
modeltext
Package modeltext reads the strings a MODEL authored and answers what vibekit needs from them: whether a catalog entry's description marks the model hidden, and what a completion says once its markdown wrapper is off.
|
Package modeltext reads the strings a MODEL authored and answers what vibekit needs from them: whether a catalog entry's description marks the model hidden, and what a completion says once its markdown wrapper is off. |
|
parallel
Package parallel holds the one bounded fan-out helper two packages need.
|
Package parallel holds the one bounded fan-out helper two packages need. |
|
policyfile
Package policyfile reads and writes kiro-cli's native Cedar permission policy files (permissions.yaml) for the user and workspace scopes.
|
Package policyfile reads and writes kiro-cli's native Cedar permission policy files (permissions.yaml) for the user and workspace scopes. |
|
procgroup
Package procgroup signals a spawned command's whole process group instead of just its head.
|
Package procgroup signals a spawned command's whole process group instead of just its head. |
|
procout
Package procout captures a spawned process's stdout or stderr under a byte cap, so a runaway or hostile subprocess cannot exhaust the container's memory through a pipe vibekit is draining.
|
Package procout captures a spawned process's stdout or stderr under a byte cap, so a runaway or hostile subprocess cannot exhaust the container's memory through a pipe vibekit is draining. |
|
push
Package push manages Web Push subscriptions and delivers VAPID-signed notifications.
|
Package push manages Web Push subscriptions and delivers VAPID-signed notifications. |
|
rpcerr
Package rpcerr turns a JSON-RPC error from kiro-cli into text a person can read.
|
Package rpcerr turns a JSON-RPC error from kiro-cli into text a person can read. |
|
runlease
Package runlease holds what vibekit knows about a workflow run KAS owns.
|
Package runlease holds what vibekit knows about a workflow run KAS owns. |
|
sanitize
Package sanitize defuses text vibekit did not write before it is persisted, echoed to a client, or written to a log.
|
Package sanitize defuses text vibekit did not write before it is persisted, echoed to a client, or written to a log. |
|
schedule
Package schedule computes when a recurring workflow run is next due.
|
Package schedule computes when a recurring workflow run is next due. |
|
secretstore
Package secretstore persists the opaque credential blobs KAS asks vibekit to hold on its behalf via the v3 `_kiro/secret/*` requests.
|
Package secretstore persists the opaque credential blobs KAS asks vibekit to hold on its behalf via the v3 `_kiro/secret/*` requests. |
|
server
Package server — the Idempotency-Key dedup middleware.
|
Package server — the Idempotency-Key dedup middleware. |
|
settings
Package settings provides a single-source-of-truth reader for <configDir>/config.json.
|
Package settings provides a single-source-of-truth reader for <configDir>/config.json. |
|
steering
Package steering generates the environment.md steering file kiro-cli reads on every session.
|
Package steering generates the environment.md steering file kiro-cli reads on every session. |
|
systembin
Package systembin resolves an image-baked system binary to an absolute path from a fixed directory set, so a spawn's argv[0] does not come from PATH.
|
Package systembin resolves an image-baked system binary to an absolute path from a fixed directory set, so a spawn's argv[0] does not come from PATH. |
|
tabs
Package tabs is the open-tab set: what is open, in what order, and at what version.
|
Package tabs is the open-tab set: what is open, in what order, and at what version. |
|
testsupport
Package testsupport provides the chat-store fakes that more than one sibling package's TEST binary needs, plus the contract suites those packages run against both a fake and the real implementation.
|
Package testsupport provides the chat-store fakes that more than one sibling package's TEST binary needs, plus the contract suites those packages run against both a fake and the real implementation. |
|
translate
Package translate handles ACP → domain event translation.
|
Package translate handles ACP → domain event translation. |
|
version
Package version holds the single-source-of-truth build version string for vibekit, stamped by the release image build.
|
Package version holds the single-source-of-truth build version string for vibekit, stamped by the release image build. |
|
vibekit
Package vibekit is the app's wire and domain TYPE vocabulary: the shapes that cross the server's HTTP and SSE boundaries, and the shapes its components pass each other.
|
Package vibekit is the app's wire and domain TYPE vocabulary: the shapes that cross the server's HTTP and SSE boundaries, and the shapes its components pass each other. |
|
wirespec
Package wirespec is the single source of truth for vibekit's wire contract: the registered wire types, the enums, the TS-name and path-name overrides, and the SSE event→decoder table cmd/wire-codegen feeds into wiregen to emit static-src/wire/{types,decoders,registry}.gen.ts.
|
Package wirespec is the single source of truth for vibekit's wire contract: the registered wire types, the enums, the TS-name and path-name overrides, and the SSE event→decoder table cmd/wire-codegen feeds into wiregen to emit static-src/wire/{types,decoders,registry}.gen.ts. |
|
workflow
Package workflow decodes KAS's workflow-run wire shapes.
|
Package workflow decodes KAS's workflow-run wire shapes. |
|
workspace
Package workspace provides path helpers for kiro-cli's per-user state directory.
|
Package workspace provides path helpers for kiro-cli's per-user state directory. |
|
scripts
|
|
|
wirecheck
command
Command wirecheck asserts wire-protocol compatibility between the Go server half (the web-terminal-engine module go.mod pins, used by the PTY shell in internal/agent) and the bundled TS client half (the Dockerfile-ARG- pinned npm artifact that static-src/shell.ts imports).
|
Command wirecheck asserts wire-protocol compatibility between the Go server half (the web-terminal-engine module go.mod pins, used by the PTY shell in internal/agent) and the bundled TS client half (the Dockerfile-ARG- pinned npm artifact that static-src/shell.ts imports). |
Click to show internal directories.
Click to hide internal directories.