vibecli

command module
v0.1.55 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2026 License: GPL-2.0, GPL-3.0 Imports: 15 Imported by: 0

README

vibecli

Image Size Platforms Go Report Card Test coverage Mutation OpenSSF Best Practices OpenSSF Scorecard SBOM

A minimal browser terminal for the Kiro CLI — kiro-cli in a tab, nothing more.

What it is

Vibecli is a single Go binary that serves a static web UI and brokers a PTY for one kiro-cli process per session. Unlike its sister app vibekit, there is no ACP bridge, no chat protocol, and no chat-history persistence — the browser drives kiro-cli's own TUI directly through the terminal stream, the same as an SSH session. Terminal state lives only in the server's in-memory VT buffer and is replayed to the browser on reconnect.

The terminal engine (VT500 screen buffer + WebSocket PTY handler on the server, renderer/keyboard/mouse/wire-decoder in the browser) is the shared @cplieger/vterm library; vibecli adds only its own predictive echo, IME handling, and viewport/status UI.

Features

  • Raw kiro-cli TUI in the browser — full terminal UI, reconnect with screen + scrollback replay (survives sleep/network blips).
  • Persistent state on a single /config bind mount: kiro-cli auth/tokens, tools, and settings.
  • Pinned kiro-cli — version + sha256 are Renovate-tracked in entrypoint.sh; bumps land via image rebuild (auto-update disabled for reproducibility).

Run it

# compose.yaml
services:
  vibecli:
    image: ghcr.io/cplieger/vibecli:latest
    ports:
      - "9848:9848"
    volumes:
      - ./config:/config        # kiro-cli auth/state, tools
      - ./workspace:/workspace  # your repos
    restart: unless-stopped

kiro-cli is downloaded and pinned on first boot (it is not redistributed in the image, per the AWS Customer Agreement). Open http://localhost:9848, authenticate kiro-cli, and you have a terminal.

Security

Network-exposed: put it behind an authenticating reverse proxy — a browser tab here is a shell with filesystem access to /workspace. Observability is slog-only (structured access log; no metrics endpoint). Debian base (a shell + the kiro-cli subprocess are required). Images are published with cosign signatures and SBOM attestations.

License

GPL-3.0. See LICENSE.

Documentation

Overview

Package main is vibecli — a browser terminal wrapped around kiro-cli. Each /ws connection exec's `kiro-cli chat` directly in a PTY. Server-side state lives in vibecli's own VT screen (internal/vt): on reconnect, the current cell snapshot is replayed to the client. No external multiplexer.

Directories

Path Synopsis
internal
api
Package api holds the HTTP response helpers shared by the server.
Package api holds the HTTP response helpers shared by the server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL