원클릭으로
devserver
Start or restart the local dev server (backend + frontend) in a tmux session
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Start or restart the local dev server (backend + frontend) in a tmux session
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Update AIP data for a new AIRAC cycle (web sources + autorouter), verify changes, and optionally commit/push
Deploy the flyfun-apps web app to production on maps.flyfun.aero
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 | devserver |
| description | Start or restart the local dev server (backend + frontend) in a tmux session |
| disable-model-invocation | true |
Manage the flyfun-apps tmux session that runs the FastAPI backend and Vite frontend dev server.
Ports: Backend 8010, Frontend 3010 (offset from flyfun-weather which uses 8000/3000).
Figure out the correct project root (PROJECT_ROOT):
.git is a file not a directory), the working directory IS the project root for that worktree$PROJECT_ROOT/venv/ exists, use it$PROJECT_ROOT/../main/venv/ (worktree case sharing main's venv)Store the resolved path as VENV_PATH.
$PROJECT_ROOT/.env exists, good — nothing to do$PROJECT_ROOT/../main/.env exists (worktree case)
cp ../main/.env $PROJECT_ROOT/.env.env file is missing and the server will likely fail to startRun: tmux has-session -t flyfun-apps 2>/dev/null
If a session exists:
Check what directory it's running in: tmux display-message -t flyfun-apps -p '#{pane_current_path}'
Compare that path to $PROJECT_ROOT
If the directory matches and the session looks healthy, tell the user:
Dev server already running at http://localhost:3010 — attach with
tmux attach -t flyfun-apps
Then stop (no restart needed).
If the directory does NOT match (e.g., switched worktrees), kill the session:
tmux kill-session -t flyfun-apps
Then continue to Step 5 to create a fresh one.
Create a new tmux session with two panes:
# Create detached session — pane 0 runs the backend
tmux new-session -d -s flyfun-apps -c "$PROJECT_ROOT"
# Pane 0: backend (FastAPI with reload on port 8010)
tmux send-keys -t flyfun-apps "source $VENV_PATH/bin/activate && cd web/server && PORT=8010 python main.py" Enter
# Create pane 1 (vertical split) for the frontend watcher
tmux split-window -h -t flyfun-apps -c "$PROJECT_ROOT/web/client"
tmux send-keys -t flyfun-apps "BACKEND_PORT=8010 npm run dev -- --port 3010" Enter
Tell the user:
tmux attach -t flyfun-apps.env file is loaded automatically by the app (shared.env_loader), no need to source it manuallyuvicorn --reload watches for Python file changes automaticallyBACKEND_PORT env var (defaults to 8010 in vite.config.ts)