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:
2026-10-26 14:04:05 +03:00
parent 36764b8ab0
commit b8388fa4a2
7 changed files with 734 additions and 1 deletions

View File

@@ -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.