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
2 changes: 1 addition & 1 deletion .github/workflows/site.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Site
on:
push:
branches: [main]
paths: ["site/**", "tapes/**", "CHANGELOG.md", ".github/workflows/site.yml"]
paths: ["site/**", "packages/**", "CHANGELOG.md", ".github/workflows/site.yml"]
workflow_dispatch:

permissions:
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ types/
# anchored: site/src/content/docs is the published documentation and must be tracked
/docs/

# launch clips: generated from tapes/, and too heavy to keep in the repository
# launch clips for social posts: too heavy to keep in the repository
media/social/

# tooling
Expand Down
Binary file added media/review.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed media/search.gif
Binary file not shown.
Binary file added media/shell.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/status.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified media/subagents.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed media/tour.gif
Binary file not shown.
Binary file modified media/trail.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed media/trail.png
Binary file not shown.
Binary file removed media/trust-activity.png
Binary file not shown.
Binary file removed media/trust-ledger.png
Binary file not shown.
Binary file added media/trust.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified media/updater.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
"build": "bun scripts/build.ts",
"smoke:tui": "bun scripts/tui-smoke.ts",
"release": "bun scripts/release.ts",
"record": "bun scripts/record.ts",
"clean:daemons": "bun scripts/clean-daemons.ts",
"preview": "bun packages/status/src/cli/preview.ts",
"capture": "bun scripts/capture.ts",
Expand Down
5 changes: 2 additions & 3 deletions packages/opencode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ without drowning in it — and gives *you* a live view of all of it, inside Open

