# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project Status This is a greenfield project in early discovery/design phase. No source code exists yet. The project aims to automate financial and operational management for a small sports club. See `docs/project-notes.md` for the current brainstorming state, domain model, and open questions that need answering before implementation begins. ## Key Constraints - **PII separation**: Member data (names, emails, payment info) must never be committed to git. Enforce config/data separation from day one. - **Incremental approach**: Start with highest-ROI automation (likely fee billing & payment tracking), not a full platform. ## Development Workflow This project uses a hybrid workflow: - Claude.ai chat for brainstorming and design exploration - Claude Code for implementation ## When Code Exists ## Development Setup This project uses `uv` for dependency management. ```bash uv venv # Create virtual environment uv sync # Install dependencies from pyproject.toml source .venv/bin/activate ``` Alternatively, use the Makefile: - `make sync` - Sync bank transactions to Google Sheets - `make infer` - Automatically infer Person/Purpose/Amount in the sheet - `make reconcile` - Generate balance report from Google Sheets data - `make fees` - Calculate expected fees from attendance - `make match` - (Legacy) Match bank data directly - `make web` - Start dashboard - `make image` - Build Docker image Requires `credentials.json` in the root for Google Sheets API access. ## Git Commits When making git commits, always append yourself as co-author trailer to the end of the commit message to indicate AI assistance