Spaces:
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.