Morphism Vercel Clerk Env Setup Commands

assetactive

Morphism Vercel Clerk Env Setup Commands

Source: morphism-vercel-clerk-env-setup-commands.md (ingested 2026-03-28)

Here is the filled command sheet with what we have, what is pending, and what is blocked:


Vercel — Clerk (all 3 environments)

BLOCKED — Clerk verification code never received/entered. Once you complete that step and get the new keys, run:

# CLERK_SECRET_KEY
for env in production preview development; do
  vercel env rm CLERK_SECRET_KEY $env --yes --scope alawein
  printf '%s' 'PENDING_CLERK_SK_LIVE_VALUE' | vercel env add CLERK_SECRET_KEY $env --scope alawein
done

# NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
for env in production preview development; do
  vercel env rm NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY $env --yes --scope alawein
  printf '%s' 'PENDING_CLERK_PK_LIVE_VALUE' | vercel env add NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY $env --scope alawein
done

Status: Replace both placeholders once you paste the Clerk verification code and the new keys are generated.


Vercel — Sentry (all 3 environments)

READY — Token is confirmed. Run this now:

for env in production preview development; do
  vercel env rm SENTRY_AUTH_TOKEN $env --yes --scope alawein
  printf '%s' 'sntryu_b397959c2a0eca0bb6b8143a5eb3c837bfc5c6dd6c4fa086374c4' | vercel env add SENTRY_AUTH_TOKEN $env --scope alawein
done

GitHub Secrets — npm + Sentry

npm: PARTIALLY READY — Using existing token ending in ...Dp3B unless you want a new granular token generated. Replace the placeholder below with the full token value you already have:

printf '%s' 'YOUR_EXISTING_NPM_TOKEN_ENDING_Dp3B' | gh secret set NPM_TOKEN --repo morphism-systems/morphism

Sentry: READY — Run this now:

printf '%s' 'sntryu_b397959c2a0eca0bb6b8143a5eb3c837bfc5c6dd6c4fa086374c4' | gh secret set SENTRY_AUTH_TOKEN --repo morphism-systems/morphism

Local .env.local — Cloudflare + Pinecone

Pinecone: READY — Key is confirmed. Run this now:

printf '\nPINECONE_API_KEY=pcsk_15HHt_EhF5RYWSQFVnjzVNj4eJjwWv6QAakYxVSeQcZqpyH9CYS1Cooqf2Do9qaVC1gzq' >> .env.local

Cloudflare: BLOCKED — Login not completed. Once you confirm access, run:

printf '\nCLOUDFLARE_API_TOKEN=PENDING_CF_TOKEN' >> .env.local

Verify after running

# Confirm Vercel vars are set
vercel env ls --scope alawein

# Confirm GitHub secrets
gh secret list --repo morphism-systems/morphism

# Confirm local
grep -E 'CLOUDFLARE|PINECONE' .env.local

Summary of what is still missing before this is fully done:

| Item | Status | Blocker | |---|---|---| | Clerk SK + PK | BLOCKED | Need verification code sent to contact@meshal.ai | | npm token | PENDING | Paste your full existing token ending Dp3B | | Cloudflare token | BLOCKED | Need you to confirm login to Cloudflare | | Vercel storage cleanup | PENDING | Need your confirmation on which stores to delete | | Linear setup | BLOCKED | Need you to confirm login to Linear | | Snyk morphism-systems org | BLOCKED | Need GitHub org OAuth policy updated at github.com/organizations/morphism-systems/settings/oauth_application_policy |

Vercel — Clerk (all 3 environments)

CLERK_SECRET_KEY

for env in production preview development; do vercel env rm CLERK_SECRET_KEY $env --yes --scope alawein printf '%s' 'YOUR_SK_LIVE_VALUE' | vercel env add CLERK_SECRET_KEY $env --scope alawein done

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY

for env in production preview development; do vercel env rm NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY $env --yes --scope alawein printf '%s' 'YOUR_PK_LIVE_VALUE' | vercel env add NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY $env --scope alawein done

Vercel — Sentry (all 3 environments)

