Spaces:
Sleeping
Sleeping
| # CLAUDE.md | |
| This file is read by Claude Code at session start. It defines how to work in this repository. | |
| ## Project | |
| **Name:** RedButton | |
| **Status:** Setup phase. Spec exists at PROJECT.md; no production code yet. | |
| **Spec location:** PROJECT.md (read end-to-end before any implementation begins). | |
| ## Working Style | |
| This project is directed by a two-tier system: | |
| - A high-level prompter (Claude.ai) writes the prompts. | |
| - Claude Code (you) executes them. | |
| The prompts are designed assuming you can handle long, multi-step tasks. Trust the prompts to specify what matters; ask only when something material is genuinely unclear. | |
| When working in this repo: | |
| - Tests are written alongside the code, not after. | |
| - Commits happen at logical task boundaries with descriptive messages. No "Claude" trailers in commit messages. | |
| - Pre-commit hook runs the test suite and linter; do not bypass. | |
| - Push to origin after every committed task unless told otherwise. | |
| ## Environment | |
| **Language:** Python (system Python 3.14 detected at scaffold time; ruff/pyproject target floor is 3.11). | |
| **Package manager:** pip, with a project virtualenv at `.venv/`. | |
| **Test runner:** pytest. | |
| **Linter/formatter:** ruff (handles both lint and format). | |
| Always activate the project's virtualenv before running any commands that depend on project deps: | |
| source .venv/bin/activate | |
| The `.venv` is at the repo root and is gitignored. | |
| ## Hard Constraints | |
| These are non-negotiable. Flag immediately if you see them creeping in: | |
| - Do not commit secrets, .env files, or credentials. | |
| - Do not add dependencies without explicit approval. | |
| - Do not modify the spec document (PROJECT.md) without explicit approval. | |
| - Do not skip tests to "get it working" — failing tests block commits. | |
| ## Subagent Roster | |
| Empty. Subagents will be added when the project needs specialized roles. Defined in `.claude/agents/`. | |
| ## Skills | |
| Empty. Skills will be added when task patterns repeat. Defined in `.claude/skills/`. | |
| ## Recent State | |
| This section tracks current build state. Update at the end of each significant task. | |
| **Last completed:** Initial scaffold — CLAUDE.md, `.claude/` tree, Python project skeleton (`pyproject.toml`, `src/redbutton/`, `tests/`), pre-commit hook. | |
| **Next up:** Awaiting first task prompt. PROJECT.md should be read in full before any implementation begins. | |
| **Known issues:** None at this time. | |
| ## When to Stop and Ask | |
| Stop and ask the user before: | |
| - Installing any package not already in the dependency list. | |
| - Modifying CLAUDE.md or anything in `.claude/` that wasn't created in this task. | |
| - Running anything destructive (rm -rf, force push, dropping databases). | |
| - Making architectural decisions that weren't specified. | |
| Do NOT stop and ask for: | |
| - Standard implementation choices within a specified task. | |
| - Style decisions consistent with existing code. | |
| - Test coverage decisions for code you're writing. | |