This guide covers both ways to launch Open Code from Code-OSS while keeping it releasable.
- Create a GitHub fork from
microsoft/vscode. - Keep
originas your repo and add:
git remote add upstream https://github.com/microsoft/vscode.git
git fetch upstream- Create your main product branch from upstream:
git checkout -b open-code/main upstream/main
git push -u origin open-code/main- Periodically sync:
git fetch upstream
git checkout open-code/main
git rebase upstream/main
git push --force-with-lease origin open-code/mainUse this if you do not want permanent upstream wiring.
- Import Code-OSS history into your repository baseline.
- Remove or avoid
upstreamremote. - Pull upstream changes on your own cadence (manual mirror/import).
You are still a downstream fork in engineering terms as long as your code lineage is from Code-OSS.
Before public release:
- reproducible build docs
- signed binaries where required
- changelog + attribution discipline
- security policy and disclosure process
- extension strategy (Open VSX first)
- explicit credential handling policy (no plaintext secrets)
Open Code is releasable when:
- Code-OSS lineage is documented,
- branch governance is clear,
- agent edit/review loop is stable,
- memory behavior is explicit and revocable,
- desktop artifacts are reproducible and publishable.