You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 481ac6f
Browse filesBrowse the repository at this point in the historyBrowse files
chore: rebrand platform binary to codev and add release workflow
Close the "Publishing" rebrand gap: platform packages now ship
bin/codev instead of bin/opencode (build outfile, publish stub, and
postinstall copy all renamed), and a fork-only release workflow
publishes to npm from CI and creates the v<version> GitHub release
with codev-<platform> binaries for the latest channel — making the
install docs' Releases link and the updater's GitHub fallback real.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: DIVERGENCES.md
+3-11Lines changed: 3 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,10 +72,10 @@ from the squash message first, or use a plain merge.
72
72
|`packages/tui/src/ui/dialog.tsx`| Added a `persistent` store flag (with `setPersistent`/`persistent` accessors): escape and the click-outside backdrop no-op while set, and ctrl+c dispatches `app.exit.confirm` (base-mode-only, so suppressed under modal) instead of closing; every `replace`/`clear` resets it to false | The CoDev gateway configure flow is a non-dismissable first-run gate; ctrl+c stays the quit escape hatch (double-press — see the double-Ctrl+C row). Default-false keeps every other dialog dismissable. | Keep our persistent flag, the escape/backdrop guards, the ctrl+c `app.exit.confirm` dispatch, and the reset lines; take upstream's surrounding changes. |
73
73
|`packages/tui/src/ui/dialog-select.tsx`| Added a `persistent?` prop that hides the top-right `esc` hint | A non-dismissable select shouldn't advertise `esc` (the dialog store's persistent flag blocks the actual close). | Keep our prop + the `Show` wrapper around the esc label; take upstream's surrounding changes. |
74
74
|`packages/tui/src/ui/dialog-prompt.tsx`| Added `persistent?` (hides the `esc` hint + `DialogPrompt.show` re-arms the store flag), `onInput?` (fires on textarea content change), and `ref?` props | The configure flow's prompts (SSO login, manual credentials) are non-dismissable, and the SSO view watches `onInput` for the lone-`c` copy shortcut on the paste-back link (needs the `ref` to clear the field). | Keep our three props, the `Show` around the esc label, the textarea `onContentChange`, and the `.show` re-arm; take upstream's surrounding changes. |
75
-
|`packages/opencode/script/build.ts`| Platform packages' `package.json` name `codev-code-<platform>` (dist dir names unchanged — the bun compile target derives from them)| npm publishing under the fork's names. | Keep our `name:` line; take upstream's surrounding changes. |
76
-
|`packages/opencode/script/publish.ts`|`PUBLISH_NAME = "codev-code"` const; npm description "CoDev Code — the AI agent harness"; published-name→dir map; main pkg name + bin key `codev`; embedded README (hub via `codevhub install`, direct install runs `codev`); env-guarded exit before the Docker/AUR/Homebrew section | npm-only publishing under the fork's names (unscoped, public on npmjs); the installed command is `codev`; upstream's other channels target anomalyco infra. | Keep our names, description, bin key + early exit; take upstream's npm-section changes above the exit. |
75
+
|`packages/opencode/script/build.ts`| Platform packages' `package.json` name `codev-code-<platform>` (dist dir names unchanged — the bun compile target derives from them); compiled binary emitted as `bin/codev` (was `bin/opencode`; smoke-test path follows) | npm publishing under the fork's names; the binary inside platform packages carries the fork's name (postinstall.mjs copies it into the `codev` bin shim). The `Script.release` upload block stays upstream-shaped and unused — the fork's `.github/workflows/release.yml` packages and uploads GitHub-release artifacts itself. | Keep our `name:` line and `bin/codev` paths; take upstream's surrounding changes. |
76
+
|`packages/opencode/script/publish.ts`|`PUBLISH_NAME = "codev-code"` const; npm description "CoDev Code — the AI agent harness"; published-name→dir map; main pkg name + bin `codev` → `./bin/codev.exe` (postinstall stub file renamed from `${pkg.name}.exe`, matching the renamed platform binary); embedded README (hub via `codevhub install`, direct install runs `codev`); env-guarded exit before the Docker/AUR/Homebrew section | npm-only publishing under the fork's names (unscoped, public on npmjs); the installed command is `codev`; upstream's other channels target anomalyco infra. | Keep our names, description, bin mapping + early exit; take upstream's npm-section changes above the exit. |
77
77
|`packages/opencode/bin/opencode`|`base` prefix `opencode-` → `codev-code-`| Runtime platform-binary lookup must match the published names. | Keep our prefix. |
78
-
|`packages/opencode/script/postinstall.mjs`|`base` prefix `opencode-` → `codev-code-`| Install-time platform-binary fetch must match the published names. | Keep our prefix. |
78
+
|`packages/opencode/script/postinstall.mjs`|`base` prefix `opencode-` → `codev-code-`; source/target binary names `opencode`/`opencode.exe` → `codev`/`codev.exe` (matches build.ts's `bin/codev` and publish.ts's `bin/codev.exe` stub); temp-dir prefix and failure message rebranded | Install-time platform-binary fetch must match the published package and binary names. | Keep our prefix and binary names. |
79
79
|`packages/tui/src/logo.ts`| Pixel glyphs "open"+"code" → "co"+"dev"; added composed `wordmark` (plain lines) and `ansiWordmark` (bold brand teal + drop shadow) exports for CLI banners | Branded wordmark art; `ansiWordmark` feeds the CLI help banner and session epilogue. | Keep our glyphs + exports; take upstream's surrounding changes. |
80
80
|`packages/tui/src/component/logo.tsx`| Renders the lowercase codev wordmark in the theme's `secondary` color (bold, with a `tint`-derived drop shadow) instead of upstream's two-tone "open"+"code" | Home banner shows the brand wordmark in the active theme's brand color (teal in dark, purple in light). | Keep our version wholesale. |
81
81
|`packages/tui/src/theme/assets/codev.json` (new file), `packages/tui/src/theme/index.ts`, `packages/tui/src/context/theme.tsx`| Added the `codev` theme — upstream's `opencode.json` palette with `darkSecondary` → `#0891b2` (brand teal) — registered it in the theme index, and made it the default/fallback theme (`"opencode"` → `"codev"` in the store default, kv fallback, and load-failure fallbacks). `theme/assets/opencode.json` itself matches upstream again. | Brand accent lives in a fork-owned theme instead of edits to upstream's palette; the default theme carries the brand. | Keep our theme file, its index registration, and the fallback strings; when upstream changes the opencode palette, mirror it into `codev.json` (keeping our `darkSecondary`). |
@@ -143,14 +143,6 @@ from the squash message first, or use a plain merge.
143
143
144
144
## Known rebrand gaps
145
145
146
-
-**Publishing**: npm packages publish as `codev-code` / `codev-code-<platform>` — unscoped,
147
-
therefore PUBLIC on npmjs (like `codev-ai`). Local-only for now (no CI workflow): run
148
-
`bun run release [channel] [--skip-build]` from `packages/opencode` with npm publish
149
-
auth in place. The version comes from package.json (upstream-synced — releases track
150
-
the upstream version the fork was built from; numeric revision like
151
-
`1.17.16-1` for fork-only re-releases, see README → Publishing).
152
-
Docker/AUR/Homebrew/GitHub-release channels are upstream-only and
153
-
disabled. The binary inside platform packages is still named `opencode` (cosmetic).
Copy file name to clipboardExpand all lines: README.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,6 +53,10 @@ Notes:
53
53
- The wrapper refuses to run when the version is already on npm — for a fork-only re-release, bump the revision suffix first (see [Bumping the version](#bumping-the-version) above).
54
54
- Verify after publishing: `npm view codev-code` and `npm i -g codev-code && codev --version`.
55
55
56
+
### Publishing from CI
57
+
58
+
The `release` workflow (GitHub → Actions → release → Run workflow) runs the same `bun run release [channel]` on a GitHub runner, and for the `latest` channel it also creates the `v<version>` GitHub release with the platform binaries attached (`codev-<platform>-<arch>.tar.gz`/`.zip`) — the install docs and the updater's GitHub fallback point at those releases. It needs an `NPM_TOKEN` repository secret: a granular npm automation token with read/write access to the `codev-code` packages.
59
+
56
60
## Syncing and divergences
57
61
58
62
The upstream sync procedure and the divergence policy live in [DIVERGENCES.md](DIVERGENCES.md).
0 commit comments