Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/tomevault-io/skills-registry --skill fastapi-deploy명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
| Use when this capability is needed.
> Use when this capability is needed.
Review architecture and API design for the vfs-s3 project. Use when the user mentions @architect, asks to review an issue's design, discuss module boundaries, API shape, or architectural decisions for vfs-s3. Also trigger when the user wants to create an ADR (Architecture Decision Record) or evaluate a technical approach for the project. Intended for dispatch from Codex automation or Claude routines; GitHub trigger phrase: @vfs-s3-bot please prepare design doc Use when this capability is needed.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | fastapi-deploy |
| description | > Use when this capability is needed. |
Orchestrates backend deployment steps with health verification.
Scope: Local/dev deployment orchestration. For migration authoring, use /fastapi-db-migrate. For post-migration verification, use /db-migrate-verify. For production deployment strategies (canary, blue-green), use /deploy-strategy.
Arguments: $ARGUMENTS
cd backend && python --version
python -c "import sys; print('venv:', hasattr(sys, 'real_prefix') or sys.base_prefix != sys.prefix)"
ls -la .env 2>/dev/null || echo "WARNING: .env not found"
If .env is missing, STOP and ask the user — deployment without config will fail silently.
Skip if --skip-migrate is in $ARGUMENTS.
cd backend && alembic current && alembic upgrade head
If migration fails, STOP and report the error. Do not proceed to seeding or server start with a broken schema.
Skip if --skip-seed is in $ARGUMENTS.
cd backend && ls scripts/seed_*.py 2>/dev/null
If seed scripts are found, run each one:
for script in scripts/seed_*.py; do
echo "Running: $script"
python "$script" || echo "WARNING: $script failed"
done
If no seed scripts exist, skip this step silently.
Check if a server process is already running and stop it first:
# Check for existing uvicorn process on the target port
PORT=${PORT:-8000}
lsof -ti:$PORT 2>/dev/null && echo "Port $PORT in use — stopping existing process" && kill $(lsof -ti:$PORT)
Start the server in the background (NOT with --reload — that is for development, not deployment):
cd backend && nohup uvicorn app.main:app --host 0.0.0.0 --port $PORT --workers 2 > uvicorn.log 2>&1 &
echo "Server PID: $!"
sleep 2 # Allow startup time
PORT=${PORT:-8000}
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:$PORT/docs)
echo "Health check: $HTTP_CODE"
If health check returns non-200:
uvicorn.log for errors: tail -20 backend/uvicorn.log--skip-migrate was NOT set, suggest rolling back: cd backend && alembic downgrade -1Deploy Summary:
Migrations: <applied|skipped|failed>
Seed data: <N scripts run|skipped|none found>
Server: <running on port PORT (PID: N)|failed>
Health: <HTTP_CODE — OK|FAILED>
URL: http://localhost:PORT/docs
Log: backend/uvicorn.log
--reload in deployment — Why: reload is dev-only, blocks the shell, and restarts on file changesSource: abhayla/claude-best-practices — distributed by TomeVault.