journey-durable
Journey-durable is stage 3i of the Butterbase guided journey that deploys stateful per-key actors (Durable Objects) for applications requiring chat rooms, multiplayer features, or rate limiters. It retrieves specifications from the plan document, confirms each deployment with user approval, invokes the durable-objects skill to execute deployments, verifies successful creation, and logs results to the build log before advancing to the next stage.
git clone --depth 1 https://github.com/butterbase-ai/butterbase-skills /tmp/journey-durable && cp -r /tmp/journey-durable/skills/journey-durable ~/.claude/skills/journey-durableSKILL.md
# Journey: Durable Objects Stage 3i of the guided journey. Deploy stateful per-key actors. ## When to use - Dispatched by `journey` when `current_stage: durable`. - Directly via `/butterbase-skills:journey-durable`. - Skipped (annotated `(n/a)`) if the plan has no Durable section. ## Preflight If `docs/butterbase/03-preflight.md` is missing, older than 24 hours, or `00-state.md` has `app_id: null`, invoke `butterbase-skills:journey-preflight` first. Wait for it to return successfully before proceeding. ## Inputs - `docs/butterbase/02-plan.md` — the Durable section. - `docs/butterbase/00-state.md` — for `app_id`. ## Procedure 0. **Refresh docs.** Call `butterbase_docs` with `topic: "functions"`. For Durable Object class structure, also WebFetch `https://docs.butterbase.ai/durable-objects`. Skip if cache is fresh. For each Durable Object class in the plan: 1. Print: `"About to deploy Durable Object: <name>. Proceed?"`. Wait for `yes`. 2. Invoke `butterbase-skills:durable-objects` via the Skill tool with the DO spec and `app_id`. The wrapped skill calls `manage_durable_objects action: deploy`, sets env via `set_env` if needed. 3. Verify with `manage_durable_objects action: list` and `action: get`. 4. Append one line per DO to `docs/butterbase/04-build-log.md`: `<ISO timestamp> durable manage_durable_objects <do-name> ok` 5. After all DOs are done, tick `- [x] durable` in `00-state.md`, set `current_stage:` to the next unchecked stage. 6. Return to `journey` orchestrator (or ask `"Continue to the next stage? (yes/no)"`). ## Outputs - Deployed Durable Object classes. - One line per DO in `04-build-log.md`. ## Anti-patterns - ❌ Sharing state across users via a single DO key — keys should be naturally per-room / per-user / per-resource.
Claude Code plugin for Butterbase — 30+ guided skills and auto-configured MCP for the AI-native backend-as-a-service.
Use when calling the app's AI gateway from agent tools — chat completions, embeddings, listing models, configuring defaults or BYOK, reading token/cost usage
Configure OAuth providers, auth hooks, JWT lifetimes, and service keys for a Butterbase app
Use when building a new Butterbase app from scratch, creating a full-stack application, or when the user asks to set up a complete backend with database, auth, and deployment
Use when users report access denied errors, see wrong data, RLS policies are not working, or when troubleshooting Row-Level Security issues in Butterbase
Deploy a frontend (React, Next.js, or static HTML) to a live URL on Butterbase
Use when building stateful per-key actors — chat rooms, multiplayer rooms, rate limiters, long-running agents, leaderboards — that need persistent in-memory + storage state across requests
Develop, deploy, or debug a Butterbase serverless function