Add a robust auto-update mechanism to the Web App launcher and introduce the Interactive Prompt Builder.
This commit is contained in:
216
web-app/public/skills/python-fastapi-development/SKILL.md
Normal file
216
web-app/public/skills/python-fastapi-development/SKILL.md
Normal file
@@ -0,0 +1,216 @@
|
||||
---
|
||||
name: python-fastapi-development
|
||||
description: "Python FastAPI backend development with async patterns, SQLAlchemy, Pydantic, authentication, and production API patterns."
|
||||
source: personal
|
||||
risk: safe
|
||||
domain: backend-development
|
||||
category: granular-workflow-bundle
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
# Python/FastAPI Development Workflow
|
||||
|
||||
## Overview
|
||||
|
||||
Specialized workflow for building production-ready Python backends with FastAPI, featuring async patterns, SQLAlchemy ORM, Pydantic validation, and comprehensive API patterns.
|
||||
|
||||
## When to Use This Workflow
|
||||
|
||||
Use this workflow when:
|
||||
- Building new REST APIs with FastAPI
|
||||
- Creating async Python backends
|
||||
- Implementing database integration with SQLAlchemy
|
||||
- Setting up API authentication
|
||||
- Developing microservices
|
||||
|
||||
## Workflow Phases
|
||||
|
||||
### Phase 1: Project Setup
|
||||
|
||||
#### Skills to Invoke
|
||||
- `app-builder` - Application scaffolding
|
||||
- `python-development-python-scaffold` - Python scaffolding
|
||||
- `fastapi-templates` - FastAPI templates
|
||||
- `uv-package-manager` - Package management
|
||||
|
||||
#### Actions
|
||||
1. Set up Python environment (uv/poetry)
|
||||
2. Create project structure
|
||||
3. Configure FastAPI app
|
||||
4. Set up logging
|
||||
5. Configure environment variables
|
||||
|
||||
#### Copy-Paste Prompts
|
||||
```
|
||||
Use @fastapi-templates to scaffold a new FastAPI project
|
||||
```
|
||||
|
||||
```
|
||||
Use @python-development-python-scaffold to set up Python project structure
|
||||
```
|
||||
|
||||
### Phase 2: Database Setup
|
||||
|
||||
#### Skills to Invoke
|
||||
- `prisma-expert` - Prisma ORM (alternative)
|
||||
- `database-design` - Schema design
|
||||
- `postgresql` - PostgreSQL setup
|
||||
- `pydantic-models-py` - Pydantic models
|
||||
|
||||
#### Actions
|
||||
1. Design database schema
|
||||
2. Set up SQLAlchemy models
|
||||
3. Create database connection
|
||||
4. Configure migrations (Alembic)
|
||||
5. Set up session management
|
||||
|
||||
#### Copy-Paste Prompts
|
||||
```
|
||||
Use @database-design to design PostgreSQL schema
|
||||
```
|
||||
|
||||
```
|
||||
Use @pydantic-models-py to create Pydantic models for API
|
||||
```
|
||||
|
||||
### Phase 3: API Routes
|
||||
|
||||
#### Skills to Invoke
|
||||
- `fastapi-router-py` - FastAPI routers
|
||||
- `api-design-principles` - API design
|
||||
- `api-patterns` - API patterns
|
||||
|
||||
#### Actions
|
||||
1. Design API endpoints
|
||||
2. Create API routers
|
||||
3. Implement CRUD operations
|
||||
4. Add request validation
|
||||
5. Configure response models
|
||||
|
||||
#### Copy-Paste Prompts
|
||||
```
|
||||
Use @fastapi-router-py to create API endpoints with CRUD operations
|
||||
```
|
||||
|
||||
```
|
||||
Use @api-design-principles to design RESTful API
|
||||
```
|
||||
|
||||
### Phase 4: Authentication
|
||||
|
||||
#### Skills to Invoke
|
||||
- `auth-implementation-patterns` - Authentication
|
||||
- `api-security-best-practices` - API security
|
||||
|
||||
#### Actions
|
||||
1. Choose auth strategy (JWT, OAuth2)
|
||||
2. Implement user registration
|
||||
3. Set up login endpoints
|
||||
4. Create auth middleware
|
||||
5. Add password hashing
|
||||
|
||||
#### Copy-Paste Prompts
|
||||
```
|
||||
Use @auth-implementation-patterns to implement JWT authentication
|
||||
```
|
||||
|
||||
### Phase 5: Error Handling
|
||||
|
||||
#### Skills to Invoke
|
||||
- `fastapi-pro` - FastAPI patterns
|
||||
- `error-handling-patterns` - Error handling
|
||||
|
||||
#### Actions
|
||||
1. Create custom exceptions
|
||||
2. Set up exception handlers
|
||||
3. Implement error responses
|
||||
4. Add request logging
|
||||
5. Configure error tracking
|
||||
|
||||
#### Copy-Paste Prompts
|
||||
```
|
||||
Use @fastapi-pro to implement comprehensive error handling
|
||||
```
|
||||
|
||||
### Phase 6: Testing
|
||||
|
||||
#### Skills to Invoke
|
||||
- `python-testing-patterns` - pytest testing
|
||||
- `api-testing-observability-api-mock` - API testing
|
||||
|
||||
#### Actions
|
||||
1. Set up pytest
|
||||
2. Create test fixtures
|
||||
3. Write unit tests
|
||||
4. Implement integration tests
|
||||
5. Configure test database
|
||||
|
||||
#### Copy-Paste Prompts
|
||||
```
|
||||
Use @python-testing-patterns to write pytest tests for FastAPI
|
||||
```
|
||||
|
||||
### Phase 7: Documentation
|
||||
|
||||
#### Skills to Invoke
|
||||
- `api-documenter` - API documentation
|
||||
- `openapi-spec-generation` - OpenAPI specs
|
||||
|
||||
#### Actions
|
||||
1. Configure OpenAPI schema
|
||||
2. Add endpoint documentation
|
||||
3. Create usage examples
|
||||
4. Set up API versioning
|
||||
5. Generate API docs
|
||||
|
||||
#### Copy-Paste Prompts
|
||||
```
|
||||
Use @api-documenter to generate comprehensive API documentation
|
||||
```
|
||||
|
||||
### Phase 8: Deployment
|
||||
|
||||
#### Skills to Invoke
|
||||
- `deployment-engineer` - Deployment
|
||||
- `docker-expert` - Containerization
|
||||
|
||||
#### Actions
|
||||
1. Create Dockerfile
|
||||
2. Set up docker-compose
|
||||
3. Configure production settings
|
||||
4. Set up reverse proxy
|
||||
5. Deploy to cloud
|
||||
|
||||
#### Copy-Paste Prompts
|
||||
```
|
||||
Use @docker-expert to containerize FastAPI application
|
||||
```
|
||||
|
||||
## Technology Stack
|
||||
|
||||
| Category | Technology |
|
||||
|----------|------------|
|
||||
| Framework | FastAPI |
|
||||
| Language | Python 3.11+ |
|
||||
| ORM | SQLAlchemy 2.0 |
|
||||
| Validation | Pydantic v2 |
|
||||
| Database | PostgreSQL |
|
||||
| Migrations | Alembic |
|
||||
| Auth | JWT, OAuth2 |
|
||||
| Testing | pytest |
|
||||
|
||||
## Quality Gates
|
||||
|
||||
- [ ] All tests passing (>80% coverage)
|
||||
- [ ] Type checking passes (mypy)
|
||||
- [ ] Linting clean (ruff, black)
|
||||
- [ ] API documentation complete
|
||||
- [ ] Security scan passed
|
||||
- [ ] Performance benchmarks met
|
||||
|
||||
## Related Workflow Bundles
|
||||
|
||||
- `development` - General development
|
||||
- `database` - Database operations
|
||||
- `security-audit` - Security testing
|
||||
- `api-development` - API patterns
|
||||
Reference in New Issue
Block a user