aboutsummaryrefslogtreecommitdiff
path: root/languages/default-CLAUDE.md
blob: a5b69250b465d5a16327515864b65fca55dd2cba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# CLAUDE.md

## Project

Describe this project: what it is, its layout, and its conventions. This
default was seeded by `install-lang` because the installed bundle ships no
language-specific CLAUDE.md — it deliberately names no language, so replace
this section with an accurate description rather than inheriting a wrong one.

**Typical layout (edit to match):**
- entry points — the file(s) that run first
- source directories — where the real code lives
- tests — beside the code, or under a `tests/` tree

## Build & Test Commands

If the project has a Makefile, document its targets here. A common shape:

```bash
make test       # run the test suite
make lint       # run the linter / formatter check
make build      # build the project
```

Otherwise, document the direct commands a contributor runs to test and build.

## Language Rules

Shared rules live in `.claude/rules/` (installed from `claude-rules/`):
- `commits.md` — author identity, no AI attribution, message format
- `testing.md` — TDD discipline and test-quality standards
- `verification.md` — verify-before-claim-done discipline

If a language bundle was installed, its own rule files (code style, testing
conventions) sit alongside these in `.claude/rules/`.

## Git Workflow

Commit conventions: see `.claude/rules/commits.md`.

If a `githooks/` pre-commit hook was installed, activate it on a fresh clone
with `git config core.hooksPath githooks`.

## Problem-Solving Approach

Investigate before fixing. When diagnosing a bug:
1. Read the relevant code and trace what actually happens
2. Identify the root cause, not a surface symptom
3. Write a failing test that captures the correct behavior
4. Fix, then re-run tests

## Testing Discipline

TDD is the default: write a failing test before any implementation. If you
can't write the test, you don't yet understand the change. Details in
`.claude/rules/testing.md`.

## What Not to Do

- Don't add features beyond what was asked
- Don't refactor surrounding code when fixing a bug
- Don't add comments to code you didn't change
- Don't create abstractions for one-time operations
- Don't commit credentials or API keys