![One OpenCode session with Cockpit: background tests failing then passing, subagents at work, the PR landing in Trail, the context filling](https://raw.githubusercontent.com/Codestz/opencode-cockpit/main/media/hero.gif)

*A real recording — every demo here is generated from a live OpenCode session by
[`bun run record`](https://github.com/Codestz/opencode-cockpit/blob/main/CONTRIBUTING.md), and re-run on release, so none of them can drift from what
ships.*
*Drawn by Cockpit's own renderers, the same code that runs in your terminal. Every bay, live, is on
the [site](https://codestz.github.io/opencode-cockpit/).*

## Features

Expand Down
4 changes: 4 additions & 0 deletions packages/review/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
**A pull request in the terminal.** Read what changed, hold your thoughts against the lines they
belong to, and send one review instead of six interruptions.

<img src="https://raw.githubusercontent.com/Codestz/opencode-cockpit/main/media/review.gif" width="760" alt="Review: a file marked viewed, a note typed on a line and handed over, the agent resolving it, then a screenshot diff">

*Drawn by the bay's own renderer — the same code that runs in your terminal.*

Part of [opencode-cockpit](https://github.com/Codestz/opencode-cockpit). Install it on its own, or
through the bundle.

Expand Down
4 changes: 3 additions & 1 deletion packages/shell/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ drives, and that you watch and control without leaving the chat. Part of
- **Shells outlive OpenCode.** They run in a small daemon, `cockpitd`, shared by every OpenCode
window and upgraded automatically when the plugin updates.

![A dev server running in the shells panel](https://raw.githubusercontent.com/Codestz/opencode-cockpit/main/media/dock.gif)
<img src="https://raw.githubusercontent.com/Codestz/opencode-cockpit/main/media/shell.gif" width="760" alt="The Shell console: a dev server streaming, then a test run scrolling into a failure, then a build finishing">

*Drawn by the bay's own renderer — the same code that runs in your terminal.*

*Recorded from a real session, re-recorded on every release.*

Expand Down
4 changes: 3 additions & 1 deletion packages/status/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
A statusline for [OpenCode](https://opencode.ai) you can actually configure: declarative segments,
your own TypeScript, or the statusline script you already wrote for Claude Code.

![The statusline under an OpenCode conversation: a context bar at 40%, the token total with its cache, input and output parts, what is uncommitted, elapsed time and todo progress](https://raw.githubusercontent.com/Codestz/opencode-cockpit/main/media/statusline.png)
<img src="https://raw.githubusercontent.com/Codestz/opencode-cockpit/main/media/status.gif" width="760" alt="Status in the sidebar and under the prompt: one session's context filling from calm through 75% and 90%">

*Drawn by the bay's own renderer — the same code that runs in your terminal.*

Part of [opencode-cockpit](https://github.com/Codestz/opencode-cockpit). Install it on its own, or
get it with every other bay through the `opencode-cockpit` bundle.
Expand Down
4 changes: 4 additions & 0 deletions packages/subagents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ sidebar with what it is doing right now, opens its whole run in a pane — think
OpenCode draws its own, the answer — lets you message it, stop it or move it to the background, and
has the main agent continue the subagent that did the work instead of starting from nothing.

<img src="https://raw.githubusercontent.com/Codestz/opencode-cockpit/main/media/subagents.gif" width="760" alt="A subagent's pane: its task, the files it touched, a failed command and its thinking, while it works">

*Drawn by the bay's own renderer — the same code that runs in your terminal.*

Part of [opencode-cockpit](https://github.com/Codestz/opencode-cockpit). Install it on its own, or
through the bundle. Works on OpenCode 1.18+ and 2.0.15+.

Expand Down
4 changes: 4 additions & 0 deletions packages/trail/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@
changed — kept per conversation, grouped by the ticket they were for, and one click from the page.
And the other way round: which conversation opened PR #33, and a jump back into it.

<img src="https://raw.githubusercontent.com/Codestz/opencode-cockpit/main/media/trail.gif" width="760" alt="/trail: this conversation's records, then every conversation in the project and which one made each">

*Drawn by the bay's own renderer — the same code that runs in your terminal.*

Part of [opencode-cockpit](https://github.com/Codestz/opencode-cockpit). Install it on its own, or
through the bundle, where it is on by default (`features.trail: false` turns it off). Works on
OpenCode 1.18+ and 2.0.15+.
Expand Down
4 changes: 4 additions & 0 deletions packages/trust/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ command* a few times in a row, Trust approves it for you — and records it, eve
the count, a dangerous command costs more approvals, and nothing you told OpenCode to always ask
about is ever answered for you.

<img src="https://raw.githubusercontent.com/Codestz/opencode-cockpit/main/media/trust.gif" width="760" alt="Trust learning bun test: three approvals, then Trust answers it, and ctrl+x p shows what it answered">

*Drawn by the bay's own renderer — the same code that runs in your terminal.*

Part of [opencode-cockpit](https://github.com/Codestz/opencode-cockpit). Install it on its own, or
through the bundle. Works on OpenCode 1.18+ and 2.0.15+.

Expand Down
4 changes: 4 additions & 0 deletions packages/updater/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
**Every OpenCode plugin you have installed: what actually runs, what your config says, what is
published — and an update that is checked against disk.**

<img src="https://raw.githubusercontent.com/Codestz/opencode-cockpit/main/media/updater.gif" width="760" alt="/plugins-update: what each plugin runs beside what is published, two selected for an update">

*Drawn by the bay's own renderer — the same code that runs in your terminal.*

Part of [opencode-cockpit](https://github.com/Codestz/opencode-cockpit). It comes with the bundle, and
it also runs on its own from a shell, without OpenCode running at all.

Expand Down
34 changes: 34 additions & 0 deletions scripts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# scripts/

What each script is for, and what runs it. Anything here that nothing runs should go.

## Releasing

| Script | What it does | Run by |
| --- | --- | --- |
| `release.ts` | Prepares a release: bumps every package, promotes the changelog, commits and tags; CI publishes from the tag | `bun run release` |
| `set-version.ts` | Sets every package's version and the pinned versions in READMEs, docs and the landing page | `bun run version:set`, `release.ts` |
| `packages.ts` | The list of packages that publish, in order | `release.ts`, `bootstrap-package.ts`, `trust.ts` |
| `bootstrap-package.ts` | Publishes a new bay's empty `0.0.0` from your machine, so trusted publishing can take over | by hand — CONTRIBUTING, the release workflow's error |
| `trust.ts` | Links a published package to the release workflow as an npm Trusted Publisher | by hand — CONTRIBUTING, the release workflow's error |

## Building and checking

| Script | What it does | Run by |
| --- | --- | --- |
| `build.ts` | Compiles every package to `dist/` | `bun run build`, CI, the release workflow |
| `pack-check.ts` | Packs every package and checks what would publish | `bun run pack:check`, CI, the release workflow |
| `tui-smoke.ts` | Drives a real OpenCode in a PTY through each bay's interface | `bun run smoke:tui` |
| `test-env.ts` | Keeps test runs' logs out of your own `cockpit.log` | `bun test` (preloaded by `bunfig.toml`) |
| `measure-agent.ts` | What every bay's behaviour measurement shares: a real OpenCode, one model turn, what it did | `packages/<bay>/measure/agent.ts` |

## Working on Cockpit

| Script | What it does | Run by |
| --- | --- | --- |
| `dev-install.ts` | Installs this checkout into `~/.cockpit-dev` exactly as a user would get it, to try in a real OpenCode | `bun run dev:install` |
| `clean-daemons.ts` | Stops daemons a test run or a crash left behind | `bun run clean:daemons`, before `test` and `check` |
| `capture.ts` | What OpenCode actually writes to the terminal, escape codes and all — for colour and emphasis bugs no text view shows | `bun run capture` — the Status design skills |

The site has its own scripts in `site/scripts/`: `sync.ts` (the changelog), `engine.ts` (the bays'
renderers for the browser) and `gifs.ts` (the READMEs' GIFs, from the built site).
40 changes: 0 additions & 40 deletions scripts/frame.ts

This file was deleted.

Loading
Loading