Skip to content

Repository files navigation

strike-cli

Website: https://strike.jonathanung.ca/

An agentic coding TUI in Go/Bubble Tea. The engine emits protocol events; the TUI consumes them. Sessions are JSONL event logs.

Architecture is informed by deep-dives into opencode and codex. Full package map and dependency rules: docs/ARCHITECTURE.md.

Supported platforms: macOS, Linux, and Windows via WSL2. Native Windows is not supported in v1.

Install

curl -fsSL https://strike.jonathanung.ca/install | bash

That URL redirects to the install script on GitHub; binaries come from GitHub Releases. Details, PATH, upgrade, and uninstall: docs/install.md.

strike version
strike --upgrade    # or /upgrade in the TUI

Quickstart (from source)

Requires Go 1.26+.

make setup          # one-time: ~/.strike (config + example agent/skill)
make restore        # repair missing/corrupt ~/.strike (or: strike restore)
make build          # builds ./strike (stamps version via git describe)
make run-echo       # offline dev loop — no API key
make run            # real agent with your configured provider
export ANTHROPIC_API_KEY=sk-ant-…   # or: ./strike auth login anthropic
./strike                            # or: --provider <p> --model <m> --effort <level>
./strike --continue                 # resume last root session
./strike exec "summarize this repo" # headless one-shot → stdout

Nix dev shell

Requires Nix with flakes enabled. Pins the exact Go 1.26, gopls, make, and git.

nix profile install github:jonathanung/strike
# or run without installing:
nix run github:jonathanung/strike

# development:
nix develop
make build

Details: docs/nix.md.

In the TUI: /provider, /model, /auth, /theme, /session, /init, /ftue, /help, /upgrade. /init bootstraps project AGENTS.md (confirms before overwrite). /ftue opens the setup wizard (provider, model, optional init, feature tour, scheduler presets, first prompt); clean installs auto-open it once until finish or dismiss. Enter sends; Shift+Enter newline; esc interrupts; ctrl+t jumps to latest output; ctrl+c quits. @path attaches project files. See docs/keybinds.md and docs/usage.md.

Experimental web cockpit (strike serve)

Opt-in browser cockpit: live composer/ops over WebSocket, permissions and questions, status chrome, plus read-only SSE attach to any session JSONL. Defaults to the offline echo provider. The TUI remains primary.

make serve
# or: ./strike serve --addr 127.0.0.1:8787 --auth --token <secret> --provider echo
curl -s http://127.0.0.1:8787/health
# open http://127.0.0.1:8787/attach?token=<secret>

# remote access (encrypted tunnel — no cleartext LAN bind):
ssh -L 8787:127.0.0.1:8787 user@strike-host
  • GET /health — JSON {ok, version, commit} (no auth)
  • GET /attach — cockpit page (composer, transcript, permission modal)
  • GET /v1/ws — WebSocket ops in / events out (cookie or Bearer; no query token)
  • POST /v1/ops — submit one op envelope
  • GET /v1/live/events, /v1/status, /v1/agents, /v1/sessions
  • GET /v1/sessions/{id}/events — SSE JSONL tail

Bind is loopback-only. Open /attach?token=… once for cookie handoff; /v1/* rejects query tokens. Optional Vite dev proxy lives in web/. Details: docs/web.md.

Docs

Topic
Changelog release history and upgrade notes
Install & build curl install, releases, upgrade, make targets
Usage slash commands, @file, resume/fork, panes
Loop /loop recurring session jobs (vs /goal)
Nix dev env Nix philosophy, best practices, reference projects
Keybinds keyboard reference (f1 / /keys in-app)
Auth & providers credentials, OAuth, billing routing
Config JSON, permissions, custom providers, vimMode/nanoMode
Agents & skills personas, skills, workflows / autonomy
Plugins Agent Plugins 1.0.0 contract (skills, MCP, com.strike.cli, trust)
Web cockpit experimental strike serve (live + RO)
Web cockpit contract progressive modes, parity matrix, attach-only (#1069)
Go SDK pkg/sdk client over pkg/protocol
Architecture packages, seams, recipes
Contributing layout, verification, doc check

License

Licensed under the Apache License, Version 2.0.

Free to use, modify, and distribute. You must retain the copyright notice and attribution (see LICENSE and NOTICE). Copyright 2026 Jonathan Ung.

About

agentic TUI for coding agent workflows

Resources

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages