From 2f8acba4eb71f368ba1f61883210f835f62e1036 Mon Sep 17 00:00:00 2001 From: quickbeard Date: Tue, 14 Jul 2026 23:33:56 +0700 Subject: [PATCH] docs(web): rebrand docs header to codev GitHub social link and edit links point at quickbeard/codev-code (edit links on main, the fork's default branch); the Discord icon and the Lander footer's Discord link are gone (no fork Discord); the header logo is the pixel-grid lowercase codev wordmark from the CLI banner, teal on dark and purple on light with the same tinted drop shadow. Co-Authored-By: Claude Fable 5 --- DIVERGENCES.md | 1 + packages/web/astro.config.mjs | 10 ++-- packages/web/config.mjs | 3 +- packages/web/src/assets/logo-dark.svg | 66 ++++++++++++++++++------ packages/web/src/assets/logo-light.svg | 66 ++++++++++++++++++------ packages/web/src/components/Lander.astro | 4 -- 6 files changed, 104 insertions(+), 46 deletions(-) diff --git a/DIVERGENCES.md b/DIVERGENCES.md index 06f788f473..bdac533c7b 100644 --- a/DIVERGENCES.md +++ b/DIVERGENCES.md @@ -136,6 +136,7 @@ from the squash message first, or use a plain merge. | Env-var rename, repo-wide (~230 files): both flag registries (`packages/core/src/flag/flag.ts`, `packages/opencode/src/effect/runtime-flags.ts`), every `process.env`/`Bun.env` read+set site across `packages/*`, `sdks/vscode`, `infra/enterprise.ts`, `nix/opencode.nix`, `turbo.json`, `.github/workflows/test.yml`, test preloads/fixtures/snapshots, docs (en + es), `SECURITY.md`, specs | `OPENCODE_*` env vars → `CODEV_*` (hard cutover, no legacy fallback), including the bundler define identifiers (`CODEV_VERSION`, `CODEV_CHANNEL`, `CODEV_MODELS_DEV`, `CODEV_LIBC`, `CODEV_CLI_NAME`, `CODEV_WORKER_PATH`), `VITE_OPENCODE_*` → `VITE_CODEV_*`, `import.meta.env.OPENCODE_CHANNEL` → `CODEV_CHANNEL`, the VSCode extension's `OPENCODE_CALLER`/`_EXTENSION_OPENCODE_PORT`, and the bare `OPENCODE=1` marker → `CODEV=1` | The fork's env surface uses the fork's name (reverses the earlier "internal names stay upstream" decision for env vars). NOT renamed: `__OPENCODE_PHOTON_WASM_PATH` and `__OPENCODE__` globals (not env vars; the photon name is baked into `patches/@silvia-odwyer%2Fphoton-node@0.3.4.patch`), `patches/install-korean-ime-fix.sh` script-local shell vars, upstream secret names in workflow-deletion notes, lowercase identifiers (`@opencode-ai/*`, URLs, provider id) | Keep our names; rename any new upstream `OPENCODE_*` env var (or define/`VITE_` name) to `CODEV_*` when syncing. | | Locale dicts in `packages/{ui,app}/src/i18n/`, `packages/desktop/src/renderer/i18n/`, `packages/console/app/src/i18n/`, `packages/stats/app/src/i18n/`, `packages/web/src/content/i18n/`; translated docs dirs in `packages/web/src/content/docs/` | Deleted every locale except `en`/`es` (incl. `packages/app/src/i18n/parity.test.ts`) | Fork ships English + Spanish only. | Keep deleted (`git rm` the upstream side of modify/delete conflicts); also delete any locale files upstream adds. | | `packages/app/src/context/language.tsx`, `packages/app/src/entry.tsx`, `packages/desktop/src/renderer/i18n/index.ts`, `packages/console/app/src/i18n/index.ts`, `packages/console/app/src/lib/language.ts`, `packages/console/app/src/component/footer.tsx`, `packages/stats/app/src/i18n.ts`, `packages/web/src/i18n/locales.ts`, `packages/web/astro.config.mjs`, `packages/enterprise/src/app.tsx`, `packages/app/e2e/regression/session-timeline-locale-projection.spec.ts` | Locale registries trimmed to `en` + `es`: `Locale` types, LOCALES/LABEL/TAG/DOCS maps, dict loaders, accept-language matchers, starlight `locales` config; enterprise/entry `zh` special cases now use `es`; console footer always links Discord (Feishu was zh-only); e2e locale-projection spec tests `es` ("Explorado") instead of de/ar | Fork ships English + Spanish only. | Keep our trimmed lists; take upstream's structural changes and re-trim any new locale entries. | +| `packages/web/config.mjs`, `packages/web/astro.config.mjs`, `packages/web/src/components/Lander.astro`, `packages/web/src/assets/logo-light.svg`, `packages/web/src/assets/logo-dark.svg` | Docs-site header rebrand. config.mjs: `github` → `https://github.com/quickbeard/codev-code`, `discord` key removed. astro.config.mjs: starlight `title` `"OpenCode"` → `"CoDev Code"` (the browser-tab title suffix), `social` keeps only GitHub (Discord entry dropped), `editLink.baseUrl` `/edit/dev/` → `/edit/main/` (fork's default branch), logo `alt: "CoDev Code"`. Lander.astro: removed the footer Discord column and its unguarded `discord.href` read (the guarded Footer.astro Discord link disappears on its own once the social entry is gone). Logo SVGs replaced with the pixel-grid lowercase `codev` wordmark generated from `packages/tui/src/logo.ts` — dark: secondary teal `#0891B2` + shadow `#0A2C34`; light: secondary purple `#7B5BB6` + shadow `#DED6ED` (both shadows are `tint(background, secondary, 0.25)` per the TUI banner). | The docs header must point at the fork's repo and brand; the fork has no Discord community. | Keep our github URL, discord removals, edit-link branch, alt, and both logo SVGs wholesale; take upstream's surrounding config/markup changes. | | `packages/tui/src/component/prompt/autocomplete.tsx`, `packages/app/src/components/prompt-input.tsx`, `packages/opencode/src/cli/cmd/run/footer.prompt.tsx`, `packages/core/src/filesystem/search.ts`, `packages/tui/test/fixture/tui-sdk.ts`, `packages/opencode/test/cli/run/footer.view.test.tsx`, `packages/core/test/filesystem/search.test.ts` | `@` mention autocomplete lists file/directory results before references/agents/MCP resources; TUI and run-CLI menus cap the leading files so up to 3 non-file matches stay in the first visible page; web app group rank reordered to recent → file → reference → agent → resource (extracted into fork-only `prompt-input/at-options.ts`). TUI and run-CLI file resources track menu visibility so opening on an empty query fetches (previously nothing refetched until the query changed); core's ripgrep-fallback `find` returns its first entries for an empty query to mirror fff. Tests: tui-sdk fixture's `FetchHandler` gains an optional `method` arg, `renderFooter` accepts `findFiles`/`agents` overrides + a mention-menu ordering test, core search tests cover the fallback's empty query (fork-only test files: `packages/tui/test/prompt-autocomplete.test.tsx`, `packages/app/test-browser/prompt-at-options.test.ts`, `packages/app/src/components/prompt-input/at-options{,.test}.ts`) | Files are the dominant `@` use case; they should rank first and appear on a bare `@`. | Keep our ordering/reserve logic, resource source tracking, empty-query branch, fixture/test additions; take upstream's surrounding changes. | ## Known rebrand gaps diff --git a/packages/web/astro.config.mjs b/packages/web/astro.config.mjs index 5225a9c8b5..9a42bd3931 100644 --- a/packages/web/astro.config.mjs +++ b/packages/web/astro.config.mjs @@ -31,7 +31,7 @@ export default defineConfig({ configSchema(), solidJs(), starlight({ - title: "OpenCode", + title: "CoDev Code", defaultLocale: "root", locales: { root: { @@ -75,12 +75,9 @@ export default defineConfig({ ], lastUpdated: true, expressiveCode: { themes: ["github-light", "github-dark"] }, - social: [ - { icon: "github", label: "GitHub", href: config.github }, - { icon: "discord", label: "Discord", href: config.discord }, - ], + social: [{ icon: "github", label: "GitHub", href: config.github }], editLink: { - baseUrl: `${config.github}/edit/dev/packages/web/`, + baseUrl: `${config.github}/edit/main/packages/web/`, }, markdown: { headingLinks: false, @@ -89,6 +86,7 @@ export default defineConfig({ logo: { light: "./src/assets/logo-light.svg", dark: "./src/assets/logo-dark.svg", + alt: "CoDev Code", replacesTitle: true, }, sidebar: [ diff --git a/packages/web/config.mjs b/packages/web/config.mjs index 08ab45bda7..ca30a6bff3 100644 --- a/packages/web/config.mjs +++ b/packages/web/config.mjs @@ -5,8 +5,7 @@ export default { console: stage === "production" ? "https://opencode.ai/auth" : `https://${stage}.opencode.ai/auth`, email: "help@anoma.ly", socialCard: "https://social-cards.sst.dev", - github: "https://github.com/anomalyco/opencode", - discord: "https://opencode.ai/discord", + github: "https://github.com/quickbeard/codev-code", headerLinks: [ { name: "app.header.home", url: "/" }, { name: "app.header.docs", url: "/docs/" }, diff --git a/packages/web/src/assets/logo-dark.svg b/packages/web/src/assets/logo-dark.svg index a158273242..dffc20c896 100644 --- a/packages/web/src/assets/logo-dark.svg +++ b/packages/web/src/assets/logo-dark.svg @@ -1,18 +1,50 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/web/src/assets/logo-light.svg b/packages/web/src/assets/logo-light.svg index 2a856dccef..fdb3ac4a2c 100644 --- a/packages/web/src/assets/logo-light.svg +++ b/packages/web/src/assets/logo-light.svg @@ -1,18 +1,50 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/web/src/components/Lander.astro b/packages/web/src/components/Lander.astro index 9713cfff60..fa0babd954 100644 --- a/packages/web/src/components/Lander.astro +++ b/packages/web/src/components/Lander.astro @@ -20,7 +20,6 @@ const imageAttrs = { }; const github = (config.social || []).filter(s => s.icon === 'github')[0]; -const discord = (config.social || []).filter(s => s.icon === 'discord')[0]; const locale = Astro.currentLocale || 'root'; const t = Astro.locals.t as (key: string) => string; const docsHref = getRelativeLocaleUrl(locale, "") @@ -187,9 +186,6 @@ if (image) { -
- Discord -