Skip to content

Rebuild Taskyou Pilot on SvelteKit + Cloudflare#453

Open
bborn wants to merge 4 commits intomainfrom
task/1325-rebuild-taskyou-pilot-on-cloudflare-plat
Open

Rebuild Taskyou Pilot on SvelteKit + Cloudflare#453
bborn wants to merge 4 commits intomainfrom
task/1325-rebuild-taskyou-pilot-on-cloudflare-plat

Conversation

@bborn
Copy link
Owner

@bborn bborn commented Feb 14, 2026

Summary

  • Ports the original React+Go pilot web app (#1077) to SvelteKit 5 deployed on Cloudflare Workers
  • Replaces Fly Sprites with Cloudflare Sandbox SDK for per-user isolated execution environments
  • Uses Cloudflare D1 for database, KV for sessions, and Containers for task sandboxes
  • Full feature parity: Kanban board, OAuth auth, command palette, task execution, settings, project management

Stack

  • Frontend: SvelteKit 5 (Svelte 5 runes), TailwindCSS, lucide-svelte
  • Backend: SvelteKit server routes on Cloudflare Workers
  • Database: Cloudflare D1 (SQLite)
  • Sessions: Cloudflare KV
  • Sandboxes: Cloudflare Sandbox SDK (@cloudflare/sandbox)
  • Auth: Google + GitHub OAuth

Test plan

  • cd pilot && npm install && npm run build succeeds
  • Verify all 47 files are present and well-structured
  • Review Svelte components render correctly with npm run dev
  • Verify API routes handle CRUD operations for tasks, projects, settings
  • Test OAuth flow configuration with real credentials
  • Deploy to Cloudflare Workers and verify D1/KV bindings work

🤖 Generated with Claude Code

bborn and others added 4 commits February 13, 2026 21:32
Port the original React+Go pilot web app to a modern SvelteKit application
deployed on Cloudflare Workers, replacing Fly Sprites with Cloudflare
Sandbox SDK for per-user isolated execution environments.

Stack:
- SvelteKit 5 with Svelte 5 runes ($state, $derived, $props)
- Cloudflare Workers with adapter-cloudflare
- Cloudflare D1 for database, KV for sessions
- Cloudflare Sandbox SDK for container-based task execution
- TailwindCSS with light/dark theme support

Features ported from original pilot:
- OAuth authentication (Google + GitHub)
- Kanban board with 4 columns (Backlog, In Progress, Blocked, Done)
- Task CRUD with execution in sandbox containers
- Command palette (Cmd+K) for quick navigation
- Project management with settings page
- Task detail panel with logs and terminal access
- Responsive design with status-colored indicators

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Set ENVIRONMENT=development in wrangler vars so dev mode auth bypass works
- Create dev user in D1 on first request to avoid foreign key errors
- Add .dev.vars to gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixes Svelte 5 ssr_context.r error caused by store subscriptions
running during server-side rendering without a component context.
The pilot is a client-side SPA that requires browser APIs and auth.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace writable/derived stores with $state objects in .svelte.ts
files. The old store pattern caused ssr_context errors and onMount
not firing with ssr=false. Using $effect instead of onMount for
initialization resolves the client-side hydration issue.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant