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, per the fleet's no-Node-in-the-builder doctrine) 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, per the fleet's no-Node-in-the-builder doctrine) 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, and POST /api/command dispatch — plus the service surfaces that ride the shared utility bridge (knowledge, specs, hooks, governance, account usage, policy), 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, and POST /api/command dispatch — plus the service surfaces that ride the shared utility bridge (knowledge, specs, hooks, governance, account usage, policy), 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 wires the /api/whoami, /api/login, /api/logout endpoints that shell out to the bundled kiro-cli binary for identity operations.
|
Package auth wires the /api/whoami, /api/login, /api/logout endpoints that shell out to the bundled kiro-cli binary for identity operations. |
|
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-chat assistant turn buffering subsystem.
|
Package buffer provides the per-chat assistant turn buffering subsystem. |
|
chat
Package chat implements per-chat persistence: one JSON file per chat under <dir>/<chat_id>.json.
|
Package chat implements per-chat persistence: one JSON file per chat under <dir>/<chat_id>.json. |
|
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. |
|
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. |
|
kiroauth
Package kiroauth answers the v3 (KAS) host-mediated auth callback (_kiro/auth/getAccessToken) by asking kiro-cli itself for a fresh access token.
|
Package kiroauth answers the v3 (KAS) host-mediated auth callback (_kiro/auth/getAccessToken) by asking kiro-cli itself for a fresh access token. |
|
kirosession
Package kirosession reaps kiro-cli / KAS on-disk session state that vibekit no longer needs.
|
Package kirosession reaps kiro-cli / KAS on-disk session state that vibekit no longer needs. |
|
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. |
|
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.
|
Package version holds the single-source-of-truth build version string for vibekit. |
|
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 that 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 that 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.