tillerhand 3.42.1 → 3.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/board-chair.md +20 -20
- package/.claude/agents/code-reviewer.md +20 -20
- package/.claude/agents/council-advisor.md +14 -14
- package/.claude/agents/security-auditor.md +30 -30
- package/.claude/agents/test-writer.md +22 -21
- package/.claude/board/board-ai.md +25 -25
- package/.claude/board/board-api.md +25 -25
- package/.claude/board/board-architect.md +28 -28
- package/.claude/board/board-devops.md +25 -25
- package/.claude/board/board-mobile.md +25 -25
- package/.claude/board/board-performance.md +24 -24
- package/.claude/board/board-privacy.md +25 -25
- package/.claude/board/board-product.md +26 -26
- package/.claude/board/board-qa.md +28 -28
- package/.claude/board/board-ux.md +26 -26
- package/.claude/board/council.md +76 -76
- package/.claude/board/rules.md +61 -61
- package/.claude/claude-security-guidance.md +10 -10
- package/.claude/commands/adopt.md +70 -69
- package/.claude/commands/ask-mode.md +9 -9
- package/.claude/commands/board.md +15 -15
- package/.claude/commands/build.md +47 -47
- package/.claude/commands/dashboard.md +17 -17
- package/.claude/commands/design.md +31 -31
- package/.claude/commands/findings-all.md +14 -14
- package/.claude/commands/findings-business.md +7 -7
- package/.claude/commands/findings-legal.md +7 -7
- package/.claude/commands/findings-perf.md +7 -7
- package/.claude/commands/findings-security.md +9 -9
- package/.claude/commands/findings-tech.md +7 -7
- package/.claude/commands/findings-ux.md +7 -7
- package/.claude/commands/fix-bug.md +15 -15
- package/.claude/commands/freeze.md +8 -8
- package/.claude/commands/handoff.md +38 -38
- package/.claude/commands/kit-update.md +17 -14
- package/.claude/commands/language.md +13 -0
- package/.claude/commands/maintain.md +19 -19
- package/.claude/commands/plan-task.md +32 -32
- package/.claude/commands/qa.md +17 -17
- package/.claude/commands/release.md +40 -40
- package/.claude/commands/research.md +31 -31
- package/.claude/commands/retro.md +32 -32
- package/.claude/commands/review-changes.md +15 -15
- package/.claude/commands/rollback.md +24 -24
- package/.claude/commands/start.md +116 -113
- package/.claude/commands/tools.md +11 -11
- package/.claude/commands/user-feedback.md +11 -11
- package/.claude/commands/wrap-up.md +18 -18
- package/.claude/findings/lenses/business.md +24 -24
- package/.claude/findings/lenses/legal.md +29 -29
- package/.claude/findings/lenses/perf.md +19 -19
- package/.claude/findings/lenses/security.md +30 -30
- package/.claude/findings/lenses/tech.md +23 -23
- package/.claude/findings/lenses/ux.md +19 -19
- package/.claude/findings/protocol.md +54 -54
- package/.claude/findings/report-template.md +30 -30
- package/.claude/hooks/budget.mjs +7 -7
- package/.claude/hooks/checkpoint.mjs +12 -12
- package/.claude/hooks/commit-gate.mjs +50 -34
- package/.claude/hooks/cost.mjs +2 -2
- package/.claude/hooks/council.mjs +3 -3
- package/.claude/hooks/dashboard-data.mjs +3 -2
- package/.claude/hooks/dashboard.mjs +164 -149
- package/.claude/hooks/destructive-guard.mjs +74 -64
- package/.claude/hooks/edit-rounds.mjs +3 -3
- package/.claude/hooks/flow.mjs +10 -10
- package/.claude/hooks/freeze-guard.mjs +27 -23
- package/.claude/hooks/gate.mjs +25 -25
- package/.claude/hooks/guard-secrets.mjs +11 -11
- package/.claude/hooks/lang.mjs +114 -0
- package/.claude/hooks/messages.mjs +495 -0
- package/.claude/hooks/models.mjs +14 -11
- package/.claude/hooks/notify.mjs +3 -2
- package/.claude/hooks/package-gate.mjs +17 -15
- package/.claude/hooks/plugins-sync.mjs +9 -9
- package/.claude/hooks/prefs.mjs +19 -19
- package/.claude/hooks/preview.mjs +11 -11
- package/.claude/hooks/progress.mjs +14 -14
- package/.claude/hooks/qa-report.mjs +11 -10
- package/.claude/hooks/reminder.mjs +6 -3
- package/.claude/hooks/session-start.mjs +23 -17
- package/.claude/hooks/shared.mjs +1 -1
- package/.claude/hooks/status-read.mjs +5 -4
- package/.claude/hooks/statusline.mjs +14 -11
- package/.claude/hooks/structure-guard.mjs +9 -9
- package/.claude/hooks/test-guard.mjs +61 -20
- package/.claude/hooks/tools.mjs +28 -29
- package/.claude/hooks/usage.mjs +18 -15
- package/.claude/output-styles/anlatici.md +28 -28
- package/.claude/security-patterns.json +3 -3
- package/.claude/settings.json +6 -0
- package/.claude/skills/logo-design/SKILL.md +42 -42
- package/.claude/skills/motion-video/SKILL.md +52 -52
- package/.claude/skills/source-research/SKILL.md +35 -35
- package/.claude/skills/ui-motion/SKILL.md +38 -38
- package/.github/workflows/kit-tests.yml +7 -7
- package/.github/workflows/npm-publish.yml +16 -16
- package/AGENTS.md +56 -56
- package/CHANGELOG.md +7 -7
- package/CLAUDE.md +5 -5
- package/README.md +199 -172
- package/README.tr.md +292 -0
- package/docs/architecture/overview.md +31 -31
- package/docs/architecture/stack.md +2 -2
- package/docs/archive/README.md +4 -4
- package/docs/decisions/adr-template.md +14 -14
- package/docs/decisions/log.md +10 -10
- package/docs/findings/README.md +13 -13
- package/docs/findings/config.md +13 -13
- package/docs/legal/privacy-kvkk.md +1 -1
- package/docs/operations/accounts.md +25 -25
- package/docs/operations/deploy-setup.md +64 -64
- package/docs/operations/feature-flags.md +17 -17
- package/docs/operations/maintenance.md +48 -48
- package/docs/operations/release-checklist.md +61 -61
- package/docs/operations/spend-alarms.md +28 -28
- package/docs/product/feedback.md +9 -8
- package/docs/product/glossary.md +16 -16
- package/docs/product/launch.md +28 -28
- package/docs/product/prd.md +43 -42
- package/docs/product/roadmap.md +31 -30
- package/docs/product/specs/_template.md +13 -12
- package/docs/product/unit-economics.md +23 -22
- package/docs/quality/metrics.md +14 -14
- package/docs/quality/retros.md +11 -11
- package/docs/quality/test-plan.md +48 -48
- package/docs/security/checklist.md +57 -57
- package/docs/workflow/board.md +7 -7
- package/docs/workflow/cost-log.md +4 -4
- package/docs/workflow/decision-protocol.md +70 -70
- package/docs/workflow/learning.md +4 -4
- package/docs/workflow/mcp-catalog.md +31 -31
- package/docs/workflow/models.md +35 -35
- package/docs/workflow/progress.md +7 -7
- package/docs/workflow/skills.md +108 -108
- package/docs/workflow/usage-limits.md +62 -62
- package/kit/CHANGELOG.md +879 -839
- package/kit/VERSION +1 -1
- package/kit/guide.html +713 -477
- package/kit/guide.tr.html +1328 -0
- package/kit/kit.mjs +56 -54
- package/kit/project/README.md +29 -29
- package/kit/project/gitignore +12 -12
- package/kit/templates/addons/ai/.env.example.append +5 -5
- package/kit/templates/addons/ai/ai/evals/README.md +11 -11
- package/kit/templates/addons/ai/ai/evals/cases.jsonl +2 -2
- package/kit/templates/addons/ai/ai/prompts/README.md +8 -8
- package/kit/templates/addons/ai/docs/ai/guide.md +56 -56
- package/kit/templates/backend/.claude/hooks/format.mjs +1 -1
- package/kit/templates/backend/.claude/structure.json +1 -1
- package/kit/templates/backend/.env.example +6 -6
- package/kit/templates/backend/.github/dependabot.yml +1 -1
- package/kit/templates/backend/.github/workflows/ci.yml +13 -13
- package/kit/templates/backend/.github/workflows/claude-ci-fix.yml +19 -19
- package/kit/templates/backend/.github/workflows/claude-maintenance.yml +18 -18
- package/kit/templates/backend/.github/workflows/live-monitoring.yml +14 -14
- package/kit/templates/backend/.pre-commit-config.yaml +3 -3
- package/kit/templates/backend/docs/architecture/stack.md +98 -98
- package/kit/templates/backend/docs/architecture/structure.md +34 -34
- package/kit/templates/mobile/.claude/structure.json +1 -1
- package/kit/templates/mobile/.env.example +6 -6
- package/kit/templates/mobile/.github/dependabot.yml +2 -2
- package/kit/templates/mobile/.github/workflows/ci.yml +18 -18
- package/kit/templates/mobile/.github/workflows/claude-ci-fix.yml +19 -19
- package/kit/templates/mobile/.github/workflows/claude-maintenance.yml +18 -18
- package/kit/templates/mobile/.gitignore.append +2 -2
- package/kit/templates/mobile/docs/architecture/stack.md +113 -113
- package/kit/templates/mobile/docs/architecture/structure.md +33 -33
- package/kit/templates/mobile/docs/design/design-guide.md +37 -37
- package/kit/templates/mobile/tests/security/rls.mjs +22 -22
- package/kit/templates/web-saas/.claude/structure.json +1 -1
- package/kit/templates/web-saas/.env.example +11 -11
- package/kit/templates/web-saas/.github/dependabot.yml +3 -3
- package/kit/templates/web-saas/.github/workflows/ci.yml +20 -20
- package/kit/templates/web-saas/.github/workflows/claude-ci-fix.yml +19 -19
- package/kit/templates/web-saas/.github/workflows/claude-maintenance.yml +18 -18
- package/kit/templates/web-saas/.github/workflows/live-monitoring.yml +12 -12
- package/kit/templates/web-saas/docs/architecture/stack.md +116 -116
- package/kit/templates/web-saas/docs/architecture/structure.md +44 -44
- package/kit/templates/web-saas/docs/design/design-guide.md +38 -38
- package/kit/templates/web-saas/tests/live/smoke.spec.ts +4 -4
- package/kit/templates/web-saas/tests/security/rls.mjs +22 -22
- package/kit/tools/codex/.codex/hooks.json +1 -1
- package/package.json +2 -2
- package/README.en.md +0 -267
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
argument-hint: [
|
|
2
|
+
description: Reviews changes with independent review agents (including a security audit when needed).
|
|
3
|
+
argument-hint: [empty = uncommitted changes | main..HEAD | commit hash]
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Range to review: $ARGUMENTS (if empty, `git diff HEAD` and untracked new files).
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Do not review your own code yourself; hand it to independent agents.
|
|
9
9
|
|
|
10
|
-
0. **
|
|
11
|
-
1. `git diff --stat
|
|
12
|
-
2. **`code-reviewer`**
|
|
13
|
-
3.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
4.
|
|
10
|
+
0. **Already reviewed?** If the range is empty (uncommitted changes), run `node .claude/hooks/commit-gate.mjs --status`. If it says "Approval valid", these changes were reviewed in the end-of-task meeting: do not review again, report the approval and the gate status; review anyway if the user explicitly asks. If it says "Changed since the last approval: …", do the steps below only with those files.
|
|
11
|
+
1. See the changed files with `git diff --stat`.
|
|
12
|
+
2. Run the **`code-reviewer`** subagent with the review role's `model` and `effort` (`docs/workflow/models.md`; step 3 too). Give it the range and (if known) the task id. If the task has a spec under `docs/product/specs/`, give that too: was the expected behavior met, was the must-not-change behavior broken?
|
|
13
|
+
3. If the change touches any of these, also run the **`security-auditor`** subagent in parallel: auth, authorization, payment, webhook, file upload, personal data, DB access rules, environment variables, AI/LLM calls.
|
|
14
|
+
If the board is set up, also add the board members relevant to the change (`.claude/board/rules.md` §3, at most 3; 1 if the limit is yellow).
|
|
15
|
+
At the same time, use `ponytail:ponytail-review` to look for unnecessary code, over-engineering and places that will break under load. If the UI changed, also run `impeccable:impeccable` → `audit`.
|
|
16
|
+
4. Merge the agents' findings, remove duplicates, order by severity:
|
|
17
17
|
|
|
18
18
|
```
|
|
19
|
-
[KRİTİK|ÖNEMLİ|KÜÇÜK]
|
|
19
|
+
[KRİTİK|ÖNEMLİ|KÜÇÜK] file:line — problem. Suggestion.
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
5.
|
|
23
|
-
6.
|
|
22
|
+
5. If you disagree with a finding, write the reason in one line; do not drop it silently.
|
|
23
|
+
6. Last line: **Ready to commit** / **Fix first: [items]**.
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Do not fix the findings. Ask which ones to fix with a **multi-select** (KRİTİK ones marked as recommended). Then write the status block.
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
argument-hint: [
|
|
2
|
+
description: Safely returns the project to its last working state (or a chosen point). History is not deleted, unfinished work is saved, and the rollback can be undone too.
|
|
3
|
+
argument-hint: [empty = show options | tag or commit]
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Target: $ARGUMENTS
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
The user may not know git. Explain everything in plain language; if you use a git term, say what it means in one sentence.
|
|
9
9
|
|
|
10
|
-
1. `node .claude/hooks/checkpoint.mjs --list
|
|
11
|
-
2. **
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
10
|
+
1. Run `node .claude/hooks/checkpoint.mjs --list`.
|
|
11
|
+
2. **If no target was given, ask** (AskUserQuestion), at most 4 options:
|
|
12
|
+
- The newest **working point** (Recommended). Those with a `calisan/...` tag are saved by `/build` and `/wrap-up` when tests are green. Write its note and date in the description.
|
|
13
|
+
- The previous working point.
|
|
14
|
+
- The last 1-2 commits; explain in one sentence what each one changed, from the commit message.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
3. **
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
4.
|
|
23
|
-
5.
|
|
24
|
-
6. `docs/workflow/progress.md` → "Son oturumda yapılanlar"
|
|
25
|
-
7.
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
16
|
+
If there is no working point, show the last commits and say so.
|
|
17
|
+
3. **Say beforehand what will happen:**
|
|
18
|
+
- Changes made after the chosen point disappear from the files, but stay in history.
|
|
19
|
+
- If there is unsaved work, it is stashed first (`git stash`); it can be brought back later.
|
|
20
|
+
- Files that do not go into git, such as `.env`, are not touched.
|
|
21
|
+
- This rollback can also be undone with `/rollback`.
|
|
22
|
+
4. If the user explicitly approves, run `node .claude/hooks/checkpoint.mjs --restore <hedef> --yes`.
|
|
23
|
+
5. Run the project's test command (`AGENTS.md` → Komutlar, commands). Show the result: did it really return to a working state?
|
|
24
|
+
6. Write the rollback to `docs/workflow/progress.md` → "Son oturumda yapılanlar" (done last session) and "Watch out" sections: which point it returned to, why, the stashed work.
|
|
25
|
+
7. When done, give a short report:
|
|
26
|
+
- which state it returned to,
|
|
27
|
+
- the test result,
|
|
28
|
+
- if there is stashed work, how to bring it back (`git stash pop`),
|
|
29
|
+
- what to do to undo this.
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
Never: `git reset --hard`, `git push --force`, deleting the stash (`git stash drop/clear`). Pushing the rollback to the remote repo (push) needs a separate approval.
|
|
@@ -1,157 +1,160 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
argument-hint: [
|
|
2
|
+
description: Starts the project from an idea. Asks at every step and decides project type, stack, architecture, design and roadmap together with the user.
|
|
3
|
+
argument-hint: [project idea, 1-3 sentences]
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Idea: $ARGUMENTS
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
This is a **9-step wizard** (0-9). Act as if the user knows nothing. Ask every decision per `docs/workflow/decision-protocol.md` (AskUserQuestion, recommended option first, each option explains when it is better). Never decide on your own. Write no application code in this session. Classify every decision as a one-way / two-way door (`docs/workflow/decision-protocol.md` §2a). For one-way decisions such as database, auth, payment and data model, get the board's opinion first (decision council for database and auth; profile rule in `.claude/board/council.md`).
|
|
9
9
|
|
|
10
|
-
**
|
|
10
|
+
**Resuming:** If `docs/workflow/progress.md` → `**Başlangıç adımı:**` is greater than 0, resume from that step and tell the user. When a step ends, update this line (`N/9`) and the `**Son güncelleme:**` line; then write the status block. After heavy steps (1b research, 4, 6, 7), suggest `/clear` in one line before the next step: the step's result is in files and the next step reads them; a clean session is cheap because every turn rereads the whole context. Calling `/start` again resumes from the saved step.
|
|
11
11
|
|
|
12
|
-
**
|
|
12
|
+
**Decisions are logged immediately:** Write each decision to `docs/decisions/log.md` → decision log the moment it is made (do not wait for the step end). The dashboard shows decisions and step progress live from there.
|
|
13
13
|
|
|
14
|
-
**
|
|
15
|
-
-
|
|
16
|
-
-
|
|
14
|
+
**Expensive steps** (decision council in Step 4, board in Step 6, design in Step 7): Before starting, state the estimated cost (table in `docs/workflow/usage-limits.md`) and the remaining limit in one line. The step is never removed; the user chooses. At Detailed depth, announce and do it. At Quick and Standard, ask: **Do it** / **Do it light** / **Leave for later**. Recommended: "Leave for later" at Quick, "Do it light" at Standard.
|
|
15
|
+
- Do it light: In Step 4 one advisor opinion instead of the council; in Step 6 the 3 recommended members with one approval; in Step 7 a single preview round (style direction), color and font from that direction's recommended set.
|
|
16
|
+
- Leave for later: In Step 4 the user still decides the one-way decision (recommended option + reasoning). For Steps 6 and 7, add tasks to Phase 0 (`/board setup`, `/design general`).
|
|
17
17
|
|
|
18
18
|
---
|
|
19
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
|
-
|
|
20
|
+
## Step 0: Preparation
|
|
21
|
+
|
|
22
|
+
**Language (before anything else):** If `node .claude/hooks/lang.mjs --show` returns a code other than `none`, the language is already chosen; do not ask again. Otherwise ask with AskUserQuestion, **in English**: "Which language should I talk to you in?" Options: Turkish / English / Other. For Other, the user types the language name; convert it to a BCP-47 code (`de`, `pt-BR`) and confirm in one sentence if unsure. Run `node .claude/hooks/lang.mjs --set <code>`. If the code is not `tr` or `en`, translate the hook texts the user sees: translate the output of `node .claude/hooks/lang.mjs --export` into that language (placeholders in curly braces such as `{command}`, `{step}` stay unchanged), pass the JSON to `node .claude/hooks/lang.mjs --write` through stdin, then `--check` must say `ok`. From then on every question, option, answer, status block and document text you write is in this language; no rule relaxes this. Bold labels in documents (such as `**Aktif faz:**`) stay as they are; tools read them. Do not generate the dashboard before the language is chosen.
|
|
23
|
+
|
|
24
|
+
0. **Profile** (first question after language): Light / Standard / Full. Show the table from `.claude/board/council.md` → "When"; **Light** is recommended on the Pro plan, Standard on the Max plan. Write the choice to `docs/workflow/progress.md` → `**Profil:**` line as `Hafif`, `Standart` or `Tam` (tools read these words; show the English names in the question).
|
|
25
|
+
- **Light:** Disable these plugins at project scope (for each: `claude plugin disable <id> --scope project`): hookify@claude-plugins-official, claude-md-management@claude-plugins-official. (Package plugins come disabled in every profile anyway; commands ask to enable them when needed.) `docs/workflow/board.md` → `**Commit denetimi:** kapalı`.
|
|
26
|
+
- **Standard / Full:** Plugins and commit review stay on.
|
|
27
|
+
- **Command list:** In Light and Standard, the 20 non-core commands appear in the skill list by name only (they exist in the `/` menu and are called by name; kit default). **Full:** `node .claude/hooks/tools.mjs --commands full` (all descriptions in the list; the list may overflow a 200K context).
|
|
28
|
+
- The profile can be changed later; apply the same steps in reverse.
|
|
29
|
+
0a. **Planning depth** (second question, separate from profile: profile sets the ongoing cost, depth only shapes this wizard). Show the options with the estimated cost from the `docs/workflow/usage-limits.md` table. **Quick** is recommended if the idea is clear and the plan is Pro; **Standard** if the idea is vague or the product has payment or personal data. Append the choice to the `**Profil:**` line (e.g. `Hafif · depth: Hızlı`).
|
|
30
|
+
- **Quick:** Step 1 in one round (problem, audience, MVP multi-select); acceptance criteria as a draft with one approval. In Step 4 the recommended stack is approved on a single screen. Step 5 covers only the data model and sign-in method; external services and unit economics are left to the related task.
|
|
31
|
+
- **Standard:** All steps; expensive steps are asked before they start.
|
|
32
|
+
- **Detailed:** All steps in full.
|
|
33
|
+
In the `**Profil:**` line write the depth as `Hızlı`, `Standart` or `Ayrıntılı`.
|
|
34
|
+
0b. **Narrator mode:** Ask: "If you are new to software, Narrator mode explains every change and error in plain language. Answers get a bit longer, which means a few more tokens. Turn it on?" Options: "Yes" and "No, short answers". If the user's knowledge level is low, "Yes" is the recommended option.
|
|
35
|
+
- If yes, add `"outputStyle": "anlatici"` to `.claude/settings.local.json` (merge if the file exists; this file stays out of git, it is a personal setting).
|
|
36
|
+
- The mode takes effect from the next message. In the terminal, `/output-style anlatici` does the same. To turn it off, delete the value.
|
|
37
|
+
0c. **Tool:** Which AI tools will be used in this project? If `.kit.json` → `tool` is set (chosen during `init`), report it in one line and do not ask again. Otherwise ask with **multi-select**:
|
|
38
|
+
- **Claude Code (Recommended):** The kit is written for it; all features (board agents, question interface, status line, limit).
|
|
39
|
+
- **Codex:** Rules from `AGENTS.md`, commands as skills (`$start`), protections through `.codex/hooks.json`. Single-model board, options as plain text, no status line.
|
|
40
|
+
- **Antigravity:** Rules from `AGENTS.md`, commands as skills (`/start`), protections through `.agents/hooks.json`. Single-model board, no status line.
|
|
41
|
+
Append the choice to the `**Profil:**` line (e.g. `tools: claude,codex`) and pass it as `--tool <list>` to the install command in Step 3. Claude Code files are installed in every case (hook scripts are shared).
|
|
42
|
+
0d. **Auto memory** (Claude Code only): By default Claude Code keeps notes to itself from your corrections. The notes stay on this machine, do not enter git, the team cannot see them and nobody reviews them. Ask:
|
|
43
|
+
- **Off (Recommended):** The project's memory lives in `AGENTS.md`, `progress.md` and the decision log; visible and in git. Repeated mistakes are proposed to "Öğrenilen kurallar" (learned rules) through `/fix-bug`. Add `"autoMemoryEnabled": false` to `.claude/settings.json` (merge the file).
|
|
44
|
+
- **On:** Your preferences are remembered across sessions on their own; notes may conflict with `AGENTS.md`. Leave the setting alone.
|
|
45
|
+
Append the choice to the `**Profil:**` line (e.g. `memory: off`). Source: code.claude.com/docs/en/memory (2026-10-25).
|
|
46
|
+
0e. **Model and effort** (`docs/workflow/models.md`): Ask the two screens in `/build` step 0b and save them. Planning work runs in the main session, research and scanning in the document role, board review in the review role; the model is not asked separately in Step 6.
|
|
47
|
+
1. Check the environment and report in one line: `node --version`, `git --version` and the kit's location. There are two install paths: `kit/kit.mjs` at the root (template path) or the folder in `.kit.json` → `kit` field (installed with `init`, `type` empty). If the `kit` field is `npx:tillerhand@<version>`, the kit was installed from the npm package. If it is `local`, the folder's path on this machine is in the git-ignored `.kit.local.json` → `kit`; if that file is missing, ask the user for the kit folder or use `npx -y tillerhand@<.kit.json → version>`. If the folder already has application code (`package.json`, `pyproject.toml`, `src/` etc.), stop and suggest `/adopt`.
|
|
48
|
+
2. Check whether the skills of the plugins in `docs/workflow/skills.md` are in your skill list. The LSP plugin needs a language server: `npm i -g typescript-language-server typescript` for web and mobile, `npm i -g pyright` for backend (global install; with user approval). **Plugins:** The project settings enable plugins but do not download them; missing ones give a load error and their skills do not arrive. Show the user the list and ask: "Should the plugins in the project settings be installed?" First list the missing ones with `node .claude/hooks/plugins-sync.mjs`; if approved, run `node .claude/hooks/plugins-sync.mjs --install`. The script installs the missing ones at project scope and installs then disables those set to `false` (package plugins: design, security, release, video). Tell the user in one sentence: "Packages come disabled; the related command asks to enable them when needed; use `/tools` for status." Then ask the user to run `/reload-plugins`. If the claude CLI is missing, give the `/plugin install x@y` commands of the missing plugins and ask "Install and continue, or continue without the missing skills?".
|
|
49
|
+
3. Load the `caveman:caveman` skill (report language).
|
|
50
|
+
4. **Limit:** Read the limit (`docs/workflow/usage-limits.md` §1) and report it. Compare the estimated cost of the chosen depth with the remaining limit; say that you can stop between steps and continue later. If the level is yellow or red, say so in one line; do not stop.
|
|
51
|
+
5. **Code map:** Check whether codebase-memory-mcp tools (`index_repository`, `search_graph` etc.) exist in the session. If not, ask: "Install the code map? The AI queries code instead of reading it file by file; as the project grows it saves a lot of tokens per session."
|
|
52
|
+
- **Install (Recommended):** The user installs it in their own terminal; do not run a remotely downloaded script yourself. Give the official commands:
|
|
50
53
|
- Windows (PowerShell): `Invoke-WebRequest -Uri https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1 -OutFile install.ps1; Unblock-File .\install.ps1; .\install.ps1`
|
|
51
54
|
- macOS/Linux: `curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash`
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
6. **
|
|
55
|
-
6b. **
|
|
56
|
-
7.
|
|
55
|
+
- The installer registers itself with Claude Code at user level (MCP, hook, skill). Then restart Claude Code and check with `/mcp`. For automatic indexing: `codebase-memory-mcp config set auto_index true`. Source: github.com/DeusData/codebase-memory-mcp
|
|
56
|
+
- **Skip for now:** Enough for a small project; can be installed later.
|
|
57
|
+
6. **Notifications:** A desktop notification arrives when Claude asks a question or finishes a long task (`.claude/hooks/notify.mjs`). To turn off, set `KIT_NOTIFY=off`.
|
|
58
|
+
6b. **Dashboard:** Run `node .claude/hooks/dashboard.mjs`. Ask: "The dashboard shows decisions and step progress live and refreshes itself after every answer. Open it in the browser?" If yes, open it: Windows `start dashboard.html`, macOS `open dashboard.html`, Linux `xdg-open dashboard.html`.
|
|
59
|
+
7. If the idea is empty, ask: "What do you want to build? Describe it in 1-3 sentences."
|
|
57
60
|
|
|
58
|
-
##
|
|
61
|
+
## Step 1: Clarify the idea → `docs/product/prd.md`
|
|
59
62
|
|
|
60
|
-
`mattpocock-skills:grilling`
|
|
63
|
+
Question the idea with the `mattpocock-skills:grilling` approach. Ask questions **with AskUserQuestion, in rounds** (at most 4 questions per round). For every question where possible, give 2-4 concrete options drawn from the idea, plus your recommendation; ask an open-ended question only if you cannot produce options.
|
|
61
64
|
|
|
62
|
-
|
|
63
|
-
1. Problem
|
|
64
|
-
2.
|
|
65
|
-
3. MVP
|
|
66
|
-
4.
|
|
67
|
-
5.
|
|
68
|
-
6.
|
|
65
|
+
Clarify in this order:
|
|
66
|
+
1. Problem and target user (who, in which situation, what do they use now?)
|
|
67
|
+
2. Value proposition and difference from competitors
|
|
68
|
+
3. MVP features: Draw 5-8 candidate features from the idea. Ask "Which ones should be in the first release?" with **multi-select**. Unselected ones become "Kapsam dışı" (out of scope).
|
|
69
|
+
4. Write a draft of acceptance criteria for each MVP feature and get it approved.
|
|
70
|
+
5. Success criteria, revenue model (free / subscription / one-time / ads), budget (monthly infrastructure + AI), timeline.
|
|
71
|
+
6. Will there be personal data, payment and AI usage?
|
|
69
72
|
|
|
70
|
-
MVP
|
|
73
|
+
If the MVP looks big, ask shrinking it as a decision. State the risks in the idea openly. Write `docs/product/prd.md`, show its summary, get approval.
|
|
71
74
|
|
|
72
|
-
**1b.
|
|
75
|
+
**1b. Research (expensive step, optional):** Ask: "Should I research articles, similar projects on GitHub and competing products related to the idea? Quick research is about 10-15% of the 5-hour limit." Options: Do it / Leave for later (a `/research` task is added to Phase 0). Recommended: "Do it" if the idea area is unfamiliar or the product is commercial, otherwise "Leave for later". If Do it, run the `/research` flow; selected features go into the PRD.
|
|
73
76
|
|
|
74
|
-
##
|
|
77
|
+
## Step 2: Project type
|
|
75
78
|
|
|
76
|
-
|
|
77
|
-
- **Web
|
|
78
|
-
- **
|
|
79
|
-
- **Backend / API /
|
|
79
|
+
Ask with AskUserQuestion. Justify the options and your recommendation by the PRD:
|
|
80
|
+
- **Web app / SaaS:** A product used from the browser, landing page + panel. SEO, fast release, no store approval.
|
|
81
|
+
- **Mobile app:** Device features (camera, notifications, location), daily-habit product. Store process and two platforms.
|
|
82
|
+
- **Backend / API / automation:** A service without a UI, bot, data processing, API for other apps.
|
|
80
83
|
|
|
81
|
-
|
|
84
|
+
If the user wants more than one (e.g. web + mobile), first ask which one will be the MVP; the other enters the roadmap as a later phase.
|
|
82
85
|
|
|
83
|
-
|
|
86
|
+
Also ask: **Will the project have an AI (LLM) feature?** If yes, the AI add-on is installed. **Will it sell in Turkey or have Turkish users?** If yes, the Turkey add-on (`tr`) is recommended: KVKK cross-border transfer, e-Fatura/e-Arşiv, iyzico/PayTR notification signature (coded in web-saas and backend), İ/ı tests. Several add-ons with a comma: `--addons ai,tr`.
|
|
84
87
|
|
|
85
|
-
##
|
|
88
|
+
## Step 3: Installation
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
Tell the user in one sentence what will be done, then run:
|
|
88
91
|
|
|
89
92
|
```bash
|
|
90
|
-
# template
|
|
93
|
+
# template path (kit/ is in the root): kit/ is deleted after the install
|
|
91
94
|
node kit/kit.mjs install --type <web-saas|mobile|backend> [--addons ai,tr] [--tool claude,codex,antigravity]
|
|
92
|
-
# init
|
|
95
|
+
# init path (.kit.json → kit; if "local", .kit.local.json → kit, ask the user if that file is missing): the kit folder is not touched; --tool is not needed if the tool was chosen at init
|
|
93
96
|
node <kit>/kit/kit.mjs install --type <web-saas|mobile|backend> [--addons ai,tr] --project .
|
|
94
|
-
# npm
|
|
95
|
-
npx -y tillerhand@<
|
|
97
|
+
# npm path (.kit.json → kit = npx:tillerhand@<version>): with the same version. If the version is not exactly in the form 1.2.3 or differs from .kit.json → version, stop and ask the user
|
|
98
|
+
npx -y tillerhand@<version> install --type <web-saas|mobile|backend> [--addons ai,tr] --project .
|
|
96
99
|
```
|
|
97
100
|
|
|
98
|
-
|
|
101
|
+
Report the output. From now on `docs/architecture/stack.md` is the chosen type's file. Show the user the project structure (`docs/architecture/structure.md`) briefly: code will be organized by feature, the structure map (`.claude/structure.json`) will be enforced, experiments go under `sandbox/`. Suggest a commit: `chore: kit kurulumu (<tip>)`.
|
|
99
102
|
|
|
100
|
-
##
|
|
103
|
+
## Step 4: Technology decisions → `docs/architecture/stack.md`
|
|
101
104
|
|
|
102
|
-
`docs/architecture/stack.md`
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
105
|
+
Ask every decision in the **"Decision points"** section of `docs/architecture/stack.md` in order (dependent ones in sequence, independent ones in the same round, at most 4).
|
|
106
|
+
- From the catalog options, pick the 2-4 best suited to this project. Base your recommendation on the PRD (audience, budget, scale, team knowledge, SEO need etc.).
|
|
107
|
+
- For options that depend on version, price or free-tier information, verify only what changes: do not re-research a claim whose `(kaynak: <adres>, YYYY-AA-GG)` note in the catalog is newer than 90 days. Gather the claims without a note or with an old note, limited to the options you will present to the user, in a single `source-research` round at the start of the step (no separate research per decision). Next to a claim you verified, write the source and date note in this project's `stack.md`.
|
|
108
|
+
- If the user says "which is better, I'm not sure", explain the differences with a concrete example and ask again.
|
|
106
109
|
|
|
107
|
-
|
|
108
|
-
1.
|
|
109
|
-
2.
|
|
110
|
-
3. `AGENTS.md
|
|
111
|
-
3a. **
|
|
112
|
-
3b. **Stack
|
|
113
|
-
3c. **3D (web, PRD
|
|
114
|
-
4. `docs/decisions/log.md`:
|
|
110
|
+
When all decisions are done:
|
|
111
|
+
1. Fill the "Seçilen teknolojiler" (chosen technologies) table in docs/architecture/stack.md.
|
|
112
|
+
2. If the choice differs from the recommended one, rewrite the Folder structure, Coding rules, Common AI mistakes and Verification sections of docs/architecture/stack.md to match the choice. Also adapt the files that depend on them: `.github/workflows/ci.yml`, `.claude/settings.json` permissions, `.env.example`, pre-commit settings and `.mcp.json`. Report the differences.
|
|
113
|
+
3. Fill the "Komutlar" (commands) section of `AGENTS.md`. Write the app's local address in the `önizleme:` line (e.g. `http://localhost:3000`); it stays empty in a project without a UI.
|
|
114
|
+
3a. **Installable on another computer:** Pin the runtime version: `.nvmrc` for Node, `.python-version` for Python (the version in stack.md). Fill the "Requirements" section of `README.md` (runtime and its version, system dependencies: database, ffmpeg etc., accounts) and its "Installation" section; the commands must match `AGENTS.md` "Komutlar". The lock file (`package-lock.json`, `uv.lock` etc.) is created at the first package install and goes into the commit.
|
|
115
|
+
3b. **Stack skills:** For web (React/Next) run `npx -y skills@1.7.2 add vercel-labs/agent-skills --skill react-best-practices --skill composition-patterns -a claude-code -y --copy`, for mobile with `--skill react-native-guidelines`. Read the incoming SKILL.md files before installing them (third-party content). For mobile, if the Maestro CLI is not installed, tell the user how to install it (`docs/workflow/mcp-catalog.md`).
|
|
116
|
+
3c. **3D (web, if the PRD has a 3D scene, product visualization or a WebGL effect):** three.js is asked as a `teknik` decision. If chosen, three skills are copied from a pinned commit of `CloudAI-X/threejs-skills` (MIT, community): `threejs-fundamentals`, `threejs-performance` and, in React, `threejs-react-three-fiber`. For each: `curl -fsSL https://raw.githubusercontent.com/CloudAI-X/threejs-skills/0e181866f095b5f06d005133876e926515390d95/skills/<ad>/SKILL.md -o .claude/skills/<ad>/SKILL.md` (create the folder first). Read the files before installing them (third-party content). No skill is added for other topics (shader, light, loader); use Context7. 3D rules are in `ui-motion` → "3D".
|
|
117
|
+
4. `docs/decisions/log.md`: Check that no decision is missing from the log, record the technology stack as `docs/decisions/adr-0001-tech-stack.md` (template: `adr-template.md`).
|
|
115
118
|
|
|
116
|
-
##
|
|
119
|
+
## Step 5: Architecture → `docs/architecture/overview.md`, `docs/product/glossary.md`
|
|
117
120
|
|
|
118
|
-
`mattpocock-skills:domain-modeling`
|
|
119
|
-
1. **
|
|
120
|
-
2. **
|
|
121
|
-
3. **
|
|
122
|
-
3b. **
|
|
123
|
-
4. **
|
|
124
|
-
5. `docs/product/glossary.md`:
|
|
121
|
+
With `mattpocock-skills:domain-modeling` and `mattpocock-skills:codebase-design`:
|
|
122
|
+
1. **Data model:** Show the table/entity draft. Ask unclear points as decisions: relation type, delete behavior (permanent / trash), personal data fields, retention period.
|
|
123
|
+
2. **Identity and authorization:** Sign-in methods (email + password, magic link, Google, Apple) and roles. Ask with multi-select.
|
|
124
|
+
3. **External services:** A table with monthly cost estimates; get approval for every paid service. If the chosen service has a connection in `docs/workflow/mcp-catalog.md` (GitHub, Stripe, Vercel, PostHog, Figma, Firebase, Linear), suggest installing it; the user connects the identity themselves (OAuth or environment variable). Add every service to `docs/operations/accounts.md` (owner, 2FA, expiry date; do not write passwords). For every paid service add a row to the "Alarmlar" (alarms) table in `docs/operations/spend-alarms.md` and ask the cap amount (recommended: 2 times the monthly estimate in unit economics).
|
|
125
|
+
3b. **Unit economics** (if it is a paid product): Fill the inputs of `docs/product/unit-economics.md` with estimates for price, commission, fixed and per-user cost. If the contribution margin is negative or the variable cost exceeds 30% of the price, ask it as a `maliyet` decision (price / usage limit / model choice).
|
|
126
|
+
4. **Environments:** Local / preview / prod separation.
|
|
127
|
+
5. `docs/product/glossary.md`: Main concepts, UI names and state transitions. Ask whether the UI will use the informal or formal "you" (Turkish "sen" or "siz").
|
|
125
128
|
|
|
126
|
-
AI
|
|
129
|
+
If the AI add-on is installed, fill the model inventory in `docs/ai/guide.md`: Which feature uses which model? Ask this as a decision with the cost estimate.
|
|
127
130
|
|
|
128
|
-
##
|
|
131
|
+
## Step 6: Expert board → `.claude/agents/`, `docs/workflow/board.md`
|
|
129
132
|
|
|
130
|
-
|
|
133
|
+
Expensive step: state the cost first and ask by depth (see "Expensive steps" above).
|
|
131
134
|
|
|
132
|
-
`.claude/board/rules.md` §5
|
|
133
|
-
1.
|
|
134
|
-
2.
|
|
135
|
-
3.
|
|
136
|
-
4.
|
|
137
|
-
5.
|
|
138
|
-
6.
|
|
135
|
+
Apply `.claude/board/rules.md` §5:
|
|
136
|
+
1. Propose a board based on the type, the PRD and the chosen stack. Explain briefly what the board is: Expert agents review the plan, the task, every commit and the phase. It is advisory; it stops on a critical finding; the decision is always the user's.
|
|
137
|
+
2. Get the members approved with **multi-select**; say that a new expert can be added.
|
|
138
|
+
3. Members work with the review role's model and effort (Step 0e, `docs/workflow/models.md`); do not ask separately. On the Pro plan, state the estimated cost of a full board meeting (`docs/workflow/usage-limits.md`).
|
|
139
|
+
4. Keep commit review on? Default on and light: at most 2 members, `haiku`, diff only.
|
|
140
|
+
5. Generate the agent files and fill their "This project" sections. Fill `docs/workflow/board.md`.
|
|
141
|
+
6. Say that the new agents load in the next session.
|
|
139
142
|
|
|
140
|
-
##
|
|
143
|
+
## Step 7: Design direction (if there is a UI)
|
|
141
144
|
|
|
142
|
-
|
|
145
|
+
Expensive step: state the cost first and ask by depth (see "Expensive steps" above). Run the `/design general` flow. Style direction, color, font and detail decisions are made with visual previews; at the end `PRODUCT.md`, `DESIGN.md` and `docs/design/design-guide.md` are ready. Skip this step for the backend type.
|
|
143
146
|
|
|
144
|
-
##
|
|
147
|
+
## Step 8: Roadmap → `docs/product/roadmap.md`
|
|
145
148
|
|
|
146
|
-
1. MVP
|
|
147
|
-
2.
|
|
148
|
-
3.
|
|
149
|
-
4.
|
|
149
|
+
1. Split the MVP features into single-session tasks; keep the setup tasks in Phase 0. Make the first task of each feature "write the acceptance tests (red)" (`docs/quality/test-plan.md` §1a). For payment, AI, bulk notification and data-deleting features, add a feature flag task (`docs/operations/feature-flags.md`). From Phase 1 on, make the last task of every phase a "Refactor round" (complexity budget clean across the whole repo: `node .claude/hooks/budget.mjs --check`).
|
|
150
|
+
2. Ask: "Which feature should we start with in Phase 1?" (suggestion: the riskiest or most valuable one).
|
|
151
|
+
3. Ask: "What is the launch target?" (date / when features are complete / personal use only). If personal use, suggest deleting `docs/product/launch.md`.
|
|
152
|
+
4. Summarize the roadmap and get approval.
|
|
150
153
|
|
|
151
|
-
##
|
|
154
|
+
## Step 9: Closing
|
|
152
155
|
|
|
153
|
-
1. `docs/workflow/progress.md`:
|
|
154
|
-
2. `node .claude/hooks/dashboard.mjs
|
|
155
|
-
3.
|
|
156
|
-
4.
|
|
157
|
-
5.
|
|
156
|
+
1. `docs/workflow/progress.md`: Active phase `Faz 0`, active task `G-001`, start step `9/9`, next step, pending decisions.
|
|
157
|
+
2. Run `node .claude/hooks/dashboard.mjs`.
|
|
158
|
+
3. Give the user a summary: number of decisions made, chosen stack, board members, design direction, MVP features, steps left for later, first task, remaining limit.
|
|
159
|
+
4. Suggest a commit: `docs: project plan`.
|
|
160
|
+
5. Last line: "Continue: `/build G-001`".
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
argument-hint: [
|
|
2
|
+
description: Manages context packages: shows which plugins are on, turns packages on/off, measures skill and agent load.
|
|
3
|
+
argument-hint: [empty = status | ac <paket> | kapat <paket> | olc | komutlar hafif|tam]
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Request: $ARGUMENTS
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Why it exists: The skill list is limited to 1% of context. When it overflows, descriptions of rarely used skills drop and Claude does not know them. So plugins outside the core come off by default and are turned on as packages when needed. Packages and their contents: `docs/workflow/skills.md` → "Context packages".
|
|
9
9
|
|
|
10
|
-
- **
|
|
11
|
-
- **`ac <paket>`:**
|
|
12
|
-
- **`kapat <paket>`:** `node .claude/hooks/tools.mjs --disable <paket>`,
|
|
13
|
-
- **`olc`:** `node .claude/hooks/tools.mjs --measure
|
|
10
|
+
- **Empty:** Run `node .claude/hooks/tools.mjs` and show the output as a short table (package, status, approximate tokens, which command turns it on).
|
|
11
|
+
- **`ac <paket>`:** First tell the user the package's approximate token cost and this note: "Turning on mid-session breaks the prompt cache; the cheapest is at a phase boundary together with `/clear`." If approved, run `node .claude/hooks/tools.mjs --enable <paket>`. If the script reports a plugin that is not installed, ask separately about installing it (`node .claude/hooks/plugins-sync.mjs --install`). Then ask the user to run `/reload-plugins`.
|
|
12
|
+
- **`kapat <paket>`:** `node .claude/hooks/tools.mjs --disable <paket>`, then `/reload-plugins`.
|
|
13
|
+
- **`olc`:** Run `node .claude/hooks/tools.mjs --measure`. Show the 5 largest plugins and the total. For the exact value suggest `/context` (Skills row) and `/doctor` to the user; suggest `/skill-doctor` to find unused skills.
|
|
14
14
|
|
|
15
|
-
- **`komutlar hafif` / `komutlar tam`:** `node .claude/hooks/tools.mjs --commands light`
|
|
15
|
+
- **`komutlar hafif` / `komutlar tam`:** `node .claude/hooks/tools.mjs --commands light` or `--commands full`. Light: the 20 non-core commands stay in the list with only their name (~1,100 fewer tokens per session) and remain in the `/` menu. Full: all descriptions in the list. This setting is written to `.claude/settings.json` and affects the whole team; do it together with a profile change (`docs/workflow/progress.md` → `**Profil:**`). It takes effect in a new session.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Turning on and off affects only this machine (`.claude/settings.local.json`, not in git). Changing the default for everyone means editing `.claude/settings.json` → `enabledPlugins` and is a `teknik` decision.
|
|
18
18
|
|
|
19
|
-
Codex
|
|
19
|
+
Codex and Antigravity have no plugin packages: there this command only lists the optional tools in `docs/workflow/mcp-catalog.md`.
|