Server Development Skill
Instructions
Use this skill to scaffold and maintain backend services in the server/ directory. Follow the stack preferences and configuration details below.
Quick Start
-
Initialize: uv init .
-
Manager: Use uv for all dependency operations.
-
Framework: Setup FastAPI with Pydantic .
-
Database: configure SQLAlchemy (Async) + Alembic .
Core Stack Preferences
Project Management (uv)
Use uv for all Python project management (scaffolding, dependency management, virtual environments).
Command Description
uv init
Initialize a new project
uv add <pkg>
Add dependency
uv add --dev <pkg>
Add development dependency
uv run <cmd>
Run command in virtual environment
uv venv
Create virtual environment
Project Location
The backend project should be initialized in the server/ directory.
Framework (FastAPI)
Use FastAPI for building APIs.
-
Use APIRouter for modularizing routes.
-
Use pydantic-settings for configuration management.
Database (SQLAlchemy + Alembic)
Use SQLAlchemy 2.0+ with AsyncIO support. Use Alembic for database migrations.
AI & LLM (LiteLLM + Docling)
-
LiteLLM: For standardized access to various LLM providers.
-
Docling: For parsing and processing documents.
References
Setup & Configuration
Topic Description Reference
Project Setup Using uv, strict python versioning, and environment variables setup
API Development FastAPI structure, error handling, and validation api
Data & Architecture
Topic Description Reference
Database Access Async SQLAlchemy strategies and Alembic migrations database
AI Integration using LiteLLM and Docling for AI features ai