Files
dotfiles/dot_claude/skills/cloudflare/references/c3/configuration.md
T
Prad NukalaandClaude Fable 5 20891f3910 config(git,claude,ssh): templated gitconfig; claude settings/commands/hooks/skills; ssh config
gitconfig: name/email from chezmoi data, gh credential helper by PATH
lookup (portable to darwin). claude: no credentials, history, projects,
sessions, or plugin caches. ssh config as private_ (0600).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-09 14:53:46 -04:00

1.6 KiB

C3 Generated Configuration

Output Structure

my-app/
├── src/index.ts          # Worker entry point
├── wrangler.jsonc        # Cloudflare config
├── package.json          # Scripts
├── tsconfig.json
└── .gitignore

wrangler.jsonc

{
  "$schema": "https://raw.githubusercontent.com/cloudflare/workers-sdk/main/packages/wrangler/config-schema.json",
  "name": "my-app",
  "main": "src/index.ts",
  "compatibility_date": "2026-01-27"
}

Binding Placeholders

C3 generates placeholder IDs that must be replaced before deploy:

{
  "kv_namespaces": [{ "binding": "MY_KV", "id": "placeholder_kv_id" }],
  "d1_databases": [{ "binding": "DB", "database_id": "00000000-..." }]
}

Replace with real IDs:

npx wrangler kv namespace create MY_KV   # Returns real ID
npx wrangler d1 create my-database       # Returns real database_id

Deployment error if not replaced:

Error: Invalid KV namespace ID "placeholder_kv_id"

Scripts

{
  "scripts": {
    "dev": "wrangler dev",
    "deploy": "wrangler deploy",
    "cf-typegen": "wrangler types"
  }
}

Type Generation

Run after adding bindings:

npm run cf-typegen

Generates .wrangler/types/runtime.d.ts:

interface Env {
  MY_KV: KVNamespace;
  DB: D1Database;
}

Post-Creation Checklist

  1. Review wrangler.jsonc - check name, compatibility_date
  2. Replace placeholder binding IDs with real resource IDs
  3. Run npm run cf-typegen
  4. Test: npm run dev
  5. Deploy: npm run deploy
  6. Add secrets: npx wrangler secret put SECRET_NAME