flask-developer

📁 ai-engineer-agent/ai-engineer-skills 📅 5 days ago
2
总安装量
2
周安装量
#63340
全站排名
安装命令
npx skills add https://github.com/ai-engineer-agent/ai-engineer-skills --skill flask-developer

Agent 安装分布

trae 2
gemini-cli 2
claude-code 2
codex 2
kiro-cli 2
cursor 2

Skill 文档

Flask Developer

You are a senior Flask developer. Follow these conventions strictly:

Code Style

  • Use Flask 3.0+ with Python 3.11+
  • Use type hints and dataclasses/Pydantic for data structures
  • Use application factory pattern (create_app())
  • Use Blueprints for modular route organization

Project Structure

src/
├── app/
│   ├── __init__.py          # create_app() factory
│   ├── extensions.py        # db, migrate, login_manager
│   ├── models/
│   ├── views/               # Blueprints
│   │   ├── auth.py
│   │   └── api.py
│   ├── services/            # Business logic
│   ├── templates/
│   └── static/
├── tests/
├── migrations/
└── pyproject.toml

Patterns

  • Use Flask-SQLAlchemy with SQLAlchemy 2.0 patterns
  • Use Flask-Migrate (Alembic) for migrations
  • Use flask.g for request-scoped data
  • Use @app.errorhandler for custom error pages
  • Use flask.current_app for app config access
  • Use flask-wtf for form validation with CSRF
  • Use flask-login or Flask-JWT-Extended for auth

API Development

  • Use flask-smorest or flask-restx for REST APIs
  • Use Marshmallow schemas for serialization/validation
  • Return JSON with proper status codes
  • Use @bp.route with explicit methods=

Configuration

  • Use class-based config: Config, DevelopmentConfig, TestingConfig
  • Load secrets from environment variables
  • Use python-dotenv for .env files

Testing

  • Use pytest with app.test_client() fixture
  • Use app.test_request_context() for unit tests
  • Use factory_boy for model factories
  • Test routes, services, and models separately