fix(nextjs): accept KAK_API_KEY so the Deploy button works#3
Merged
Conversation
The Deploy-to-Vercel button injects KAK_API_KEY (matching the Vercel Marketplace integration), but lib/kakunin.ts read only KAKUNIN_API_KEY, so one-click deploys booted with an undefined key and crashed on the first SDK call. Read KAK_API_KEY ?? KAKUNIN_API_KEY and throw a clear, actionable error when neither is set. Docs + .env.example updated to note both are accepted. 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.
Problem
The Next.js sample's Deploy to Vercel button (and the Vercel Marketplace integration) injects the API key as
KAK_API_KEY, butnextjs/lib/kakunin.tsread onlyprocess.env.KAKUNIN_API_KEY!. Result: a one-click deploy boots with an undefined key and throws on the first SDK call — the advertised zero-config path ships broken.Fix
lib/kakunin.ts— readKAK_API_KEY ?? KAKUNIN_API_KEY; throw a clear, actionable error (with the dashboard link) when neither is set, instead of a cryptic non-null-assertion crash.README.md— note the init reads either variable..env.example— document that both are accepted and that Vercel injectsKAK_API_KEY.Both paths now work: Deploy button (
KAK_API_KEY) and local dev (KAKUNIN_API_KEY).Verification
Sample has no build harness; change is trivially sound TS —
??yieldsstring | undefined, the guard throws on falsy, andapiKeynarrows tostringbefore construction.🤖 Generated with Claude Code