for env in production preview development; do vercel env rm SENTRY_AUTH_TOKEN $env --yes --scope alawein printf '%s' 'sntryu_b397959c2a0eca0bb6b8143a5eb3c837bfc5c6dd6c4fa086374c4' | vercel env add SENTRY_AUTH_TOKEN $env --scope alawein done


GitHub Secrets — npm + Sentry

printf '%s' 'YOUR_NPM_TOKEN' | gh secret set NPM_TOKEN --repo morphism-systems/morphism printf '%s' 'sntryu_b397959c2a0eca0bb6b8143a5eb3c837bfc5c6dd6c4fa086374c4' | gh secret set SENTRY_AUTH_TOKEN --repo morphism-systems/morphism


Local .env.local — Cloudflare + Pinecone

Append to .env.local (run once each after generating new values)

printf '\nCLOUDFLARE_API_TOKEN=YOUR_CF_TOKEN' >> .env.local printf '\nPINECONE_API_KEY=pcsk_15HHt_EhF5RYWSQFVnjzVNj4eJjwWv6QAakYxVSeQcZqpyH9CYS1Cooqf2Do9qaVC1gzq' >> .env.local

Or open .env.local and set: CLOUDFLARE_API_TOKEN=YOUR_CF_TOKEN PINECONE_API_KEY=pcsk_15HHt_EhF5RYWSQFVnjzVNj4eJjwWv6QAakYxVSeQcZqpyH9CYS1Cooqf2Do9qaVC1gzq


Verify after running

Confirm Vercel vars are set

vercel env ls --scope alawein

Confirm GitHub secrets

gh secret list --repo morphism-systems/morphism

Confirm local

grep -E 'CLOUDFLARE|PINECONE' .env.local


Missing values you still need to provide (paste as SERVICE: value)

CLERK_SECRET_KEY: YOUR_SK_LIVE_VALUE
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: YOUR_PK_LIVE_VALUE
NPM_TOKEN: YOUR_NPM_TOKEN
CLOUDFLARE_API_TOKEN: YOUR_CF_TOKEN

clerk public key pk_live_Y2xlcmsubW9ycGhpc20uc3lzdGVtcyQ

clerk secret key sk_live_tP5w6uUfoJfmiez7sHatKtn9vNheANF8GOmhEKflgX

npm tokeneeeeeeeeeeeeeeeeeeeeeeeeeeeee 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

cloju fare

Summary of what's fully ready to run right now:

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY → pk_live_Y2xlcmsubW9ycGhpc20uc3lzdGVtcyQ ✅ SENTRY_AUTH_TOKEN (Vercel + GitHub) → sntryu_b397959c2a0eca0bb6b8143a5eb3c837bfc5c6dd6c4fa086374c4 ✅ NPM_TOKEN (GitHub) → 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 ✅ PINECONE_API_KEY (.env.local) → pcsk_15HHt_EhF5...gzq ✅ Just send me the Clerk secret key and confirm your Cloudflare token approach and the block is fully cleared.

Clerk

pk_live_Y2xlcmsubW9ycGhpc20uc3lzdGVtcyQ

morphism-rotated-2026-03 sk_live_tP5w6uUfoJfmiez7sHatKtn9vNheANF8GOmhEKflgX

npm

morphism-rotated-2026-03 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

  1. Sentry — ✅ New token morphism-ci created with scope org:read (org:ci):

SENTRY_AUTH_TOKEN: sntryu_b397959c2a0eca0bb6b8143a5eb3c837bfc5c6dd6c4fa086374c4

  1. Pinecone — ✅ New key morphism-prod created and old default key deleted:

PINECONE_API_KEY: pcsk_15HHt_EhF5RYWSQFVnjzVNj4eJjwWv6QAakYxVSeQcZqpyH9CYS1Cooqf2Do9qaVC1gzq

Linear

morphism-rotated-2026-03 lin_api_oCGjJnxtSQMB3qMkHYiN1Jf1AzhCq4qYzjN8zEEs

cloudfare

bG6vWkTTBhAuXfasQH63SE74cMTgTsRpkfkZekWj