Repository navigation
chore: restore the upstream doc sources as a sync merge base - #180
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR #122 deleted
packages/webwholesale. 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 atFROMand is absent fromHEAD. 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
.mdxsources, at their upstream paths, recovered fromaea63bb^so they keep the fork's existing rebrand rather than a re-derived one. Upstream'sv1.18.3..v1.18.4delta is then ported into the only two pages that changed —go.mdxandzen.mdx. Both now match upstream v1.18.4 byte for byte onceCoDev Codeis normalised back toOpenCode.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 includinges/, andpackages/docs/.Without them the surviving
.mdxfiles have dangling imports — Starlight components,../../../config.mjs,../../assets/**. That is deliberate: nothing compiles these files. There is nopackage.json, so the directory is not a workspace member —bun.lockis byte-identical andturbo typecheckstill 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.mdsays so at the source, andAGENTS.mdwarns off documenting fork features here.Bookkeeping
DIVERGENCES.md— rewrote thepackages/webdeletion row; restored the web-docs rebrand andgithub.mdxrows that chore: remove the in-repo docs site #122 deleted outright (English-only now thates/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 andsrc/content/i18n/into the locale row.':(exclude,glob)packages/web/src/content/docs/*/**'so upstream locale files new inTOcan't slip past the deleted-path filter, a note that the same hole applies to any other newpackages/webfile, and an explicit post-sync step to diff the docs and port the result.Verification
Filter behaviour against the committed tree, using
aea63bb^asFROM:docs/config.mdx,docs/keybinds.mdxdocs/es/config.mdxsrc/content/i18n/en.jsonastro.config.mjsThe new pathspec was exercised too:
git diff aea63bb^ HEAD -- <docs> ':(exclude,glob)…/docs/*/**'returnsgo.mdxandzen.mdxand 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