Sign inSign up

cplieger/vibekit

By cplieger

Updated about 14 hours ago

Browser-based web UI for the Kiro CLI (chat, editor, git, terminal)

Image
Machine learning & AI
Developer tools
0

10K+

cplieger/vibekit repository overview

vibekit

A browser-based front-end for the Kiro CLI: chat with an AI coding agent from any device, with a live terminal, a file editor, and git/forge workflows in the same tab.

Vibekit runs kiro-cli as an Agent Client Protocol (ACP) subprocess and wraps it in a full workspace UI. The server is the single source of truth: every action is persisted and echoed to every connected client over Server-Sent Events, so a conversation open on your phone and your desktop stays in sync.

Published as a multi-arch (amd64 + arm64) container image on GHCR (ghcr.io/cplieger/vibekit) and Docker Hub (cplieger/vibekit).

⚠️ Alpha software

Vibekit is in alpha and under active development. Any update can introduce a breaking change with no migration path to the API, the stored chat format, configuration, or behavior. Pin a specific image tag instead of latest, and check the release notes before upgrading.

⚠️ It drives an AI agent with shell and file access

Vibekit controls an agent that can run shell commands and read and write your files under /workspace, and it exposes kiro-cli's stored credentials. It has no built-in authentication: anyone who can reach the port can use it. Before exposing it beyond your own machine, do one (ideally both) of:

  • put it behind an authenticating reverse proxy (Caddy forward-auth, oauth2-proxy, Authentik, …), and/or
  • keep the published port on loopback or a private network.

Signing in from the UI authenticates kiro-cli to AWS (the agent's identity); it is not a gate on vibekit itself.

Pull

docker pull cplieger/vibekit:latest

Also published to ghcr.io/cplieger/vibekit with identical images and tags. Release versions are tagged vX.Y.Z alongside latest.

Quick start

# Example compose for vibekit. See the README for all configuration options and hardening.
services:
  vibekit:
    image: ghcr.io/cplieger/vibekit:latest
    container_name: vibekit
    restart: unless-stopped
    # Required, not optional: tini reaps orphaned children. An agent's terminal commands fork
    # gits, language servers and build tools whose own parent exits, re-parenting them onto PID 1,
    # and the server waits only for the children it spawned itself; at PID 1 it collects them as
    # zombies instead, until the container runs out of process slots.
    init: true
    user: "${PUID:-1000}:${PGID:-1000}"  # from .env; must own the /config, /workspace and /uploads host dirs

    ports:
      - "9847:9847"

    volumes:
      - "/opt/appdata/vibekit/config:/config"
      - "/opt/appdata/vibekit/workspace:/workspace"
      - "/opt/appdata/vibekit/uploads:/uploads"

Documentation

License

AGPL-3.0-or-later. See LICENSE.

The terminal's two web fonts ship under their own licences, each licence text served beside the font files under /vendor/fonts/: Monaspace Neon NF under SIL Open Font License 1.1, and web-terminal-glyphs under Apache-2.0.

Tag summary

Content type

Image

Digest

sha256:1881344bb

Size

81.4 MB

Last updated

about 14 hours ago

docker pull cplieger/vibekit