chore: add application package scaffold and tooling ignores

Add the initial src/ package (empty FastAPI entrypoint, Settings stub),
an .env.example placeholder, and expand .gitignore for test/coverage
artifacts, environment files, and local Claude Code overrides. Also
documents the Alembic async bootstrap command in ADR-0009.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-15 11:26:15 +03:30
parent 3d3631c620
commit 8c062ae461
5 changed files with 22 additions and 2 deletions

0
.env.example Normal file
View File

13
.gitignore vendored
View File

@@ -9,5 +9,16 @@ wheels/
# Virtual environments
.venv
# Enviroment variables
# Test and coverage artifacts
.pytest_cache/
.coverage
coverage.xml
htmlcov/
# Environment variables
.env
.env.langfuse
infra/langfuse/.env
# Claude Code local overrides
.claude/settings.local.json

View File

@@ -58,7 +58,11 @@ Conventions:
- Use SQLAlchemy async sessions in FastAPI (`AsyncSession`) and one session per
request/job unit of work.
- Use Alembic for all DDL. FastAPI startup opens connections and checks
- Use Alembic for all DDL. Bootstrap the migration environment once with
`uv run alembic init -t async alembic`, then commit the generated
`alembic.ini`, `alembic/env.py`, and `alembic/versions/` directory. Retain the
async Alembic template and configure it to load the application's database URL
and SQLAlchemy model metadata. FastAPI startup opens connections and checks
readiness; it does not create or alter tables.
- Prefer UUID primary keys generated by the application. Avoid integer IDs that
leak tenant size and make distributed workers harder to compose.

5
src/config.py Normal file
View File

@@ -0,0 +1,5 @@
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
pass

0
src/main.py Normal file
View File