Files
sneakyklaus/CLAUDE.md
Phil Skentelbery b077112aba chore: initial project setup
Initialize Sneaky Klaus project with:
- uv package management and pyproject.toml
- Flask application structure (app.py, config.py)
- SQLAlchemy models for Admin and Exchange
- Alembic database migrations
- Pre-commit hooks configuration
- Development tooling (pytest, ruff, mypy)

Initial structure follows design documents in docs/:
- src/app.py: Application factory with Flask extensions
- src/config.py: Environment-based configuration
- src/models/: Admin and Exchange models
- migrations/: Alembic migration setup

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-22 11:28:15 -07:00

1.6 KiB

Sneaky Klaus

A self-hosted Secret Santa organization application.

Project Documentation

  • docs/PROJECT_OVERVIEW.md - Product vision and scope
  • docs/BACKLOG.md - User stories with acceptance criteria
  • docs/decisions/ - Architecture Decision Records
  • docs/designs/vX.Y.Z/ - Design documents (versioned)

Workflow

This project uses a two-agent workflow coordinated by the main agent:

  1. Architect (.claude/agents/architect.md) - Designs systems, produces ADRs and design docs
  2. Developer (.claude/agents/developer.md) - Implements features from designs using TDD

Flow: User Story → Architect designs → User approves → Developer implements

The main agent coordinates between subagents. If the developer needs architectural clarification, route through the main agent to the architect.

Tech Stack

Component Technology
Backend Flask (Python)
Database SQLite
Email Resend
Deployment Docker
Package Manager uv
Testing pytest (80% coverage target)
Linting/Formatting Ruff
Type Checking mypy

Commands

uv sync                    # Install dependencies
uv run flask run           # Run development server
uv run pytest              # Run tests
uv run ruff check .        # Lint
uv run ruff format .       # Format
uv run mypy src            # Type check

Git Workflow

Trunk-based development with short-lived branches:

  • feature/<story-id>-description - New features
  • fix/<description> - Bug fixes
  • chore/<description> - Maintenance

Merge to main when complete. Delete branch after merge.