Commit f5466e7
chore: rebrand user-facing references to Altimate Code (#134)
* chore: rebrand all user-facing references from OpenCode to Altimate Code
Comprehensive rebranding of user-facing surfaces while preserving
internal code names for upstream compatibility:
- URLs: `opencode.ai` → `altimate.ai`
- GitHub org: `anomalyco/opencode` → `AltimateAI/altimate-code`
- Product name: "OpenCode" → "Altimate Code" in UI, prompts, docs
- CLI binary: `opencode` → `altimate-code` in install scripts, nix
- npm package: `opencode-ai` → `@altimateai/altimate-code`
- Extensions: VSCode rebranded
- Social: X handle → `@Altimateinc`
- Brew tap: `AltimateAI/tap/altimate-code`
- Container registry: `ghcr.io/AltimateAI`
- All 20 localized READMEs
Preserved internal names: `@opencode-ai/` scope, `packages/opencode/`
dir, `OPENCODE_*` env vars, `.opencode/` config paths
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: additional user-facing branding fixes missed from upstream rebase
- `.github/workflows/beta.yml`: "Install OpenCode" → "Install Altimate Code",
`bun i -g opencode-ai` → `bun i -g @altimateai/altimate-code`
- `.github/actions/setup-git-committer/action.yml`: descriptions updated
from "OpenCode GitHub App" → "Altimate Code GitHub App"
- `github/index.ts`: `spawn('opencode')` → `spawn('altimate-code')`
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add upstream merge automation tooling
Comprehensive automation for merging upstream OpenCode releases into
the Altimate Code fork, inspired by Kilo-Org/kilocode's approach.
Key scripts:
- `merge.ts` — 11-step merge orchestration with auto-conflict resolution,
branding transforms, version preservation, and `--continue` support
- `analyze.ts` — `altimate_change` marker integrity audit + branding
leak detection (CI-friendly exit codes)
- `list-versions.ts` — upstream tag listing with merge status indicators
- `verify-restructure.ts` — branch comparison verification
Transforms (10 files):
- Core branding engine with preservation-aware product name handling
- `keepOurs` / `skipFiles` / lock file conflict auto-resolution
- Specialized transforms for `package.json`, Nix, Tauri, i18n,
extensions, web docs, workflows, and build scripts
Configuration:
- All branding rules in TypeScript (`utils/config.ts`) for type safety
- URL, GitHub, registry, email, app ID, social, npm, brew mappings
- Preserve patterns protect internal refs (`@opencode-ai/`, `OPENCODE_`)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: remove upstream-only packages, workflows, and artifacts (Kilo-style cleanup)
Remove upstream platform packages (app, console, containers, desktop,
desktop-electron, docs, enterprise, extensions, function, identity,
slack, storybook, ui, web), translated READMEs, upstream-only workflows,
nix packaging (nix/, flake.nix, flake.lock), SST infra (sst.config.ts,
sst-env.d.ts), specs/, and .signpath/ config.
- Update workspaces from `packages/*` glob to explicit package list
- Remove unused catalog entries and devDependencies (sst, @aws-sdk/client-s3)
- Remove unused scripts (dev:desktop, dev:web, dev:storybook)
- Remove `electron` from trustedDependencies
- Remove `@opencode-ai/app#test` task from turbo.json
- Update merge-config.json and config.ts skipFiles with new patterns
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: remove upstream SST `infra/` directory and add to skipFiles
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: rewrite upstream merge README as a practical runbook
Reorganized around the step-by-step workflow someone would follow
when doing an upstream merge. Covers fork strategy, prerequisites,
the full merge process, configuration reference, and troubleshooting.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: add comprehensive branding, build integrity, and upstream merge guard tests
Add 141 tests across 3 test files to prevent regressions:
- `branding.test.ts` (33 tests): Verify all user-facing surfaces show
Altimate branding — package metadata, CLI entry points, logo, welcome
banner, install script, GitHub Action, VSCode extension, postinstall,
and a full codebase leak scanner for `opencode.ai`/`anomalyco`/`opncd.ai`
- `build-integrity.test.ts` (19 tests): Verify workspace config, turbo.json
validity, package dependencies, binary entry points, skip/keepOurs
consistency, and no orphaned package references
- `upstream-guard.test.ts` (89 tests): Verify skipFiles/keepOurs config
completeness, deleted upstream packages stay deleted, branding rules
coverage, preserve patterns, and no upstream artifacts reappear
Fix 14 upstream branding leaks found by the tests:
- Replace `opencode.ai` URLs with `altimate.ai` in config.ts, retry.ts,
dialog-provider.tsx, oauth-provider.ts, migrate-tui-config.ts
- Replace `opncd.ai` with `altimate.ai` in share-next.ts and import.ts
- Replace "OpenCode Go" with "Altimate Code Go" in dialog-provider.tsx
Add CI enforcement:
- New `branding-check.yml` workflow with branding audit + test jobs
- Add `branding` job to existing `ci.yml` for PR checks
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* chore: remove separate branding CI workflow — tests run with `bun test`
The branding unit tests already run as part of the existing `typescript`
CI job via `bun test`. A separate workflow and branding audit on every
commit is overkill — the `analyze.ts --branding` audit is a merge-time
tool, not a per-commit check.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: persist version snapshot in merge state for `--continue` flow
The `--continue` handler was re-snapshotting versions after the merge
commit, capturing upstream versions instead of our pre-merge versions.
Now the snapshot is saved in `.upstream-merge-state.json` and restored
when resuming.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: address code review — XSS, branding leaks, regex safety
- Fix XSS in OAuth error page: escape HTML in error parameter
- Fix branding: `client_name` and HTML titles/text in OAuth pages
now show "Altimate Code" instead of "OpenCode"
- Fix Anthropic plugin regex: add word boundaries (`\b`) to prevent
replacing "opencode" inside URLs, paths, and identifiers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* ci: retry CI run
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>1 parent 2a09639 commit f5466e7
File tree
3,735 files changed
+6273
-503308
lines changed- .github
- actions/setup-git-committer
- workflows
- .signpath/policies/opencode
- github
- infra
- nix
- scripts
- packages
- app
- e2e
- app
- commands
- files
- models
- projects
- prompt
- session
- settings
- sidebar
- status
- terminal
- public
- script
- src
- addons
- components
- prompt-input
- server
- session
- context
- file
- global-sync
- hooks
- i18n
- pages
- layout
- session
- composer
- utils
- console
- app
- .opencode/agent
- public
- script
- src
- asset
- black
- brand
- lander
- component
- context
- i18n
- lib
- routes
- api
- auth
- bench
- black
- subscribe
- brand
- changelog
- debug
- docs
- download
- [channel]
- enterprise
- go
- legal
- privacy-policy
- terms-of-service
- stripe
- s
- t
- workspace
- [id]
- billing
- keys
- members
- settings
- zen
- go/v1
- chat
- util
- provider
- v1
- chat
- models
- style
- component
- token
- test
- core
- migrations
- 20250902065410_fluffy_raza
- 20250903035359_serious_whistler
- 20250911133331_violet_loners
- 20250911141957_dusty_clint_barton
- 20250911214917_first_mockingbird
- 20250911231144_jazzy_skrulls
- 20250912021148_parallel_gauntlet
- 20250912161749_familiar_nightshade
- 20250914213824_eminent_ultimatum
- 20250914222302_redundant_piledriver
- 20250914232505_needy_sue_storm
- 20250915150801_freezing_phil_sheldon
- 20250915172014_bright_photon
- 20250915172258_absurd_hobgoblin
- 20250919135159_demonic_princess_powerful
- 20250921042124_cloudy_revanche
- 20250923213126_cold_la_nuit
- 20250924230623_woozy_thaddeus_ross
- 20250928163425_nervous_iron_lad
- 20250928235456_dazzling_cable
- 20250929181457_supreme_jack_power
- 20250929224703_flawless_clea
- 20251002175032_nice_dreadnoughts
- 20251002223020_optimal_paibok
- 20251003202205_early_black_crow
- 20251003210411_legal_joseph
- 20251004030300_numerous_prodigy
- 20251004045106_hot_wong
- 20251007024345_careful_cerise
- 20251007043715_panoramic_harrier
- 20251007230438_ordinary_ultragirl
- 20251008161718_outgoing_outlaw_kid
- 20251009021849_white_doctor_doom
- 20251016175624_cynical_jack_flag
- 20251016214520_short_bulldozer
- 20251017015733_narrow_blindfold
- 20251017024232_slimy_energizer
- 20251031163113_messy_jackal
- 20251125223403_famous_magik
- 20251228182259_striped_forge
- 20260105034337_broken_gamora
- 20260106204919_odd_misty_knight
- 20260107000117_flat_nightmare
- 20260107022356_lame_calypso
- 20260107041522_tiny_captain_midlands
- 20260107055817_cuddly_diamondback
- 20260108224422_charming_black_bolt
- 20260109000245_huge_omega_red
- 20260109001625_mean_frank_castle
- 20260109014234_noisy_domino
- 20260109040130_bumpy_mephistopheles
- 20260113215232_jazzy_green_goblin
- 20260113223840_aromatic_agent_zero
- 20260116213606_gigantic_hardball
- 20260116224745_numerous_annihilus
- 20260122190905_moaning_karnak
- 20260222233442_clever_toxin
- 20260224043338_nifty_starjammers
- script
- src
- drizzle
- schema
- util
- test
- function
- src
- mail
- emails
- templates
- static
- resource
- containers
- base
- bun-node
- publish
- rust
- script
- tauri-linux
- desktop-electron
- icons
- beta
- android
- mipmap-anydpi-v26
- mipmap-hdpi
- mipmap-mdpi
- mipmap-xhdpi
- mipmap-xxhdpi
- mipmap-xxxhdpi
- values
- ios
- dev
- android
- mipmap-anydpi-v26
- mipmap-hdpi
- mipmap-mdpi
- mipmap-xhdpi
- mipmap-xxhdpi
- mipmap-xxxhdpi
- values
- ios
- prod
- android
- mipmap-anydpi-v26
- mipmap-hdpi
- mipmap-mdpi
- mipmap-xhdpi
- mipmap-xxhdpi
- mipmap-xxxhdpi
- values
- ios
- resources
- scripts
- src
- main
- preload
- renderer
- i18n
- desktop
- scripts
- src-tauri
- assets
- capabilities
- icons
- beta
- android
- mipmap-anydpi-v26
- mipmap-hdpi
- mipmap-mdpi
- mipmap-xhdpi
- mipmap-xxhdpi
- mipmap-xxxhdpi
- values
- ios
- dev
- android
- mipmap-anydpi-v26
- mipmap-hdpi
- mipmap-mdpi
- mipmap-xhdpi
- mipmap-xxhdpi
- mipmap-xxxhdpi
- values
- ios
- prod
- android
- mipmap-anydpi-v26
- mipmap-hdpi
- mipmap-mdpi
- mipmap-xhdpi
- mipmap-xxhdpi
- mipmap-xxxhdpi
- values
- ios
- release
- src
- os
- src
- i18n
- docs
- ai-tools
- essentials
- images
- logo
- snippets
- enterprise
- public
- script
- src
- core
- routes
- api
- test/core
- extensions/zed
- icons
- function
- src
- identity
- opencode
- src
- altimate/plugin
- cli/cmd
- tui/component
- config
- mcp
- session
- test/branding
- slack
- src
- storybook
- .storybook
- mocks
- app
- components
- context
- hooks
- ui
- script
- src
- assets
- audio
- favicon
- fonts
- icons
- app
- file-types
- provider
- images
- components
- app-icons
- file-icons
- provider-icons
- context
- hooks
- i18n
- pierre
- storybook
- styles
- tailwind
- theme
- themes
- web
- public
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
3,735 files changed
+6273
-503308
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
31 | | - | |
| 30 | + | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
| 86 | + | |
This file was deleted.
This file was deleted.
This file was deleted.
0 commit comments