Add database, telegram bot, and tests skills; update stack and fastapi skills
- Add python-development-database skill: metaorm patterns for tables, repositories, filters, settings, transactions, pagination, and exceptions - Add python-development-telegram-bot skill: aiogram bot service with polling/webhook, router structure, middlewares, inline keyboards, and pagination - Add python-development-tests skill: test organization guidelines with pytest, fixtures, and dependency injection rules - Update python-development-stack: replace SQLModel/SQLAlchemy with metaorm; add pytest, pytest-asyncio, pytest-cov, faker - Update python-development-fastapi: add sections for dependencies and list endpoints with ListResponse schema - Update python-development-code-style: allow ctx as exception for typer.Context parameter - Update python-development index with links to all three new skills Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,11 +6,14 @@ description: Technology stack decisions for Python services. Use when adding dep
|
||||
## Rules
|
||||
- Use `uv` as the package manager for all Python dependency operations.
|
||||
- Use `FastAPI` for REST API and HTTP services.
|
||||
- Use `SQLModel` and `SQLAlchemy` for database access. Async drivers: `asyncpg` for PostgreSQL, `aiosqlite` for SQLite.
|
||||
- Use `metaorm` for database access. It is built on top of `SQLModel` and `SQLAlchemy` and provides built-in CRUD, DTO mapping, pagination, sorting, and transaction management. Async drivers: `asyncpg` for PostgreSQL, `aiosqlite` for SQLite.
|
||||
- Use `alembic` for database migrations.
|
||||
- Use `facet` for hierarchical async service composition with dependency management and graceful shutdown.
|
||||
- Use `typer` for CLI interfaces.
|
||||
- Use `pydantic` for DTOs and data validation; use `pydantic-settings` for application configuration.
|
||||
- Use `loguru` for logging.
|
||||
- Use `pytest` with `pytest-asyncio` for testing.
|
||||
- Use `pytest-cov` for coverage reporting.
|
||||
- Use `faker` for generating test data.
|
||||
- Use `pyyaml` for YAML parsing; use `pyyaml-include` for `!include` tags and `pyyaml-env-tag` for `!env` interpolation inside YAML config files.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user