Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ Recent highlights:
### Install

```bash
npm install -g @opencoven/coven-code
npm install -g @opencoven/coven
```

Then open a new terminal and run `coven-code`. `coven-cave` is also installed as an alias for the same CLI.
Then open a new terminal and run `coven` or `coven tui`.

### Upgrade

```bash
npm install -g @opencoven/coven-code@latest
npm install -g @opencoven/coven@latest
```

---
Expand Down
15 changes: 14 additions & 1 deletion docs/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ Common keys:
| `outputStyle` | Output rendering style |
| `autoApprove` | Auto-approve tool calls |

Subcommands: `/config keybindings`, `/config theme [name]`, `/config output-style [style]`, `/config import`, `/config advisor [model|off]`, `/config color`, `/config vim`, `/config voice`, `/config statusline`, `/config terminal-setup` — each documented below or under [Display & Terminal](#display--terminal).
Subcommands: `/config keybindings`, `/config theme [name]`, `/config output-style [style]`, `/config import`, `/config advisor [model|off]`, `/config color`, `/config vim`, `/config voice`, `/config statusline`, `/config terminal-setup` — each documented below or under [Display & Terminal](#display--terminal). Use `/splash` for the empty-session welcome panel.

`/config import` imports user-level Claude Code configuration (`CLAUDE.md`, `settings.json`) from `~/.claude` via an interactive dialog with preview and confirmation. It replaces the former `/import-config` command.

Expand All @@ -300,6 +300,19 @@ See [keybindings.md](./keybindings.md) for the full keybindings reference.

---

### /splash

Show, hide, or toggle the empty-session welcome/splash panel. The setting is written to `~/.coven-code/settings.json` under `config.showSplash`.

```
/splash — toggle the splash screen
/splash show — show it
/splash hide — hide it
/splash status — show current state
```

---

### /permissions

View and manage tool permission rules. Permissions control which tools can run without prompting, which are blocked, and which always require confirmation.
Expand Down
33 changes: 14 additions & 19 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Coven Code is a high-performance Rust reimplementation of Claude Code — a term
You give Coven Code a task in natural language. It plans, reads and writes files, runs shell commands, searches the web, and iterates — all inside your terminal, with every step visible in real time.

```
$ coven-code "add input validation to the signup form"
$ coven run codex "add input validation to the signup form"
```

Coven Code reads your codebase, implements the change across multiple files, runs your tests, and reports back — without you leaving the terminal.
Expand Down Expand Up @@ -73,17 +73,12 @@ Cast `/incant caveman` or `/incant rocky` to compress model responses by 40–85

```bash
# Linux / macOS
curl -fsSL https://github.com/OpenCoven/coven-code/releases/latest/download/install.sh | bash
```

```powershell
# Windows (PowerShell)
irm https://github.com/OpenCoven/coven-code/releases/latest/download/install.ps1 | iex
npm install -g @opencoven/coven
```

The installer auto-detects your platform/arch, drops `coven-code` into
`~/.coven-code/bin/`, and adds it to your `PATH`. See
[Installation](installation) for flags, manual download, and uninstall steps.
The package installs the `coven` CLI. Run `coven` with no arguments, or
`coven tui` explicitly, for the interactive UI. See [Installation](installation)
for npm, bun, standalone binary, and source install options.

**2. Set your API key**

Expand All @@ -94,13 +89,13 @@ export ANTHROPIC_API_KEY=sk-ant-...
**3. Run interactively**

```bash
coven-code
coven
```

Or send a single prompt and exit:
Or launch a direct harness session:

```bash
coven-code --print "explain the auth module"
coven run codex "explain the auth module"
```

---
Expand Down Expand Up @@ -142,17 +137,17 @@ See [Providers](providers) for setup instructions for every supported provider.

| Mode | Command | Use case |
|------|---------|----------|
| Interactive TUI | `coven-code` | Day-to-day coding |
| Single prompt | `coven-code "task"` | Quick one-shot tasks |
| Headless print | `coven-code --print "task"` | Scripts, CI |
| JSON output | `coven-code --output-format json "task"` | Machine consumption |
| Stream JSON | `coven-code --output-format stream-json "task"` | Real-time piping |
| Interactive TUI | `coven` or `coven tui` | Day-to-day coding |
| Direct harness run | `coven run codex "task"` | Quick one-shot tasks |
| Claude Code run | `coven run claude "task"` | Use Claude Code through Coven |
| Session browser | `coven sessions` | Rejoin, view, archive, or delete sessions |
| Stream JSON | `coven run codex "task" --stream-json` | Real-time piping |

---

## The welcome screen

When you launch `coven-code` interactively, the home screen opens with a single rounded panel titled `Coven Code v<version>`. It's the at-a-glance status surface — every value comes from another subsystem, so use it as a jumping-off point rather than a source of truth.
When you launch the interactive UI with `coven` or `coven tui`, the home screen opens with a single rounded panel titled `Coven Code v<version>`. It's the at-a-glance status surface — every value comes from another subsystem, so use it as a jumping-off point rather than a source of truth.

**Left column** — your familiar's portrait (animated glyph for built-ins, static card for daemon-registered familiars) under a `Welcome back <user>!` greeting. The art is driven by the `"familiar"` field in your settings; see [Coven Familiars](familiars).

Expand Down
105 changes: 74 additions & 31 deletions docs/installation.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Coven Code Installation Guide

Coven Code is a Rust reimplementation of the Claude Code CLI. The fastest way
to install it is via the one-liner installers below. They drop the binary
into `~/.coven-code/bin` (or `%USERPROFILE%\.coven-code\bin` on Windows) and add
that directory to your `PATH` automatically.
Coven Code is a Rust reimplementation of the Claude Code CLI. The recommended
npm install path is the Coven package, which installs the `coven` CLI. Run
`coven` with no arguments, or `coven tui` explicitly, to open the interactive
Coven Code UI.

---

Expand All @@ -24,6 +24,39 @@ possible; on Linux it links against the system glibc.

## Quick install (recommended)

If you have Node.js or Bun installed, install the Coven CLI globally:

```bash
# npm
npm install -g @opencoven/coven

# bun
bun install -g @opencoven/coven
```

After installation, run:

```bash
coven
# or explicitly:
coven tui
```

The installed command is `coven`. Use `coven doctor` to inspect local setup,
`coven daemon start` to start the local daemon, and
`coven run <harness> "<task>"` for direct harness sessions.

You can also run Coven without a permanent install:

```bash
npx @opencoven/coven # via npm
bunx @opencoven/coven # via bun
```

---

## Standalone Coven Code binary

### Linux / macOS

```bash
Expand Down Expand Up @@ -65,11 +98,11 @@ Example: `curl -fsSL https://.../install.sh | bash -s -- --version 0.1.0`

---

## Via npm / bun
## Coven Code npm package

If you have Node.js or Bun installed, you can install Coven Code as a global
package. The postinstall script automatically downloads the correct pre-built
native binary for your platform from GitHub Releases — no compilation needed.
The lower-level Coven Code npm package installs the `coven-code` binary
directly. Prefer `@opencoven/coven` for the user-facing `coven` CLI unless you
specifically need the underlying Coven Code binary.

```bash
# npm
Expand Down Expand Up @@ -104,14 +137,12 @@ bunx @opencoven/coven-code # via bun
Once installed, upgrade in place at any time:

```bash
coven-code upgrade # to the latest release
coven-code upgrade --version 0.1.0 # pin to a specific version
coven-code upgrade --force # reinstall the same version
npm install -g @opencoven/coven@latest
# or
bun install -g @opencoven/coven@latest
```

The upgrade command downloads the matching archive from GitHub, extracts the
new binary, and replaces the running executable atomically. Settings in
`~/.coven-code/` are preserved.
Settings in `~/.coven/` and `~/.coven-code/` are preserved.

---

Expand Down Expand Up @@ -194,14 +225,17 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
```

### Option A: Install via Cargo
### Option A: Install from a clone

```bash
cargo install coven-code --force
git clone https://github.com/OpenCoven/coven-code.git
cd coven-code/src-rust
cargo install --path crates/cli --locked
```

This downloads, compiles, and installs the binary to `~/.cargo/bin/coven-code`.
That directory is added to `PATH` automatically by `rustup`.
This compiles the `claurst` package and installs the `coven-code` binary to
`~/.cargo/bin/coven-code`. That directory is added to `PATH` automatically by
`rustup`.

### Option B: Clone and Build

Expand All @@ -210,10 +244,10 @@ git clone https://github.com/OpenCoven/coven-code.git
cd coven-code/src-rust

# Debug build (fast to compile, larger binary, extra runtime checks)
cargo build --package coven-code
cargo build --package claurst

# Release build (optimised, smaller, suitable for everyday use)
cargo build --release --package coven-code
cargo build --release --package claurst
```

The release binary is placed at:
Expand Down Expand Up @@ -252,8 +286,8 @@ sudo pacman -S alsa-lib openssl
To enable a feature:

```bash
cargo build --release --package coven-code --features voice
cargo build --release --package coven-code --features dev_full
cargo build --release --package claurst --features voice
cargo build --release --package claurst --features dev_full
```

### Cross-compiling for Linux aarch64
Expand All @@ -264,7 +298,7 @@ aarch64 Linux builds. To reproduce it locally:
```bash
cargo install cross --git https://github.com/cross-rs/cross
cd src-rust
cross build --release --locked --package coven-code --target aarch64-unknown-linux-gnu
cross build --release --locked --package claurst --target aarch64-unknown-linux-gnu
```

`cross` manages the Docker sysroot, OpenSSL, and ALSA headers automatically.
Expand All @@ -273,16 +307,16 @@ cross build --release --locked --package coven-code --target aarch64-unknown-lin

## Shell Completions

Coven Code does not currently ship a dedicated `completions` subcommand. All
flags can be discovered via `coven-code --help`. If you want basic tab completion
Coven does not currently ship a dedicated `completions` subcommand. All
flags can be discovered via `coven --help`. If you want basic tab completion
in bash or zsh you can use the generic completion helper built into your shell:

```bash
# bash — add to ~/.bashrc
complete -C coven-code coven-code
complete -C coven coven

# zsh — add to ~/.zshrc (requires compinit)
compdef _gnu_generic coven-code
compdef _gnu_generic coven
```

Richer completion scripts may be added in a future release.
Expand All @@ -292,16 +326,25 @@ Richer completion scripts may be added in a future release.
## Upgrading a source install

```bash
cargo install coven-code --force
cd coven-code/src-rust
cargo install --path crates/cli --locked --force
```

For binary installs (the recommended path), use `coven-code upgrade` — see
the [Upgrading](#upgrading) section above.
For npm or bun installs, reinstall the `@opencoven/coven` package — see the
[Upgrading](#upgrading) section above.

---

## Uninstalling

If you used the recommended npm or bun package, remove it globally:

```bash
npm uninstall -g @opencoven/coven
# or
bun remove -g @opencoven/coven
```

If you used the install script, remove the install directory:

```bash
Expand All @@ -320,7 +363,7 @@ rm ~/.local/bin/coven-code # if installed user-local
To also remove all settings and session data:

```bash
rm -rf ~/.coven-code
rm -rf ~/.coven ~/.coven-code
```

You may also want to remove the `# coven-code` PATH line that the installer
Expand Down
Loading