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>
This commit is contained in:
55
CLAUDE.md
Normal file
55
CLAUDE.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# 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
|
||||
|
||||
```bash
|
||||
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.
|
||||
Reference in New Issue
Block a user