fix: [#309] point install endpoint at altimate.sh/install (not altimate.ai/install)
Merged
AN
5mo ago+41+41+01234567890123456789-12-12-01234567890123456789
What does this PR do?
Swaps the install endpoint from altimate.ai/install (unreachable — HTML 404 on the marketing-site SPA) to altimate.sh/install (the canonical altimate-code site, where a Next.js route handler now serves the curl install script — see AltimateAI/altimate-code-website#22).
The mismatch broke v0.7.1's standalone install path end-to-end. Two failures, one URL:
curl -fsSL https://altimate.ai/install | bashfetched HTML and tried to bash-execute it (would error out, but with a confusing symptom — not a clear "endpoint missing" message).altimate upgradefor curl-installed users fetches the install URL viaInstallation.upgradeCurl()inpackages/opencode/src/installation/index.ts:37to re-run the install script. With the broken URL, every curl-installed user's in-place upgrade silently failed.
Type of change
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- Documentation update
- Other: doc + test sweep to keep references in sync
Issue for this PR
Closes #309
How did you verify your code works?
-
bun turbo typecheck --filter=@altimateai/altimate-code— clean -
bun test --timeout 30000 test/install/ test/installation/ test/branding/ test/skill/release-v0.7.1-*— 420/420 pass -
bun run script/upstream/analyze.ts --markers --base main --strict—okno upstream-shared files modified - Updated
packages/opencode/test/install/upgrade-method.test.ts:88-93so the assertion now requiresaltimate.sh/installAND rejectsaltimate.ai/install(negative assertion catches future regression that reintroduces the broken URL) - Updated
packages/opencode/test/branding/branding.test.ts:124-130"references altimate-owned domain" check the same way - Updated
packages/opencode/test/skill/release-v0.7.1-binary-adversarial.test.ts:284README curl-install assertion that was pinning the old URL - After companion website PR ships + this PR merges + next release:
altimate upgradefrom a curl-installed binary upgrades in place (manual verification) - After companion website PR ships:
curl -fsSL https://altimate.sh/install | bashend-to-end smoke (manual verification)
Checklist
- My code follows the style guidelines of this project
- I have performed a self-review of my code
- I have commented my code, particularly in hard-to-understand areas (the negative-assertion comments explain why both directions of the test matter)
- I have made corresponding changes to the documentation (
docs/docs/reference/troubleshooting.md) - My changes generate no new warnings
- I have added tests that prove my fix is effective (negative assertions on
altimate.ai/installin two test files) - New and existing unit tests pass locally with my changes
- Any dependent changes have been merged and published: pending — the companion website PR (AltimateAI/altimate-code-website#22) ships the route handler at
altimate.sh/install. Merge order: website first, then this.
Files touched
| File | Change |
|---|---|
install | 2× altimate.ai/install → altimate.sh/install (--help examples) |
README.md | install instruction |
packages/opencode/src/installation/index.ts | fetch("https://altimate.sh/install") in upgradeCurl() |
docs/docs/reference/troubleshooting.md | 3× references in install-path troubleshooting section |
packages/opencode/test/install/upgrade-method.test.ts | assertion updated + negative assertion against legacy URL |
packages/opencode/test/branding/branding.test.ts | brand-domain assertion updated + negative assertion |
packages/opencode/test/skill/release-v0.7.1-binary-adversarial.test.ts | README curl-install assertion updated |
Out of scope
docs/mkdocs.yml:51referencesaltimate.ai/discord— that's the Discord invite on the marketing site, not the install path. Left unchanged.
Pairs with
- AltimateAI/altimate-code-website#22 — adds the
app/install/route.tshandler that serves the curl script ataltimate.sh/installwith properContent-Typeand GA4 download tracking.
🤖 Generated with Claude Code
Summary by cubic
Switch the install endpoint to https://www.altimate.sh/install and add a 15s timeout in upgradeCurl() to prevent hung upgrades. Fixes curl installs and restores altimate upgrade for curl users (issue #309).
- Bug Fixes
upgradeCurl()now fetches fromhttps://www.altimate.sh/install(inside analtimate_changeblock).- Bound the fetch with
AbortSignal.timeout(15_000)to fail fast on stalls. - Updated examples in
install,README.md, and troubleshooting docs to use thewwwhost. - Strengthened tests to accept
https://(www\.)?altimate.sh/install, rejectaltimate.ai/install, and verify the timeout is present.
Summary by CodeRabbit
-
Documentation
- Updated README and troubleshooting docs to point users to the new standalone installer URL and clarified reinstall/workaround steps for missing native modules and Alpine (musl).
-
Chores
- Aligned installer help text and all install/upgrade references in tests and docs to the new curl installer endpoint.
-
Bug Fixes
- Installer upgrade now enforces a bounded download timeout to avoid long hangs during fetch.