feat(web): /install shell script + real curl one-liner on landing
Some checks failed
CI / Lint (push) Has been cancelled
CI / Typecheck (push) Has been cancelled
CI / Broker tests (Postgres) (push) Has been cancelled
CI / Docker build (linux/amd64) (push) Has been cancelled

Landing page showed \`curl -fsSL claudemesh.sh/install | bash\` but
the domain didn't resolve, so anyone copy-pasting got a DNS error.

Ship:
- apps/web/src/app/install/route.ts: GET returns an auditable bash
  installer (Node preflight, npm install -g claudemesh-cli, runs
  claudemesh install, prints next steps, colored output). No Node
  auto-install — fails clean if missing with a pointer.
- apps/web/src/proxy.ts: exclude /install from the i18n matcher so
  Next.js returns the shell script unmangled.
- hero.tsx + features.tsx: swap claudemesh.sh → claudemesh.com.

Test: curl http://localhost:3000/install | bash -n → OK.
Content-Type: text/x-shellscript; charset=utf-8.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-04-05 23:37:39 +01:00
parent ccff802163
commit 00b5ba8190
4 changed files with 103 additions and 3 deletions

View File

@@ -19,6 +19,6 @@ export const proxy = (request: NextRequest) =>
});
export const config = {
matcher: "/((?!api|static|.*\\..*|_next).*)",
matcher: "/((?!api|static|install|.*\\..*|_next).*)",
unstable_allowDynamic: ["**/node_modules/lodash*/**/*.js"],
};