jfl 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +313 -0
- package/clawdbot-skill/README.md +328 -0
- package/clawdbot-skill/SKILL.md +362 -0
- package/clawdbot-skill/index.ts +486 -0
- package/clawdbot-skill/package.json +28 -0
- package/clawdbot-skill/skill.json +28 -0
- package/dist/commands/agents.d.ts +5 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +399 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/context-hub.d.ts +12 -0
- package/dist/commands/context-hub.d.ts.map +1 -0
- package/dist/commands/context-hub.js +642 -0
- package/dist/commands/context-hub.js.map +1 -0
- package/dist/commands/deploy.d.ts +5 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +370 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/feedback.d.ts +2 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +178 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/hud.d.ts +4 -0
- package/dist/commands/hud.d.ts.map +1 -0
- package/dist/commands/hud.js +262 -0
- package/dist/commands/hud.js.map +1 -0
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +553 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +23 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +818 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/ralph.d.ts +9 -0
- package/dist/commands/ralph.d.ts.map +1 -0
- package/dist/commands/ralph.js +67 -0
- package/dist/commands/ralph.js.map +1 -0
- package/dist/commands/repair.d.ts +7 -0
- package/dist/commands/repair.d.ts.map +1 -0
- package/dist/commands/repair.js +283 -0
- package/dist/commands/repair.js.map +1 -0
- package/dist/commands/session-mgmt.d.ts +33 -0
- package/dist/commands/session-mgmt.d.ts.map +1 -0
- package/dist/commands/session-mgmt.js +404 -0
- package/dist/commands/session-mgmt.js.map +1 -0
- package/dist/commands/session.d.ts +2 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +639 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/skills.d.ts +31 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +314 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/status.d.ts +2 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +127 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/synopsis.d.ts +10 -0
- package/dist/commands/synopsis.d.ts.map +1 -0
- package/dist/commands/synopsis.js +277 -0
- package/dist/commands/synopsis.js.map +1 -0
- package/dist/commands/update.d.ts +10 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +165 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/voice.d.ts +410 -0
- package/dist/commands/voice.d.ts.map +1 -0
- package/dist/commands/voice.js +4763 -0
- package/dist/commands/voice.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +512 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/context-hub-mcp.d.ts +11 -0
- package/dist/mcp/context-hub-mcp.d.ts.map +1 -0
- package/dist/mcp/context-hub-mcp.js +548 -0
- package/dist/mcp/context-hub-mcp.js.map +1 -0
- package/dist/telegram/voice.d.ts +146 -0
- package/dist/telegram/voice.d.ts.map +1 -0
- package/dist/telegram/voice.js +351 -0
- package/dist/telegram/voice.js.map +1 -0
- package/dist/types/skills.d.ts +44 -0
- package/dist/types/skills.d.ts.map +1 -0
- package/dist/types/skills.js +5 -0
- package/dist/types/skills.js.map +1 -0
- package/dist/ui/banner.d.ts +18 -0
- package/dist/ui/banner.d.ts.map +1 -0
- package/dist/ui/banner.js +323 -0
- package/dist/ui/banner.js.map +1 -0
- package/dist/ui/index.d.ts +8 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +8 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/prompts.d.ts +52 -0
- package/dist/ui/prompts.d.ts.map +1 -0
- package/dist/ui/prompts.js +72 -0
- package/dist/ui/prompts.js.map +1 -0
- package/dist/ui/theme.d.ts +82 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +142 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/utils/auth-guard.d.ts +66 -0
- package/dist/utils/auth-guard.d.ts.map +1 -0
- package/dist/utils/auth-guard.js +348 -0
- package/dist/utils/auth-guard.js.map +1 -0
- package/dist/utils/ensure-project.d.ts +11 -0
- package/dist/utils/ensure-project.d.ts.map +1 -0
- package/dist/utils/ensure-project.js +70 -0
- package/dist/utils/ensure-project.js.map +1 -0
- package/dist/utils/git.d.ts +73 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +219 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/github-auth.d.ts +54 -0
- package/dist/utils/github-auth.d.ts.map +1 -0
- package/dist/utils/github-auth.js +375 -0
- package/dist/utils/github-auth.js.map +1 -0
- package/dist/utils/github-repo.d.ts +30 -0
- package/dist/utils/github-repo.d.ts.map +1 -0
- package/dist/utils/github-repo.js +219 -0
- package/dist/utils/github-repo.js.map +1 -0
- package/dist/utils/platform-auth.d.ts +81 -0
- package/dist/utils/platform-auth.d.ts.map +1 -0
- package/dist/utils/platform-auth.js +191 -0
- package/dist/utils/platform-auth.js.map +1 -0
- package/dist/utils/project-config.d.ts +43 -0
- package/dist/utils/project-config.d.ts.map +1 -0
- package/dist/utils/project-config.js +97 -0
- package/dist/utils/project-config.js.map +1 -0
- package/dist/utils/skill-registry.d.ts +49 -0
- package/dist/utils/skill-registry.d.ts.map +1 -0
- package/dist/utils/skill-registry.js +192 -0
- package/dist/utils/skill-registry.js.map +1 -0
- package/dist/utils/wallet.d.ts +62 -0
- package/dist/utils/wallet.d.ts.map +1 -0
- package/dist/utils/wallet.js +252 -0
- package/dist/utils/wallet.js.map +1 -0
- package/dist/utils/x402-client.d.ts +86 -0
- package/dist/utils/x402-client.d.ts.map +1 -0
- package/dist/utils/x402-client.js +265 -0
- package/dist/utils/x402-client.js.map +1 -0
- package/package.json +76 -0
- package/scripts/postinstall.js +116 -0
- package/scripts/test-onboarding.sh +121 -0
- package/scripts/voice-start.sh +128 -0
- package/scripts/voice-stop.sh +33 -0
- package/template/.claude/settings.json +92 -0
- package/template/.claude/skills/agent-browser/SKILL.md +116 -0
- package/template/.claude/skills/brand-architect/SKILL.md +240 -0
- package/template/.claude/skills/brand-architect/config.yaml +137 -0
- package/template/.claude/skills/campaign-hud/config.yaml +112 -0
- package/template/.claude/skills/content-creator/SKILL.md +294 -0
- package/template/.claude/skills/debug/MULTI_AGENT.md +360 -0
- package/template/.claude/skills/debug/SKILL.md +549 -0
- package/template/.claude/skills/fly-deploy/SKILL.md +676 -0
- package/template/.claude/skills/founder-video/SKILL.md +467 -0
- package/template/.claude/skills/hud/SKILL.md +157 -0
- package/template/.claude/skills/ralph-tui/SKILL.md +210 -0
- package/template/.claude/skills/react-best-practices/AGENTS.md +2249 -0
- package/template/.claude/skills/react-best-practices/README.md +123 -0
- package/template/.claude/skills/react-best-practices/SKILL.md +125 -0
- package/template/.claude/skills/react-best-practices/metadata.json +15 -0
- package/template/.claude/skills/react-best-practices/rules/_sections.md +46 -0
- package/template/.claude/skills/react-best-practices/rules/_template.md +28 -0
- package/template/.claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/template/.claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/template/.claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/template/.claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/template/.claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/template/.claude/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/template/.claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/template/.claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/template/.claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/template/.claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/template/.claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/template/.claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/template/.claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/template/.claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/template/.claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/template/.claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/template/.claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/template/.claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/template/.claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/template/.claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/template/.claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/template/.claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/template/.claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/template/.claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/template/.claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/template/.claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/template/.claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/template/.claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/template/.claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/template/.claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/template/.claude/skills/react-best-practices/rules/server-cache-react.md +26 -0
- package/template/.claude/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
- package/template/.claude/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/template/.claude/skills/remotion-best-practices/SKILL.md +43 -0
- package/template/.claude/skills/remotion-best-practices/rules/3d.md +86 -0
- package/template/.claude/skills/remotion-best-practices/rules/animations.md +29 -0
- package/template/.claude/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/template/.claude/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/template/.claude/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/template/.claude/skills/remotion-best-practices/rules/assets.md +78 -0
- package/template/.claude/skills/remotion-best-practices/rules/audio.md +172 -0
- package/template/.claude/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/template/.claude/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/template/.claude/skills/remotion-best-practices/rules/charts.md +58 -0
- package/template/.claude/skills/remotion-best-practices/rules/compositions.md +146 -0
- package/template/.claude/skills/remotion-best-practices/rules/display-captions.md +126 -0
- package/template/.claude/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/template/.claude/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/template/.claude/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/template/.claude/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/template/.claude/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/template/.claude/skills/remotion-best-practices/rules/gifs.md +138 -0
- package/template/.claude/skills/remotion-best-practices/rules/images.md +130 -0
- package/template/.claude/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/template/.claude/skills/remotion-best-practices/rules/lottie.md +68 -0
- package/template/.claude/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/template/.claude/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/template/.claude/skills/remotion-best-practices/rules/sequencing.md +106 -0
- package/template/.claude/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/template/.claude/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/template/.claude/skills/remotion-best-practices/rules/timing.md +179 -0
- package/template/.claude/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/template/.claude/skills/remotion-best-practices/rules/transitions.md +122 -0
- package/template/.claude/skills/remotion-best-practices/rules/trimming.md +53 -0
- package/template/.claude/skills/remotion-best-practices/rules/videos.md +171 -0
- package/template/.claude/skills/search/SKILL.md +220 -0
- package/template/.claude/skills/spec/SKILL.md +377 -0
- package/template/.claude/skills/startup/SKILL.md +310 -0
- package/template/.claude/skills/web-architect/SKILL.md +309 -0
- package/template/.claude/skills/x-algorithm/SKILL.md +305 -0
- package/template/.jfl/config.json +8 -0
- package/template/.mcp.json +11 -0
- package/template/CLAUDE.md +960 -0
- package/template/content/.gitkeep +0 -0
- package/template/context-hub +3 -0
- package/template/knowledge/BRAND_BRIEF.md +124 -0
- package/template/knowledge/BRAND_DECISIONS.md +168 -0
- package/template/knowledge/NARRATIVE.md +114 -0
- package/template/knowledge/ROADMAP.md +128 -0
- package/template/knowledge/THESIS.md +108 -0
- package/template/knowledge/VISION.md +74 -0
- package/template/knowledge/VOICE_AND_TONE.md +146 -0
- package/template/previews/.gitkeep +0 -0
- package/template/scripts/session/auto-commit.sh +245 -0
- package/template/scripts/session/auto-merge.sh +325 -0
- package/template/scripts/session/jfl-doctor.sh +587 -0
- package/template/scripts/session/session-end.sh +194 -0
- package/template/scripts/session/session-init.sh +163 -0
- package/template/scripts/session/session-sync.sh +167 -0
- package/template/scripts/session/test-context-preservation.sh +160 -0
- package/template/skills/agent-browser/SKILL.md +116 -0
- package/template/skills/brand-architect/SKILL.md +240 -0
- package/template/skills/brand-architect/config.yaml +137 -0
- package/template/skills/campaign-hud/config.yaml +112 -0
- package/template/skills/content-creator/SKILL.md +294 -0
- package/template/skills/debug/MULTI_AGENT.md +360 -0
- package/template/skills/debug/SKILL.md +549 -0
- package/template/skills/fly-deploy/SKILL.md +676 -0
- package/template/skills/founder-video/SKILL.md +467 -0
- package/template/skills/hud/SKILL.md +204 -0
- package/template/skills/ralph-tui/SKILL.md +210 -0
- package/template/skills/react-best-practices/AGENTS.md +2249 -0
- package/template/skills/react-best-practices/README.md +123 -0
- package/template/skills/react-best-practices/SKILL.md +125 -0
- package/template/skills/react-best-practices/metadata.json +15 -0
- package/template/skills/react-best-practices/rules/_sections.md +46 -0
- package/template/skills/react-best-practices/rules/_template.md +28 -0
- package/template/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/template/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
- package/template/skills/react-best-practices/rules/async-api-routes.md +38 -0
- package/template/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/template/skills/react-best-practices/rules/async-dependencies.md +36 -0
- package/template/skills/react-best-practices/rules/async-parallel.md +28 -0
- package/template/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/template/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/template/skills/react-best-practices/rules/bundle-conditional.md +31 -0
- package/template/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/template/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/template/skills/react-best-practices/rules/bundle-preload.md +50 -0
- package/template/skills/react-best-practices/rules/client-event-listeners.md +74 -0
- package/template/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/template/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
- package/template/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/template/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/template/skills/react-best-practices/rules/js-cache-storage.md +70 -0
- package/template/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/template/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/template/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/template/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/template/skills/react-best-practices/rules/js-length-check-first.md +49 -0
- package/template/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/template/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/template/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/template/skills/react-best-practices/rules/rendering-activity.md +26 -0
- package/template/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/template/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/template/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/template/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/template/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/template/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/template/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/template/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/template/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/template/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/template/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/template/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/template/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/template/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/template/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/template/skills/react-best-practices/rules/server-cache-react.md +26 -0
- package/template/skills/react-best-practices/rules/server-parallel-fetching.md +79 -0
- package/template/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/template/skills/remotion-best-practices/SKILL.md +43 -0
- package/template/skills/remotion-best-practices/rules/3d.md +86 -0
- package/template/skills/remotion-best-practices/rules/animations.md +29 -0
- package/template/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/template/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/template/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/template/skills/remotion-best-practices/rules/assets.md +78 -0
- package/template/skills/remotion-best-practices/rules/audio.md +172 -0
- package/template/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/template/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/template/skills/remotion-best-practices/rules/charts.md +58 -0
- package/template/skills/remotion-best-practices/rules/compositions.md +146 -0
- package/template/skills/remotion-best-practices/rules/display-captions.md +126 -0
- package/template/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/template/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/template/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/template/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/template/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/template/skills/remotion-best-practices/rules/gifs.md +138 -0
- package/template/skills/remotion-best-practices/rules/images.md +130 -0
- package/template/skills/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/template/skills/remotion-best-practices/rules/lottie.md +68 -0
- package/template/skills/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
- package/template/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/template/skills/remotion-best-practices/rules/sequencing.md +106 -0
- package/template/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/template/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/template/skills/remotion-best-practices/rules/timing.md +179 -0
- package/template/skills/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/template/skills/remotion-best-practices/rules/transitions.md +122 -0
- package/template/skills/remotion-best-practices/rules/trimming.md +53 -0
- package/template/skills/remotion-best-practices/rules/videos.md +171 -0
- package/template/skills/search/SKILL.md +220 -0
- package/template/skills/spec/SKILL.md +377 -0
- package/template/skills/startup/SKILL.md +310 -0
- package/template/skills/web-architect/SKILL.md +309 -0
- package/template/skills/x-algorithm/SKILL.md +305 -0
- package/template/suggestions/.gitkeep +0 -0
- package/template/templates/QUICKSTART_SKILL_TO_PRODUCT.md +242 -0
- package/template/templates/brand/BRAND_BRIEF.md +124 -0
- package/template/templates/brand/BRAND_DECISIONS.md +168 -0
- package/template/templates/brand/BRAND_GUIDELINES.md +251 -0
- package/template/templates/brand/VOICE_AND_TONE.md +146 -0
- package/template/templates/brand/global.css +240 -0
- package/template/templates/collaboration/CONTRIBUTOR.md +74 -0
- package/template/templates/collaboration/CRM.md +97 -0
- package/template/templates/collaboration/TASKS.md +83 -0
- package/template/templates/strategic/NARRATIVE.md +114 -0
- package/template/templates/strategic/ROADMAP.md +128 -0
- package/template/templates/strategic/THESIS.md +108 -0
- package/template/templates/strategic/VISION.md +74 -0
|
@@ -0,0 +1,676 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fly-deploy
|
|
3
|
+
description: Complete Fly.io deployment management - deploy, scale, logs, secrets, database, and more
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Fly Deployment Manager
|
|
7
|
+
|
|
8
|
+
Comprehensive Fly.io deployment management through conversation.
|
|
9
|
+
|
|
10
|
+
## Core Principle
|
|
11
|
+
|
|
12
|
+
**Deployments should be simple and observable.**
|
|
13
|
+
|
|
14
|
+
Guide users through Fly.io operations with clear feedback, helpful context, and actionable next steps. Abstract away complexity while maintaining full control.
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
/fly-deploy # Show deployment status
|
|
20
|
+
/fly-deploy status # Detailed app and database status
|
|
21
|
+
/fly-deploy deploy # Deploy the app
|
|
22
|
+
/fly-deploy logs # Stream recent logs
|
|
23
|
+
/fly-deploy secrets # Manage environment secrets
|
|
24
|
+
/fly-deploy scale # Scale machines and resources
|
|
25
|
+
/fly-deploy db # Database management
|
|
26
|
+
/fly-deploy ssh # SSH into a machine
|
|
27
|
+
/fly-deploy health # Check health status
|
|
28
|
+
/fly-deploy restart # Restart all machines
|
|
29
|
+
/fly-deploy destroy # Destroy app (with confirmation)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Commands
|
|
33
|
+
|
|
34
|
+
### /fly-deploy (default: status)
|
|
35
|
+
|
|
36
|
+
Shows current deployment status:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
40
|
+
JFL PLATFORM - FLY.IO STATUS
|
|
41
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
42
|
+
|
|
43
|
+
App: jfl-platform
|
|
44
|
+
Region: sjc (San Jose)
|
|
45
|
+
URL: https://jfl-platform.fly.dev
|
|
46
|
+
|
|
47
|
+
MACHINES
|
|
48
|
+
✓ 78d40e1a - running (sjc)
|
|
49
|
+
✓ 90e3f7a4 - running (sjc)
|
|
50
|
+
|
|
51
|
+
DATABASE
|
|
52
|
+
✓ jfl-platform-db - running
|
|
53
|
+
Postgres 15
|
|
54
|
+
Primary: sjc
|
|
55
|
+
|
|
56
|
+
HEALTH
|
|
57
|
+
✓ All checks passing
|
|
58
|
+
|
|
59
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
60
|
+
QUICK ACTIONS
|
|
61
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
62
|
+
/fly-deploy deploy Deploy latest changes
|
|
63
|
+
/fly-deploy logs View recent logs
|
|
64
|
+
/fly-deploy ssh SSH into machine
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Implementation:**
|
|
68
|
+
```bash
|
|
69
|
+
flyctl status --json
|
|
70
|
+
flyctl info --json
|
|
71
|
+
flyctl machines list --json
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### /fly-deploy deploy
|
|
75
|
+
|
|
76
|
+
Deploys the application:
|
|
77
|
+
|
|
78
|
+
**Steps:**
|
|
79
|
+
1. Check if there are uncommitted changes (warn if so)
|
|
80
|
+
2. Show what will be deployed (git commit hash/message)
|
|
81
|
+
3. Run deployment
|
|
82
|
+
4. Stream build/deploy logs
|
|
83
|
+
5. Show final status with URL
|
|
84
|
+
6. Suggest next action (view logs, test URL, etc.)
|
|
85
|
+
|
|
86
|
+
**Implementation:**
|
|
87
|
+
```bash
|
|
88
|
+
# Check for uncommitted changes
|
|
89
|
+
git status --porcelain
|
|
90
|
+
|
|
91
|
+
# Get current commit
|
|
92
|
+
git log -1 --oneline
|
|
93
|
+
|
|
94
|
+
# Deploy
|
|
95
|
+
flyctl deploy
|
|
96
|
+
|
|
97
|
+
# Check health after deploy
|
|
98
|
+
flyctl status --json
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Example output:**
|
|
102
|
+
```
|
|
103
|
+
Deploying jfl-platform...
|
|
104
|
+
|
|
105
|
+
Commit: a4a4dfd "auto: session save"
|
|
106
|
+
Branch: main
|
|
107
|
+
|
|
108
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
109
|
+
|
|
110
|
+
Building...
|
|
111
|
+
✓ Docker build complete (2m 15s)
|
|
112
|
+
|
|
113
|
+
Deploying...
|
|
114
|
+
✓ Machines updated (45s)
|
|
115
|
+
|
|
116
|
+
Health checks...
|
|
117
|
+
✓ All checks passing
|
|
118
|
+
|
|
119
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
120
|
+
DEPLOYED
|
|
121
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
122
|
+
|
|
123
|
+
https://jfl-platform.fly.dev
|
|
124
|
+
|
|
125
|
+
Want me to:
|
|
126
|
+
- Open the URL in your browser?
|
|
127
|
+
- Stream logs?
|
|
128
|
+
- Check health?
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### /fly-deploy logs [--follow] [--machine=ID]
|
|
132
|
+
|
|
133
|
+
Shows recent application logs:
|
|
134
|
+
|
|
135
|
+
**Options:**
|
|
136
|
+
- `--follow` / `-f` - Stream logs in real-time
|
|
137
|
+
- `--machine=ID` - Logs from specific machine
|
|
138
|
+
- `--lines=N` - Number of recent lines (default: 100)
|
|
139
|
+
|
|
140
|
+
**Implementation:**
|
|
141
|
+
```bash
|
|
142
|
+
# Recent logs
|
|
143
|
+
flyctl logs --lines 100
|
|
144
|
+
|
|
145
|
+
# Follow logs
|
|
146
|
+
flyctl logs --follow
|
|
147
|
+
|
|
148
|
+
# Specific machine
|
|
149
|
+
flyctl logs --machine 78d40e1a
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Example output:**
|
|
153
|
+
```
|
|
154
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
155
|
+
LOGS - jfl-platform
|
|
156
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
157
|
+
|
|
158
|
+
2026-01-19T18:45:23Z [info] ✓ Ready in 1204ms
|
|
159
|
+
2026-01-19T18:45:45Z [info] GET /api/auth/session 200 in 45ms
|
|
160
|
+
2026-01-19T18:46:12Z [info] POST /api/projects 201 in 123ms
|
|
161
|
+
2026-01-19T18:46:15Z [error] Database connection timeout
|
|
162
|
+
|
|
163
|
+
Last 4 lines. Use /fly-deploy logs --follow to stream.
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### /fly-deploy secrets
|
|
167
|
+
|
|
168
|
+
Manage environment secrets:
|
|
169
|
+
|
|
170
|
+
**Subcommands:**
|
|
171
|
+
- `list` - Show all secret names (not values)
|
|
172
|
+
- `set <KEY>=<VALUE>` - Set/update a secret
|
|
173
|
+
- `unset <KEY>` - Remove a secret
|
|
174
|
+
- `sync` - Sync from local .env file
|
|
175
|
+
|
|
176
|
+
**Implementation:**
|
|
177
|
+
```bash
|
|
178
|
+
# List secrets
|
|
179
|
+
flyctl secrets list
|
|
180
|
+
|
|
181
|
+
# Set secret
|
|
182
|
+
flyctl secrets set KEY="value"
|
|
183
|
+
|
|
184
|
+
# Unset secret
|
|
185
|
+
flyctl secrets unset KEY
|
|
186
|
+
|
|
187
|
+
# Bulk set from .env (with confirmation)
|
|
188
|
+
flyctl secrets import < .env
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**Example output:**
|
|
192
|
+
```
|
|
193
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
194
|
+
SECRETS - jfl-platform
|
|
195
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
196
|
+
|
|
197
|
+
AUTH_SECRET Set 2d ago
|
|
198
|
+
DATABASE_URL Set 5d ago (from Fly Postgres)
|
|
199
|
+
GITHUB_CLIENT_ID Set 5d ago
|
|
200
|
+
GITHUB_CLIENT_SECRET Set 5d ago
|
|
201
|
+
NODE_ENV Set 5d ago
|
|
202
|
+
|
|
203
|
+
5 secrets total
|
|
204
|
+
|
|
205
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
206
|
+
ACTIONS
|
|
207
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
208
|
+
/fly-deploy secrets set KEY=value Add/update secret
|
|
209
|
+
/fly-deploy secrets sync Sync from .env
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**For sync command, confirm with user:**
|
|
213
|
+
```
|
|
214
|
+
This will sync all secrets from your local .env file:
|
|
215
|
+
|
|
216
|
+
Will set/update:
|
|
217
|
+
- AUTH_SECRET
|
|
218
|
+
- GITHUB_CLIENT_ID
|
|
219
|
+
- GITHUB_CLIENT_SECRET
|
|
220
|
+
- STRIPE_SECRET_KEY
|
|
221
|
+
|
|
222
|
+
Continue? (yes/no)
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### /fly-deploy scale
|
|
226
|
+
|
|
227
|
+
Scale machines and resources:
|
|
228
|
+
|
|
229
|
+
**Options:**
|
|
230
|
+
- `machines <count>` - Scale to N machines
|
|
231
|
+
- `memory <size>` - Change memory (256mb, 512mb, 1gb, 2gb)
|
|
232
|
+
- `cpu <count>` - Change CPU count (1, 2, 4, 8)
|
|
233
|
+
- `regions <list>` - Add/remove regions
|
|
234
|
+
|
|
235
|
+
**Implementation:**
|
|
236
|
+
```bash
|
|
237
|
+
# Scale machines
|
|
238
|
+
flyctl scale count 3
|
|
239
|
+
|
|
240
|
+
# Scale memory
|
|
241
|
+
flyctl scale memory 1gb
|
|
242
|
+
|
|
243
|
+
# Scale CPU
|
|
244
|
+
flyctl scale cpu 2
|
|
245
|
+
|
|
246
|
+
# Scale to regions
|
|
247
|
+
flyctl regions add lax iad
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
**Example output:**
|
|
251
|
+
```
|
|
252
|
+
Current scale:
|
|
253
|
+
Machines: 2
|
|
254
|
+
Memory: 256mb
|
|
255
|
+
CPU: 1 shared
|
|
256
|
+
Regions: sjc
|
|
257
|
+
|
|
258
|
+
What would you like to change?
|
|
259
|
+
1. Scale to 3 machines (faster, costs ~$15/mo more)
|
|
260
|
+
2. Increase memory to 512mb (better performance)
|
|
261
|
+
3. Add regions (lax, iad - lower latency)
|
|
262
|
+
4. Custom configuration
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### /fly-deploy db
|
|
266
|
+
|
|
267
|
+
Database management:
|
|
268
|
+
|
|
269
|
+
**Subcommands:**
|
|
270
|
+
- `status` - Database status and connection info
|
|
271
|
+
- `connect` - Open psql connection
|
|
272
|
+
- `migrate` - Run Prisma migrations
|
|
273
|
+
- `backup` - Create manual backup
|
|
274
|
+
- `restore <snapshot>` - Restore from backup
|
|
275
|
+
|
|
276
|
+
**Implementation:**
|
|
277
|
+
```bash
|
|
278
|
+
# Database status
|
|
279
|
+
flyctl postgres db show jfl-platform-db
|
|
280
|
+
|
|
281
|
+
# Connect via psql
|
|
282
|
+
flyctl postgres connect -a jfl-platform-db
|
|
283
|
+
|
|
284
|
+
# List backups
|
|
285
|
+
flyctl volumes list -a jfl-platform-db
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
**For migrations, use the app context:**
|
|
289
|
+
```bash
|
|
290
|
+
# SSH into app machine and run migrations
|
|
291
|
+
flyctl ssh console -a jfl-platform -C "npx prisma migrate deploy"
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**Example output:**
|
|
295
|
+
```
|
|
296
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
297
|
+
DATABASE - jfl-platform-db
|
|
298
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
299
|
+
|
|
300
|
+
Type: Postgres 15
|
|
301
|
+
Region: sjc (primary)
|
|
302
|
+
Storage: 10GB (2.3GB used)
|
|
303
|
+
|
|
304
|
+
CONNECTION
|
|
305
|
+
Internal: jfl-platform-db.flycast
|
|
306
|
+
Port: 5432
|
|
307
|
+
|
|
308
|
+
BACKUPS
|
|
309
|
+
Last backup: 2h ago (automatic)
|
|
310
|
+
Retention: 7 days
|
|
311
|
+
|
|
312
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
313
|
+
ACTIONS
|
|
314
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
315
|
+
/fly-deploy db connect Open psql console
|
|
316
|
+
/fly-deploy db migrate Run Prisma migrations
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### /fly-deploy ssh [machine-id]
|
|
320
|
+
|
|
321
|
+
SSH into a machine:
|
|
322
|
+
|
|
323
|
+
**Options:**
|
|
324
|
+
- No args - Pick from list of running machines
|
|
325
|
+
- `machine-id` - Connect to specific machine
|
|
326
|
+
|
|
327
|
+
**Implementation:**
|
|
328
|
+
```bash
|
|
329
|
+
# Interactive select
|
|
330
|
+
flyctl ssh console
|
|
331
|
+
|
|
332
|
+
# Specific machine
|
|
333
|
+
flyctl ssh console --machine 78d40e1a
|
|
334
|
+
|
|
335
|
+
# Run command
|
|
336
|
+
flyctl ssh console -C "ls -la"
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
**Example:**
|
|
340
|
+
```
|
|
341
|
+
Available machines:
|
|
342
|
+
1. 78d40e1a (sjc) - primary
|
|
343
|
+
2. 90e3f7a4 (sjc) - secondary
|
|
344
|
+
|
|
345
|
+
Which machine? (1-2, or 'all' to run command on all)
|
|
346
|
+
|
|
347
|
+
> 1
|
|
348
|
+
|
|
349
|
+
Connecting to 78d40e1a...
|
|
350
|
+
|
|
351
|
+
You're now in the machine. Type 'exit' to disconnect.
|
|
352
|
+
|
|
353
|
+
Common commands:
|
|
354
|
+
ls /app # App directory
|
|
355
|
+
cat /app/package.json
|
|
356
|
+
ps aux # Running processes
|
|
357
|
+
df -h # Disk usage
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### /fly-deploy health
|
|
361
|
+
|
|
362
|
+
Check application health:
|
|
363
|
+
|
|
364
|
+
**Checks:**
|
|
365
|
+
- HTTP health endpoint
|
|
366
|
+
- All machines responsive
|
|
367
|
+
- Database connectivity
|
|
368
|
+
- Recent errors in logs
|
|
369
|
+
|
|
370
|
+
**Implementation:**
|
|
371
|
+
```bash
|
|
372
|
+
# Machine status
|
|
373
|
+
flyctl status --json
|
|
374
|
+
|
|
375
|
+
# Check health endpoint
|
|
376
|
+
curl https://jfl-platform.fly.dev/api/health
|
|
377
|
+
|
|
378
|
+
# Recent errors
|
|
379
|
+
flyctl logs --lines 100 | grep -i error
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
**Example output:**
|
|
383
|
+
```
|
|
384
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
385
|
+
HEALTH CHECK - jfl-platform
|
|
386
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
387
|
+
|
|
388
|
+
✓ HTTP health endpoint 200 OK (45ms)
|
|
389
|
+
✓ All machines running 2/2 healthy
|
|
390
|
+
✓ Database connected Latency 12ms
|
|
391
|
+
⚠ Recent errors 3 errors in last hour
|
|
392
|
+
|
|
393
|
+
Recent issues:
|
|
394
|
+
- 3x "Database connection timeout" at /api/projects
|
|
395
|
+
|
|
396
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
397
|
+
|
|
398
|
+
Want me to:
|
|
399
|
+
- Show full error logs?
|
|
400
|
+
- Check database connection pool settings?
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
### /fly-deploy restart
|
|
404
|
+
|
|
405
|
+
Restart all machines:
|
|
406
|
+
|
|
407
|
+
**Behavior:**
|
|
408
|
+
1. Show current machine status
|
|
409
|
+
2. Confirm restart action
|
|
410
|
+
3. Rolling restart (one at a time for zero downtime)
|
|
411
|
+
4. Show new machine status
|
|
412
|
+
|
|
413
|
+
**Implementation:**
|
|
414
|
+
```bash
|
|
415
|
+
# Rolling restart
|
|
416
|
+
flyctl machines restart --force
|
|
417
|
+
|
|
418
|
+
# Or restart specific machine
|
|
419
|
+
flyctl machines restart 78d40e1a
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
**Example:**
|
|
423
|
+
```
|
|
424
|
+
This will restart all machines in a rolling fashion.
|
|
425
|
+
|
|
426
|
+
Current uptime: 3d 14h 22m
|
|
427
|
+
|
|
428
|
+
Continue? (yes/no)
|
|
429
|
+
|
|
430
|
+
> yes
|
|
431
|
+
|
|
432
|
+
Restarting machines...
|
|
433
|
+
✓ 78d40e1a restarted (15s)
|
|
434
|
+
✓ 90e3f7a4 restarted (12s)
|
|
435
|
+
|
|
436
|
+
All machines restarted. Health checks passing.
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
### /fly-deploy destroy
|
|
440
|
+
|
|
441
|
+
Destroy the application and database:
|
|
442
|
+
|
|
443
|
+
**DANGER ZONE**
|
|
444
|
+
|
|
445
|
+
**Behavior:**
|
|
446
|
+
1. Explain what will be destroyed
|
|
447
|
+
2. Require explicit confirmation with app name
|
|
448
|
+
3. Optionally backup database first
|
|
449
|
+
4. Destroy resources
|
|
450
|
+
5. Update local files (remove fly.toml reference)
|
|
451
|
+
|
|
452
|
+
**Implementation:**
|
|
453
|
+
```bash
|
|
454
|
+
# List resources
|
|
455
|
+
flyctl apps list
|
|
456
|
+
flyctl postgres list
|
|
457
|
+
|
|
458
|
+
# Destroy app (requires confirmation)
|
|
459
|
+
flyctl apps destroy jfl-platform
|
|
460
|
+
|
|
461
|
+
# Destroy database (requires confirmation)
|
|
462
|
+
flyctl postgres destroy jfl-platform-db
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
**Example:**
|
|
466
|
+
```
|
|
467
|
+
⚠️ DANGER ZONE
|
|
468
|
+
|
|
469
|
+
This will permanently destroy:
|
|
470
|
+
- App: jfl-platform (2 machines)
|
|
471
|
+
- Database: jfl-platform-db (Postgres 15, 10GB)
|
|
472
|
+
- All data (Users, Projects, Deployments, etc.)
|
|
473
|
+
|
|
474
|
+
This cannot be undone.
|
|
475
|
+
|
|
476
|
+
Create a database backup first? (yes/no)
|
|
477
|
+
|
|
478
|
+
> yes
|
|
479
|
+
|
|
480
|
+
Creating backup... ✓
|
|
481
|
+
|
|
482
|
+
To confirm, type the app name: jfl-platform
|
|
483
|
+
|
|
484
|
+
> jfl-platform
|
|
485
|
+
|
|
486
|
+
Destroying resources...
|
|
487
|
+
✓ App destroyed
|
|
488
|
+
✓ Database destroyed
|
|
489
|
+
|
|
490
|
+
Deployment removed from Fly.io.
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
## Error Handling
|
|
494
|
+
|
|
495
|
+
### Not Authenticated
|
|
496
|
+
|
|
497
|
+
If `flyctl auth token` fails:
|
|
498
|
+
|
|
499
|
+
```
|
|
500
|
+
You're not authenticated with Fly.io.
|
|
501
|
+
|
|
502
|
+
Run this to login:
|
|
503
|
+
flyctl auth login
|
|
504
|
+
|
|
505
|
+
This will open your browser to authenticate.
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
### App Not Found
|
|
509
|
+
|
|
510
|
+
If app doesn't exist on Fly:
|
|
511
|
+
|
|
512
|
+
```
|
|
513
|
+
No Fly.io app found.
|
|
514
|
+
|
|
515
|
+
Options:
|
|
516
|
+
1. Deploy new app: /fly-deploy init
|
|
517
|
+
2. Link existing app: flyctl config show [app-name]
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
### Build Failures
|
|
521
|
+
|
|
522
|
+
If deployment build fails, parse logs and suggest fixes:
|
|
523
|
+
|
|
524
|
+
```
|
|
525
|
+
Build failed: Docker error
|
|
526
|
+
|
|
527
|
+
Error: "npm ERR! missing: typescript@^5.0.0"
|
|
528
|
+
|
|
529
|
+
Suggested fix:
|
|
530
|
+
npm install --save-dev typescript@^5.0.0
|
|
531
|
+
|
|
532
|
+
Want me to:
|
|
533
|
+
- Install the missing dependency?
|
|
534
|
+
- Show full build logs?
|
|
535
|
+
- Cancel deployment?
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
## Configuration Detection
|
|
539
|
+
|
|
540
|
+
### Auto-detect from fly.toml
|
|
541
|
+
|
|
542
|
+
```toml
|
|
543
|
+
app = 'jfl-platform'
|
|
544
|
+
primary_region = 'sjc'
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
**Read this to:**
|
|
548
|
+
- Get app name
|
|
549
|
+
- Get primary region
|
|
550
|
+
- Get configuration
|
|
551
|
+
|
|
552
|
+
### Auto-detect Database
|
|
553
|
+
|
|
554
|
+
```bash
|
|
555
|
+
# Check for attached Postgres
|
|
556
|
+
flyctl postgres list
|
|
557
|
+
flyctl postgres db show -a jfl-platform-db
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
### Multi-App Detection
|
|
561
|
+
|
|
562
|
+
If multiple fly.toml files exist (monorepo):
|
|
563
|
+
|
|
564
|
+
```
|
|
565
|
+
Multiple Fly apps detected:
|
|
566
|
+
|
|
567
|
+
1. jfl-platform (./platform)
|
|
568
|
+
2. jfl-api (./api)
|
|
569
|
+
3. jfl-worker (./worker)
|
|
570
|
+
|
|
571
|
+
Which app? (1-3, or 'all')
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
## Dependencies
|
|
575
|
+
|
|
576
|
+
- `flyctl` CLI installed and authenticated
|
|
577
|
+
- `fly.toml` in project directory
|
|
578
|
+
- Docker (for local builds)
|
|
579
|
+
- `git` (for commit detection)
|
|
580
|
+
|
|
581
|
+
## Tips and Best Practices
|
|
582
|
+
|
|
583
|
+
### Always show context
|
|
584
|
+
|
|
585
|
+
Don't just execute commands. Show what's happening:
|
|
586
|
+
|
|
587
|
+
```
|
|
588
|
+
Deploying changes from commit a4a4dfd...
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
### Suggest next actions
|
|
592
|
+
|
|
593
|
+
After any operation, guide the user:
|
|
594
|
+
|
|
595
|
+
```
|
|
596
|
+
Deployed successfully!
|
|
597
|
+
|
|
598
|
+
Next steps:
|
|
599
|
+
- Test the deployment: https://jfl-platform.fly.dev
|
|
600
|
+
- Watch logs: /fly-deploy logs --follow
|
|
601
|
+
- Check health: /fly-deploy health
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
### Warn on destructive actions
|
|
605
|
+
|
|
606
|
+
```
|
|
607
|
+
⚠️ This will restart all machines (brief downtime possible)
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
### Parse errors helpfully
|
|
611
|
+
|
|
612
|
+
If something fails, explain what went wrong and how to fix it:
|
|
613
|
+
|
|
614
|
+
```
|
|
615
|
+
Deployment failed: Health check timeout
|
|
616
|
+
|
|
617
|
+
The app deployed but isn't responding to health checks.
|
|
618
|
+
|
|
619
|
+
Common causes:
|
|
620
|
+
1. Database connection issues (check DATABASE_URL secret)
|
|
621
|
+
2. Port mismatch (app listening on wrong port)
|
|
622
|
+
3. Startup errors (check logs)
|
|
623
|
+
|
|
624
|
+
Want me to:
|
|
625
|
+
- Check the logs?
|
|
626
|
+
- Verify database connection?
|
|
627
|
+
- Rollback to previous version?
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
### Show costs when scaling
|
|
631
|
+
|
|
632
|
+
```
|
|
633
|
+
Scaling to 3 machines:
|
|
634
|
+
Current cost: ~$5/mo
|
|
635
|
+
New cost: ~$15/mo (+$10/mo)
|
|
636
|
+
|
|
637
|
+
Continue? (yes/no)
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
## Integration with Other Skills
|
|
641
|
+
|
|
642
|
+
### Works with /hud
|
|
643
|
+
|
|
644
|
+
Add deployment status to HUD:
|
|
645
|
+
|
|
646
|
+
```
|
|
647
|
+
Deployment: ✓ Production running (2 machines)
|
|
648
|
+
Last deploy: 2h ago
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
### Works with project specs
|
|
652
|
+
|
|
653
|
+
Check `product/platform/fly.toml` for configuration.
|
|
654
|
+
|
|
655
|
+
### Works with git
|
|
656
|
+
|
|
657
|
+
Detect uncommitted changes before deploy.
|
|
658
|
+
Show commit info in deploy logs.
|
|
659
|
+
|
|
660
|
+
## Quick Reference
|
|
661
|
+
|
|
662
|
+
```
|
|
663
|
+
/fly-deploy # Status dashboard
|
|
664
|
+
/fly-deploy deploy # Deploy latest changes
|
|
665
|
+
/fly-deploy logs -f # Stream logs
|
|
666
|
+
/fly-deploy secrets list # List secrets
|
|
667
|
+
/fly-deploy scale # Scale resources
|
|
668
|
+
/fly-deploy db status # Database info
|
|
669
|
+
/fly-deploy ssh # SSH into machine
|
|
670
|
+
/fly-deploy health # Health check
|
|
671
|
+
/fly-deploy restart # Restart machines
|
|
672
|
+
```
|
|
673
|
+
|
|
674
|
+
---
|
|
675
|
+
|
|
676
|
+
**Remember:** Keep it conversational. Guide users through operations with clear feedback and helpful suggestions. Make Fly.io deployments feel simple and observable.
|