Skip to content
nikcli
Docs
Documentation

Getting Started

A source-of-truth overview of nikcli across the CLI, server, connectors, and mobile app.

Install & Run

nikcli is a fork of OpenCode

nikcli is an independent fork of OpenCode, the open source coding agent — full credit for the original project goes to its authors and contributors. nikcli is not affiliated with or endorsed by them, so please report anything you hit here on the nikcli repository, never on the upstream tracker.

nikcli is a Bun-based coding agent with a terminal UI, HTTP server, connector system, a browser web app, a Studio dashboard, and a mobile companion app. It also runs autonomously toward verifiable goals, schedules and API-triggers routines, and localizes both its interface and the model's replies. The CLI entrypoint is packages/nikcli/src/index.ts.

Terminal · macOS / Linux
bash
curl -fsSL https://nikcli-ai.dev/install | bash
PowerShell · Windows
powershell
irm https://nikcli-ai.dev/install.ps1 | iex
Terminal
bash
nikcli
Install location

Both installers drop the binary in ~/.nikcli/bin and add it to your PATH — set NIKCLI_INSTALL_DIR to change that. On Windows the PowerShell installer also reads NIKCLI_VERSION to pin a version and NIKCLI_NO_PATH=1 to leave PATH untouched. Any platform can also install from npm with npm i -g nikcli-ai@latest.

Runtime

For local development in this repo, run bun dev inside packages/nikcli.

Architecture Snapshot

Interface

CLI + TUI

Commands are registered in packages/nikcli/src/index.ts. The default TUI and worker flow live in packages/nikcli/src/cli/cmd/tui/.

Core

Session Engine

Sessions, messages, tool parts, sharing, and todo state live under packages/nikcli/src/session/.

Execution

Tools & Permissions

The public tool surface is defined in packages/nikcli/src/tool/registry.ts and guarded by packages/nikcli/src/permission/.

Services

Server + API

HTTP and SSE endpoints for TUI, companion, connectors, and mobile are built in packages/nikcli/src/server/.

Automation

Connectors

External service connectors and auth live under packages/nikcli/src/connectors/.

Companion

Mobile App

The Expo app in packages/mobile streams sessions, approvals, tool output, GitHub worktrees, and notifications from the host server.

Platform Surfaces

Codebase Roadmap

The runtime surface is split across three main packages: packages/nikcli for the CLI and server, packages/mobile for the Expo app, and packages/web for this documentation site.

What's new

Recent releases added the sync subsystem (event journal, projections, idempotent outbox, remote hub), the macOS Island plugin (notch UI), new TUI feature plugins (Brain, Browser, ChatBot, Computer, DeepSec, Observability), and several mobile sheets (teleport, session artifacts, workspace switcher). The most recent release also extracted three sibling automation engines — computer-use, browser-control, and terminal-control — out of packages/nikcli into first-class workspace packages. The brand wordmarks are now shared between web and mobile — see the brand assets reference.

New package

Computer-use engine

@nikcli-ai/computer-use: headless desktop-automation daemon, sandbox/host backends, recording pipeline, PR-ready evidence bundles. Sibling of browser-control and terminal-control.

Open reference →
New package

Browser-control engine

@nikcli-ai/browser-control: per-workspace Chromium daemon with the same CLI grammar and bundle format as computer-use and terminal-control.

Open reference →
New package

Terminal-control engine

@nikcli-ai/terminal-control: native termctrl driver, .termctrl recordings, ANSI/JSON/PNG/SVG/video renderers, evidence bundles.

Open reference →
Long-term memory

Brain subsystem

Hourly scheduler, model picker, configurable consolidation session, and the memory.instruction.md file under .github/instructions/.

Open reference →
macOS notch

Island plugin

NikcliIsland.app and the bridge that mirrors session state into the file contract it reads. Bidirectional: the notch can answer permission requests via POST /permission/:requestID/reply.

Open reference →
Opt-in hub

Sync subsystem

Local event log, typed projections, cold-start snapshots, idempotent outbox, remote hub transport.

Open reference →
TUI surface

New TUI feature plugins

Brain (model + scheduler), Browser (computer-use), ChatBot (Slack / Discord / Teams / GChat / Linear / GitHub webhooks), Computer, DeepSec, and Observability are now first-class TUI plugins.

Open reference →
Mobile

Teleport and artifacts

nikcli teleport ships a session (and optionally the working tree) to a remote host, the mobile app exposes a teleport sheet, and session artifact viewer surfaces URLs, HTML, SVG, and Mermaid previews inline.

Open reference →
Mobile

Workspace switcher

The mobile app can browse workspaces from the host, swap the active directory, and deep-link into the right session in one tap.

Open reference →
Brand

Shared wordmark

Three PNG variants are now used consistently across the docs navbar, footer, dashboard connect screen, and mobile app via a single source of truth in packages/mobile/assets/.

Open reference →
TUI surface

Permission modes

The TUI command palette now exposes a Permissions dialog with three presets — require_approval, approve_for_me (default), and full_access — that write the per-agent permission map. A custom state surfaces when an individual tool is changed by hand.

Open reference →

Next Steps

Ready to roll

Start with CLI Reference, then configure providers and connectors in Configuration.