一键导入
deploy
Deploy the flyfun-apps web app to production on maps.flyfun.aero
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Deploy the flyfun-apps web app to production on maps.flyfun.aero
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Update AIP data for a new AIRAC cycle (web sources + autorouter), verify changes, and optionally commit/push
Start or restart the local dev server (backend + frontend) in a tmux session
Review aviation agent code changes for architecture compliance. Use when reviewing changes to shared/aviation_agent/, web/server/api/aviation_agent_chat.py, or configs/aviation_agent/. Verifies UI payload stability, tool name consistency, state management patterns, and LangGraph best practices.
Analyze aviation agent planner behavioral test results and apply improvement workflow. Use when: running planner tests, adding test cases to planner_test_cases.json, analyzing test failures, improving planner prompts, validating planner improvements, or working with tests/aviation_agent/ test infrastructure.
Review iOS app code changes for FlyFun EuroAIP architecture compliance. Use when reviewing Swift code in app/FlyFunEuroAIP/, checking architecture patterns, or validating adherence to designs/IOS_APP_DESIGN.md. Verifies RZFlight model reuse, composed AppState pattern, repository abstraction, and platform-specific UI patterns.
Review code changes in web/client/ts/ for compliance with architecture principles. Use when reviewing TypeScript UI code, checking store patterns, or validating separation of concerns. Verifies Zustand store as single source of truth, reactive updates, and proper component communication patterns.
| name | deploy |
| description | Deploy the flyfun-apps web app to production on maps.flyfun.aero |
| disable-model-invocation | true |
Use the SSH user and server IP for flyfun.aero deployment from user config.
The project directory on the server is flyfun-apps.
git status)main branchgit log --oneline origin/main..HEADGet the commit currently deployed on the server:
ssh <user>@<server> "cd flyfun-apps && git rev-parse HEAD"
Then check what files changed between that commit and local HEAD:
git diff --name-only <server_commit>..HEAD
Classify the changes:
| Changed files | Action needed |
|---|---|
Dockerfile.base, requirements.txt, or rzflight/euro_aip changes | Base image rebuild (docker compose build --no-cache base then rebuild services) |
web/, shared/, mcp_server/, configs/ | Service rebuild (docker compose build web-server and/or mcp-server) |
tools/, .env, security_config.py | Restart only (docker compose restart web-server) |
data/rules.json or rules Excel files | RAG rebuild needed after deploy |
Only docs, tests, .claude/, or non-deployed files | No rebuild needed — just pull |
Tell the user what will be rebuilt and why.
Push to remote: git push origin main
SSH to the server and pull:
ssh <user>@<server> "cd flyfun-apps && git pull"
Before rebuilding, check if flyfun-base image exists (it may have been pruned):
ssh <user>@<server> "docker images --format '{{.Repository}}:{{.Tag}}' | grep flyfun-base || echo 'MISSING'"
If missing, build it first: ssh <user>@<server> "cd flyfun-apps && docker compose build base"
Rebuild based on scope determined above. The most common case (code changes):
ssh <user>@<server> "cd flyfun-apps && docker compose build web-server && docker compose up -d web-server"
If base image rebuild is needed (requirements.txt, euro_aip changes):
ssh <user>@<server> "cd flyfun-apps && docker compose build --no-cache base && docker compose build web-server mcp-server && docker compose up -d"
If only restart needed:
ssh <user>@<server> "cd flyfun-apps && docker compose restart web-server"
If RAG rebuild is needed (rules.json changed):
ssh <user>@<server> "docker exec -it flyfun-web-server python /app/tools/xls_to_rules.py --out /app/data/rules.json --build-rag"
Wait a few seconds, then verify the health check:
ssh <user>@<server> "docker inspect --format='{{.State.Health.Status}}' flyfun-web-server"
Also check the endpoint is responding:
curl -s -o /dev/null -w '%{http_code}' https://maps.flyfun.aero/health
ssh <user>@<server> "docker logs --tail 50 flyfun-web-server"ssh <user>@<server> "docker logs --tail 20 flyfun-chromadb"WEB_PORT (default 8000)docker compose (v2 syntax, NOT docker-compose)flyfun-web-server, flyfun-mcp-server, flyfun-chromadb