Claude-code-plugins-plus-skills flyio-local-dev-loop
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/flyio-pack/skills/flyio-local-dev-loop" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-flyio-local-dev-loop && rm -rf "$T"
manifest:
plugins/saas-packs/flyio-pack/skills/flyio-local-dev-loop/SKILL.mdsource content
Fly.io Local Dev Loop
Overview
Fast local development workflow for Fly.io apps: build and test Docker containers locally, proxy remote Fly services (Postgres, Redis) to localhost, and use
fly deploy for integration testing.
Instructions
Step 1: Local Docker Testing
# Build and run locally — same Dockerfile used by Fly docker build -t my-app . docker run -p 3000:3000 \ -e NODE_ENV=development \ -e DATABASE_URL="postgres://localhost:5432/dev" \ my-app # Test curl http://localhost:3000/health
Step 2: Proxy Remote Fly Services
# Proxy Fly Postgres to localhost:5432 fly proxy 5432 -a my-db & # Now use local tools against remote Fly Postgres psql postgres://postgres:password@localhost:5432/mydb npx prisma studio # Prisma GUI works against proxied DB # Proxy Redis fly proxy 6379 -a my-redis & redis-cli -h localhost -p 6379
Step 3: Development fly.toml
# fly.dev.toml — dev overrides (not committed) app = "my-app-dev" primary_region = "iad" [env] NODE_ENV = "development" LOG_LEVEL = "debug" [http_service] internal_port = 3000 auto_stop_machines = "off" # Keep running for debugging min_machines_running = 1 [[vm]] cpu_kind = "shared" cpus = 1 memory = "256mb" # Smaller for dev
Step 4: Fast Deploy Cycle
# Deploy to dev app fly deploy -a my-app-dev --config fly.dev.toml # Watch logs while testing fly logs -a my-app-dev --no-tail & # SSH in for debugging fly ssh console -a my-app-dev # Quick restart after config change fly apps restart my-app-dev
Dev Scripts
{ "scripts": { "dev": "tsx watch src/index.ts", "docker:build": "docker build -t my-app .", "docker:run": "docker run -p 3000:3000 --env-file .env.local my-app", "fly:dev": "fly deploy -a my-app-dev --config fly.dev.toml", "fly:proxy:db": "fly proxy 5432 -a my-db", "fly:logs": "fly logs -a my-app-dev", "fly:ssh": "fly ssh console -a my-app-dev" } }
Resources
Next Steps
See
flyio-sdk-patterns for Machines API client patterns.