Skip to content

chore: restore the upstream doc sources as a sync merge base - #180

Merged
quickbeard merged 1 commit into
mainfrom
restore-upstream-docs
Aug 10, 2026
Merged

quickbeard merged 1 commit into
mainfrom
restore-upstream-docs

Conversation

@quickbeard

Copy link
Copy Markdown
Owner

PR #122 deleted packages/web wholesale. That correctly removed a docs site the fork never deploys — but it also removed the doc sources, and the sync runbook drops any path that existed at FROM and is absent from HEAD. From that point on, upstream's doc edits were skipped in silence instead of raising a conflict.

The cost was immediate and invisible: the v1.18.4 sync landed the day after the deletion and carried none of upstream's doc changes.

What comes back

The 36 English .mdx sources, at their upstream paths, recovered from aea63bb^ so they keep the fork's existing rebrand rather than a re-derived one. Upstream's v1.18.3..v1.18.4 delta is then ported into the only two pages that changed — go.mdx and zen.mdx. Both now match upstream v1.18.4 byte for byte once CoDev Code is normalised back to OpenCode.

Verified against aea63bb^: the other 34 pages are unchanged from the pre-deletion state.

What stays deleted

The Astro scaffolding (astro.config.mjs, config.mjs, package.json, src/{components,pages,assets,styles,i18n,types}, public/, middleware.ts, content.config.ts), the marketing lander, the /s/<id> share viewer, src/content/i18n/, every translated docs directory including es/, and packages/docs/.

Without them the surviving .mdx files have dangling imports — Starlight components, ../../../config.mjs, ../../assets/**. That is deliberate: nothing compiles these files. There is no package.json, so the directory is not a workspace member — bun.lock is byte-identical and turbo typecheck still reports 32/32.

These are a merge base, not docs

The documentation users read stays in codev-landing-page (content/docs/code/{en,vi}), converted to that site's MDX pipeline. The two cannot be merged mechanically — different structure, different components, different page set. A conflict in this directory is a signal to port the substance across by hand. packages/web/FORK-DOCS.md says so at the source, and AGENTS.md warns off documenting fork features here.

Bookkeeping

  • DIVERGENCES.md — rewrote the packages/web deletion row; restored the web-docs rebrand and github.mdx rows that chore: remove the in-repo docs site #122 deleted outright (English-only now that es/ is gone); re-added the doc mentions pruned from the three keybind rows, the config-file rename row and the repo-links row; folded the deleted translated docs dirs and src/content/i18n/ into the locale row.
  • Sync runbook — added ':(exclude,glob)packages/web/src/content/docs/*/**' so upstream locale files new in TO can't slip past the deleted-path filter, a note that the same hole applies to any other new packages/web file, and an explicit post-sync step to diff the docs and port the result.

Verification

Filter behaviour against the committed tree, using aea63bb^ as FROM:

Path Before Now
docs/config.mdx, docs/keybinds.mdx skipped silently surfaces as a conflict
docs/es/config.mdx skipped skipped (stays deleted)
src/content/i18n/en.json skipped skipped
astro.config.mjs skipped skipped

The new pathspec was exercised too: git diff aea63bb^ HEAD -- <docs> ':(exclude,glob)…/docs/*/**' returns go.mdx and zen.mdx and 0 locale files.

Also: bun install → no lockfile change; bun turbo typecheck --concurrency=3 → 32/32.

Known limitation

Because these files track upstream, they sit behind the published docs for fork-only features documented after #122 (permission-mode indicator, shift+tab cycle, IDE drag-and-drop, the new Desktop page). That is inherent to a merge base whose job is to report what upstream changed. Back-porting those into this copy is a separate call.

🤖 Generated with Claude Code

PR #122 deleted packages/web wholesale. That removed a docs site the fork
never deploys, but it also removed the doc *sources* — and the sync
runbook drops any path that existed at FROM and is absent from HEAD, so
from then on upstream's doc edits were skipped in silence rather than
raising a conflict. The v1.18.4 sync landed the day after the deletion
and carried none of upstream's doc changes.

Restores the 36 English .mdx sources at their upstream paths, recovered
from aea63bb^ so they keep the fork's existing rebrand, then ports
upstream's v1.18.3..v1.18.4 delta into the only two pages that changed
(go.mdx, zen.mdx). Both now match upstream v1.18.4 byte for byte once
"CoDev Code" is normalised back to "OpenCode".

Nothing else comes back: the Astro scaffolding, public assets, the
marketing lander, the /s/<id> share viewer, src/content/i18n and every
translated docs directory (including es/) stay deleted, as does
packages/docs. Without them the .mdx imports dangle by design — nothing
compiles these files. The directory is not a workspace member, so
bun.lock is unchanged and turbo still sees 32 tasks.

These are a merge base, not published docs. The docs users read stay in
codev-landing-page (content/docs/code/{en,vi}); a conflict here is a
signal to port the substance across by hand.

Bookkeeping:
- DIVERGENCES.md: rewrote the packages/web deletion row; restored the
  web-docs rebrand and github.mdx rows (English-only now that es/ is
  gone); re-added the doc mentions pruned from the three keybind rows,
  the config-file rename row and the repo-links row; folded the deleted
  translated docs dirs and src/content/i18n into the locale row.
- Sync runbook: added a pathspec so upstream locale files new in TO
  cannot reappear through the deleted-path filter, a note about the same
  hole for other new packages/web files, and an explicit post-sync step
  to port the doc diff into codev-landing-page.
- packages/web/FORK-DOCS.md (fork-only): explains what this directory is
  for, that it is never built, and where to actually edit the docs.
- AGENTS.md: warns off documenting fork features here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@quickbeard
quickbeard merged commit 74416d9 into main Aug 10, 2026
0 of 5 checks passed
@quickbeard
quickbeard deleted the restore-upstream-docs branch August 10, 2026 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant