Skip to main content
01

DEPLOYMENT: DWELLING

The final step is not deployment.

It is beginning to dwell.

02

What is Dwelling?

Dwelling is being at home in the system you've built.

  • Not visiting — inhabiting
  • Not using — belonging
  • Not deploying — caring for

Deployment is a moment. Dwelling is ongoing practice.

03
"Building and thinking are, each in its own way, inescapable for dwelling."
— Martin Heidegger, "Building Dwelling Thinking"
04
┌─────────────────────────────────────────────────────────────────────────┐
│                                                                         │
│   THE DEPLOYMENT FLOW                                                   │
│   From code to dwelling                                                 │
│                                                                         │
│   ┌──────────────────┐                                                  │
│   │      BUILD       │  pnpm --filter=<pkg> build                       │
│   └────────┬─────────┘                                                  │
│            ↓                                                            │
│   ┌──────────────────┐                                                  │
│   │     DEPLOY       │  wrangler pages deploy                           │
│   └────────┬─────────┘                                                  │
│            ↓                                                            │
│   ┌──────────────────┐                                                  │
│   │    MIGRATE       │  wrangler d1 migrations apply                    │
│   └────────┬─────────┘                                                  │
│            ↓                                                            │
│   ┌──────────────────┐                                                  │
│   │     VERIFY       │  Tail logs, check production                     │
│   └────────┬─────────┘                                                  │
│            ↓                                                            │
│   ┌──────────────────┐                                                  │
│   │      DWELL       │  The tool disappears                             │
│   └──────────────────┘                                                  │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Five steps. Then ongoing care.

05

Step 1: Build

# Build a specific package
pnpm --filter=space build

# Build with type checking first
pnpm --filter=space exec tsc --noEmit && pnpm --filter=space build

# Generate Cloudflare types before build
pnpm --filter=space exec wrangler types

Types first. Then build. Order matters.

06

Step 2: Deploy

# Deploy to Cloudflare Pages
# CRITICAL: Use exact project names

# .space, .io, .agency use 'create-something-*'
wrangler pages deploy .svelte-kit/cloudflare \
  --project-name=create-something-space

# .ltd, .lms use 'createsomething-*' (no hyphen!)
wrangler pages deploy .svelte-kit/cloudflare \
  --project-name=createsomething-ltd

Project names are historical. Look them up. Don't guess.

07
┌─────────────────────────────────────────────────────────────────────────┐
│                                                                         │
│   PROJECT NAMES                                                         │
│   Exact matches required                                                │
│                                                                         │
│   ┌────────────────┬───────────────────────────┬───────────────────┐    │
│   │ Package        │ Cloudflare Project        │ Pattern           │    │
│   ├────────────────┼───────────────────────────┼───────────────────┤    │
│   │ space          │ create-something-space    │ create-something- │    │
│   │ io             │ create-something-io       │ create-something- │    │
│   │ agency         │ create-something-agency   │ create-something- │    │
│   ├────────────────┼───────────────────────────┼───────────────────┤    │
│   │ ltd            │ createsomething-ltd       │ createsomething-  │    │
│   │ lms            │ createsomething-lms       │ createsomething-  │    │
│   └────────────────┴───────────────────────────┴───────────────────┘    │
│                                                                         │
│   Reference: .claude/rules/PROJECT_NAME_REFERENCE.md                    │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Wrong name = new project. Production breaks.

08

Step 3: Migrate

# Apply D1 migrations (if database changed)
wrangler d1 migrations apply DB_NAME

# Example for space package
wrangler d1 migrations apply space-db

# Always run after deploying schema changes
# Migrations are idempotent — safe to re-run

Schema changes require explicit migration.

09

Step 4: Verify

# Tail production logs (interactive — use WezTerm)
wrangler pages deployment tail --project-name=create-something-space

# Check deployment status
wrangler pages deployment list --project-name=create-something-space

# Visit production URL
open https://createsomething.space

Deploy is not done until verified. Trust, but verify.

10
┌─────────────────────────────────────────────────────────────────────────┐
│                                                                         │
│   SESSION CLOSE PROTOCOL                                                │
│   Before saying "done"                                                  │
│                                                                         │
│   ┌──────┬──────────────────────────────────────────────────────────┐   │
│   │  1   │  git status                 # Check what changed         │   │
│   ├──────┼──────────────────────────────────────────────────────────┤   │
│   │  2   │  git add <files>            # Stage code changes         │   │
│   ├──────┼──────────────────────────────────────────────────────────┤   │
│   │  3   │  bd sync --from-main        # Pull beads updates         │   │
│   ├──────┼──────────────────────────────────────────────────────────┤   │
│   │  4   │  git commit -m "..."        # Commit code changes        │   │
│   └──────┴──────────────────────────────────────────────────────────┘   │
│                                                                         │
│   Ephemeral branches: merge to main locally, don't push.                │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Every session ends deliberately. Never just close the terminal.

11

Syncing State

Work persists in two places: git and Beads.

  • Code → Git (your changes)
  • Issues → Beads (your progress)
  • Both must sync before session ends

bd sync --from-main pulls issue updates. git commit pushes code changes.

12

Step 5: Dwell

After deployment, the ongoing practice begins.

  • Monitor logs when something feels wrong
  • Document breakdowns as they occur
  • Repair patterns, not just symptoms
  • Update rules when understanding deepens

The system isn't finished. You now inhabit it.

13
┌─────────────────────────────────────────────────────────────────────────┐
│                                                                         │
│   THE HERMENEUTIC SPIRAL                                                │
│   Understanding deepens with each pass                                  │
│                                                                         │
│                           Session 1                                     │
│                              ↓                                          │
│                        HEIDEGGER: CANON                                 │
│                       Philosophy installed                              │
│                              ↓                                          │
│                        CLAUDE CODE: PARTNER                             │
│                       Environment configured                            │
│                              ↓                                          │
│                        BEADS: CONTINUITY                                │
│                       Memory established                                │
│                              ↓                                          │
│                        CLOUDFLARE: EDGE                                 │
│                       Infrastructure understood                         │
│                              ↓                                          │
│                        CANON: DESIGN                                    │
│                       Aesthetics internalized                           │
│                              ↓                                          │
│                        DEPLOYMENT: DWELLING                             │
│                       Practice begins                                   │
│                              ↓                                          │
│                          Session N+1                                    │
│                       (Deeper understanding)                            │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Each session deepens. The spiral continues.

14

You Are Ready

The infrastructure disappears.

Only the work remains.

createsomething.ltd/presentations

← → navigate f fullscreen 📝 script