From f6aceb060d28fcc79f2d0c00b300c6c89bf0b8b2 Mon Sep 17 00:00:00 2001 From: rap2sac9 Date: Sat, 27 Jun 2026 23:30:25 +1000 Subject: [PATCH] docs: initialize project CLAUDE.md from template Sets up project memory using the provided template to document project context, conventions, and goals for Claude Code sessions. --- CLAUDE.md | 123 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 76 insertions(+), 47 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 2b137d68..926400f1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,62 +1,91 @@ -# CLAUDE.md +# Project Configuration -Tutorial repo. Output is markdown in numbered modules `01-` through `10-`, not an app. Scripts in `scripts/` exist only to validate docs and build the EPUB. +## Project Overview +- **Name**: E-commerce Platform +- **Tech Stack**: Node.js, PostgreSQL, React 18, Docker +- **Team Size**: 5 developers +- **Deadline**: Q4 2025 -See also `.claude/CLAUDE.md` for stack/commands and `STYLE_GUIDE.md` for lesson structure. +## Architecture +@docs/architecture.md +@docs/api-standards.md +@docs/database-schema.md -## Critical commands +## Development Standards -```bash -# Quality gate (also runs on commit via pre-commit hooks) -pre-commit run --all-files +### Code Style +- Use Prettier for formatting +- Use ESLint with airbnb config +- Maximum line length: 100 characters +- Use 2-space indentation -# Tests -pytest scripts/tests/ -v +### Naming Conventions +- **Files**: kebab-case (user-controller.js) +- **Classes**: PascalCase (UserService) +- **Functions/Variables**: camelCase (getUserById) +- **Constants**: UPPER_SNAKE_CASE (API_BASE_URL) +- **Database Tables**: snake_case (user_accounts) -# EPUB build (calls Kroki.io API to render Mermaid — needs network) -uv run scripts/build_epub.py +### Git Workflow +- Branch names: `feature/description` or `fix/description` +- Commit messages: Follow conventional commits +- PR required before merge +- All CI/CD checks must pass +- Minimum 1 approval required -# Python tooling -ruff check scripts/ && ruff format scripts/ -mypy scripts/ --ignore-missing-imports -bandit -c scripts/pyproject.toml -r scripts/ --exclude scripts/tests/ -``` +### Testing Requirements +- Minimum 80% code coverage +- All critical paths must have tests +- Use Jest for unit tests +- Use Cypress for E2E tests +- Test filenames: `*.test.ts` or `*.spec.ts` -Pre-commit runs 5 checks: markdown-lint, cross-references, mermaid-syntax, link-check, build-epub (on `.md` changes). All must pass. +### API Standards +- RESTful endpoints only +- JSON request/response +- Use HTTP status codes correctly +- Version API endpoints: `/api/v1/` +- Document all endpoints with examples -## Architecture map +### Database +- Use migrations for schema changes +- Never hardcode credentials +- Use connection pooling +- Enable query logging in development +- Regular backups required -- `01-` … `10-` — tutorial modules. **Numbered prefix = learning order**, not alphabetical. Do not reorganize. -- Each module: `README.md` + copy-paste templates (`.md`, `.json`, `.sh`). -- `scripts/` — utilities (EPUB builder, link/mermaid/cross-ref validators). Not the product. -- `02-memory/*.md` — CLAUDE.md templates users copy into their own projects. Don't confuse with this file. -- `openspec/` — spec-driven change proposals. +### Deployment +- Docker-based deployment +- Kubernetes orchestration +- Blue-green deployment strategy +- Automatic rollback on failure +- Database migrations run before deploy -## Hard rules +## Common Commands -- **YOU MUST NOT commit or push without explicit user request.** -- **YOU MUST NOT add `Co-Authored-By: Claude`** to any commit message. -- Always activate `.venv` before running Python scripts (check `venv/`, `.venv/`, `env/`). -- Internal links use **relative paths** (e.g. `01-slash-commands/README.md`); anchors use `#heading-name`. -- Code fences **must** declare a language (`bash`, `python`, `json`, …) — the cross-reference check fails otherwise. -- External URLs must be reachable and stable. No ephemeral links. -- Mermaid diagrams must parse (validated pre-commit). Broken EPUB build is usually invalid Mermaid or no network to Kroki. -- Commit format: `type(scope): subject` where `scope` matches the module folder (e.g. `feat(slash-commands):`, `docs(memory):`, `fix(README):`). -- Do not reorganize the `01-`–`10-` numbering. The order is the curriculum. +| Command | Purpose | +|---------|---------| +| `npm run dev` | Start development server | +| `npm test` | Run test suite | +| `npm run lint` | Check code style | +| `npm run build` | Build for production | +| `npm run migrate` | Run database migrations | -## Workflow preferences +## Team Contacts +- Tech Lead: Sarah Chen (@sarah.chen) +- Product Manager: Mike Johnson (@mike.j) +- DevOps: Alex Kim (@alex.k) -- For lesson edits, follow `STYLE_GUIDE.md` for structure/naming/diagrams. -- Small fixes → minimal diff. Don't rewrite a section to fix a typo. -- When adding a module page: README + templates first, then update root `README.md` index and `LEARNING-ROADMAP.md` if order/timing changes. -- Tutorial > library: prioritize clear explanations and copy-paste examples over reusable abstractions. -- If a quality check fails, fix the underlying issue. Don't bypass with `--no-verify`. +## Known Issues & Workarounds +- PostgreSQL connection pooling limited to 20 during peak hours +- Workaround: Implement query queuing +- Safari 14 compatibility issues with async generators +- Workaround: Use Babel transpiler -## Token Efficiency -- Never re-read files you just wrote or edited. You know the contents. -- Never re-run commands to "verify" unless the outcome was uncertain. -- Don't echo back large blocks of code or file contents unless asked. -- Batch related edits into single operations. Don't make 5 edits when 1 handles it. -- Skip confirmations like "I'll continue..." Just do it. -- If a task needs 1 tool call, don't use 3. Plan before acting. -- Do not summarize what you just did unless the result is ambiguous or you need additional input. +## Related Projects +- Analytics Dashboard: `/projects/analytics` +- Mobile App: `/projects/mobile` +- Admin Panel: `/projects/admin` + +--- +**Last Updated**: April 9, 2026