chore(infra): remove Vercel references - #120
Merged
Merged
Conversation
Botsmann now runs self-hosted on the Hetzner box "bitbaum" behind Caddy (botsmann.orangecat.ch); Vercel is fully decommissioned. - CI: rename the "Deploy to Vercel" workflow to a vendor-neutral CI workflow (build/lint/test only). Actual deploy runs from .husky/pre-push → Hetzner deploy script. Remove vercel.json and the Vercel-only deploy-monitor.sh. - Docs: rewrite current-setup deploy/hosting text in .claude/CLAUDE.md, README badge, docs/COMMANDS.md and docs/SHARED_CONTEXT.md to the self-hosted box. Repoint the dead botsmann.vercel.app URL → botsmann.orangecat.ch. - Code: neutralize "(Vercel)" route-segment comments; reword the warmup cron comment; update the demo page tech-stack line to self-hosted. - Keep: secret-scan guardrail (VERCEL_OIDC_TOKEN) and `env -u VERCEL` in the husky hooks, the educational hosting-comparison page, historical docs/archive, and executive-docs business/finance planning material (see PR body). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts: # .claude/CLAUDE.md
This was referenced Jul 28, 2026
catomean
added a commit
that referenced
this pull request
Jul 28, 2026
* ci: strict verify gate + verify SSOT script Reconciles PR #109's intent onto post-#120 main (self-hosted, no Vercel): - add "verify" script (format:check && lint && test && build) — one definition of "green", run identically locally and in CI - ci.yml runs `npm ci` then a single `npm run verify` step (no --if-present: a missing/renamed gate script fails loudly) instead of the old split steps - add AGENTS.md, corrected to the real stack (Next.js 16 / React 19) and self-hosted Hetzner deploy referencing ci.yml — NOT the stale Vercel/Next14 draft from #109 that would have re-added Vercel Supersedes #109 (which conflicted on the workflow #120 renamed). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * style: prettier --write repo to make the verify gate green The strict verify gate surfaced pre-existing format debt that main's long-red CI (blocked-Vercel deploy step) had masked. prettier --write is mechanical and content-preserving — the executive-docs keep their text (incl. the separate Vercel-in-financials follow-up), only whitespace is normalised. Also excludes the auto-generated next-env.d.ts from prettier. Build/lint/test already pass; this clears format:check so verify is truly green (and un-reds main on merge). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * style: reformat with the repo-pinned prettier config (printWidth 100) Prior format commit used a prettier invocation that didn't resolve .prettierrc (fell back to printWidth 80); the pinned config (printWidth 100) rejected it. Re-run with the repo's own prettier so format:check matches CI exactly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
catomean
added a commit
that referenced
this pull request
Jul 28, 2026
Regenerates PR #110's intent on post-#120 main: the non-breaking subset of `npm audit fix`. Remaining advisories require `--force` (a breaking @xenova/transformers major) and are deliberately left out. Lockfile-only. Supersedes #110 (which conflicted after the dependabot merges + #120). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
catomean
added a commit
that referenced
this pull request
Jul 28, 2026
…122) Regenerates PR #110's intent on post-#120 main: the non-breaking subset of `npm audit fix`. Remaining advisories require `--force` (a breaking @xenova/transformers major) and are deliberately left out. Lockfile-only. Supersedes #110 (which conflicted after the dependabot merges + #120). Co-authored-by: Claude Opus 4.8 <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.
Vercel is fully decommissioned; Botsmann runs self-hosted on the Hetzner box "bitbaum" behind Caddy (botsmann.orangecat.ch). This removes/repoints current-setup Vercel references.
Changed
deploy.yml("Deploy to Vercel") → renamed toci.yml, Vercel CLI install + prod/preview deploy steps dropped, kept build/lint/test. Removedvercel.jsonand the Vercel-onlyscripts/deployment/deploy-monitor.sh. Dropped.vercelfrom.gitignore..claude/CLAUDE.md, README badge (botsmann.vercel.app→botsmann.orangecat.ch),docs/COMMANDS.md,docs/SHARED_CONTEXT.md— deploy/hosting text rewritten to the self-hosted box (.husky/pre-push→ Hetzner deploy script).app/api/*/route.ts"(Vercel)"maxDurationcomments neutralized (Next.js route-segment config; behavior unchanged);warmupcron comment reworded;app/demo/page.tsxtech-stack line → self-hosted.Deploy decision
The old
deploy.ymlwas the Vercel deploy pipeline (dead — real deploy is the.husky/pre-pushhook →fleetcrown/scripts/hetzner/deploy.sh). Its build/lint/test steps are still valuable, so it's kept as CI-only underci.yml; no working self-host deploy was removed.Kept (intentional)
.husky/pre-commitsecret-scan guardrail (VERCEL_OIDC_TOKENpattern) and.husky/pre-pushenv -u VERCEL— protective, not a Vercel dependency.app/knowledge/infrastructure/page.tsx— educational hosting-landscape comparison ("Vercel / Netlify / AWS"), not a claim Botsmann uses Vercel.docs/archive/**— historical narrative.executive-docs/**(whitepaper/investor/finance/ops) — left untouched: Vercel is woven into cost projections ($/mo tiers), rollback runbooks, and monitoring/DR procedures that can't be faithfully converted to self-host without inventing financial/operational numbers. Flagged as a separate docs task.Notes
VERCEL_*env reads exist in application source (only the husky guardrails above), so no runtime branches needed rewiring.typecheckscript;npx tsc --noEmit --skipLibCheckreturns 1 error intests/__tests__/lib/embeddings.test.ts(Set iteration undertarget: es5) — pre-existing and identical onmain, in a file this PR does not touch. All changes here are comment/docs/config-only and add zero type errors.🤖 Generated with Claude Code