RedButton / CLAUDE.md
Arun-Sanjay's picture
chore: pin python 3.12, rebuild venv, rename master→main
d589da5

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.