tillerhand 3.47.0 → 3.47.1

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.
@@ -27,9 +27,9 @@ If empty, take `docs/workflow/progress.md` → "Sıradaki adım" (next step), or
27
27
  - If you touch a critical flow (`docs/quality/test-plan.md`), add a test.
28
28
  - New environment variable → `.env.example`.
29
29
  - New package → the lock file goes into the commit. New system dependency (database, ffmpeg, etc.) or setup step → `README.md` → Requirements / Installation.
30
- 4. Verify: `node .claude/hooks/gate.mjs --run` (lint, type check, test, Semgrep; the end-of-task and commit meetings use this output). Fix anything red. If it says "komut onayı gerekli", show me the commands; if I approve, run `node .claude/hooks/gate.mjs --approve`. If you cannot fix the same error in 2 attempts, stop and explain the state to me.
30
+ 4. Verify: `node .claude/hooks/gate.mjs --run` (lint, type check, test, Semgrep; the end-of-task and commit meetings use this output). Fix anything red. If it says "command approval needed", show me the commands; if I approve, run `node .claude/hooks/gate.mjs --approve`. If you cannot fix the same error in 2 attempts, stop and explain the state to me.
31
31
  5. **Produce evidence.** "It should work" is not enough; show that it works. The method is in `docs/architecture/stack.md` → "Verification":
32
- - UI change → `node .claude/hooks/preview.mjs <task id>`: it opens the dev server, writes desktop (1440) and mobile (390) screenshots to `.previews/<task id>/`, and closes the server. The first run can take a few minutes because of the Playwright download and the first build: give the command a 10-minute timeout. Open the images and show them to me. If the script says "komut onayı gerekli", show me the commands; if I approve, run `node .claude/hooks/gate.mjs --approve`. If it gives another error, write the message in the report and take the screenshot by hand. Then try the main scenario and one error scenario on the relevant screen. To prove the task's UI acceptance criteria in the browser, suggest `/qa` in the report.
32
+ - UI change → `node .claude/hooks/preview.mjs <task id>`: it opens the dev server, writes desktop (1440) and mobile (390) screenshots to `.previews/<task id>/`, and closes the server. The first run can take a few minutes because of the Playwright download and the first build: give the command a 10-minute timeout. Open the images and show them to me. If the script says "command approval needed", show me the commands; if I approve, run `node .claude/hooks/gate.mjs --approve`. If it gives another error, write the message in the report and take the screenshot by hand. Then try the main scenario and one error scenario on the relevant screen. To prove the task's UI acceptance criteria in the browser, suggest `/qa` in the report.
33
33
  - API/business logic → send a real request or run the test; show the request and the response.
34
34
  - If you cannot produce evidence (device, panel, payment, etc.), say so clearly and write the steps I must do.
35
35
  6. If the UI changed, run `impeccable:impeccable` → `critique`; ask me whether to fix the important findings.
@@ -13,7 +13,7 @@ Load the `mattpocock-skills:diagnosing-bugs` skill and apply its loop. Use `pony
13
13
  4. **Verify.** Run the checks. Do not move to the fix before the root cause is proven. If the root cause is in a single feature folder, suggest `/freeze <folder>` so the fix does not spread.
14
14
  5. **Red test.** The one who will make the fix does not write the test that shows the bug (AGENTS.md rule 7): run the `test-writer` subagent with the test role's model. The prompt contains the reproduction steps, the expected behavior and the public interface of the relevant code, and no root-cause hypothesis and no fix idea. The agent writes the test and shows that it fails. Only `test-writer` can write to test files. Write a short bug spec: `docs/product/specs/<short-bug-name>.md` (`_template.md`, Tür: hata), a few lines are enough. In the `**Sınıf:**` line write exactly one of this list: `boş-girdi`, `doğrulama`, `yetki`, `tarih-saat`, `yerel-dil`, `sıralama`, `eşzamanlılık`, `yapılandırma`, `dış-servis`, `sözleşme`, `arayüz-durumu`, `diğer`. The current behavior is the reproduction steps, the expected behavior is what the test checks. Under the must-not-change behavior, write the acceptance criteria near the bug that have tests, with their ids (`- Ö-01.1: ...`); if there are none, leave the section empty.
15
15
  6. **Fix.** If there is more than one way to fix (e.g. a quick patch versus a lasting fix or a behavior change), **ask as a decision** which one to choose. Fix the root cause once, in the shared code. Check whether other callers have the same bug.
16
- 7. **Green.** The new test and the existing tests pass: run the command in this turn and show its output. Then run the gate: `node .claude/hooks/gate.mjs --run` (lint, type check, test, Semgrep; the commit meeting uses this output). Fix anything red. If it says "komut onayı gerekli", show me the commands; if I approve, run `node .claude/hooks/gate.mjs --approve`. If you set a lock, run `/freeze off`.
16
+ 7. **Green.** The new test and the existing tests pass: run the command in this turn and show its output. Then run the gate: `node .claude/hooks/gate.mjs --run` (lint, type check, test, Semgrep; the commit meeting uses this output). Fix anything red. If it says "command approval needed", show me the commands; if I approve, run `node .claude/hooks/gate.mjs --approve`. If you set a lock, run `/freeze off`.
17
17
  8. **A repeat?** If another bug spec under `docs/product/specs/` has the same `**Sınıf:**` value (and the class is not `diğer`), this bug class is repeating: propose a single rule that prevents the repeat. If it can be checked mechanically ("do not write Y in file X", "W is required in call Z"), it becomes a `/hookify` rule (`.claude/hookify.<name>.local.md`; do not add it to `.gitignore`, it goes into git and the team uses it too). If it cannot be checked mechanically, or hookify is off (Light profile), or you are outside Claude Code, add one line to `AGENTS.md` → "Öğrenilen kurallar" (learned rules; if the section does not exist, open it at the end of the file). Source and date line: `(kaynak: specs/<a>.md, specs/<b>.md · YYYY-AA-GG)`; at the end of the rule in AGENTS.md, in the last line of the message body in the hookify file. Ask with AskUserQuestion, showing the rule text and the target file: Add / Later (reminded on the dashboard) / Not needed. If there is no approval, write to no rule file. Write the Add or Not needed answer to the specs of the same class with a `**Kural:** <target file or "gerek yok"> · YYYY-AA-GG` line; the dashboard warning closes and the decision is not asked again.
18
18
  9. **Report:** Root cause (1 sentence), the fix, the added test, similar risky places, the added rule (if any).
19
19
 
@@ -187,7 +187,7 @@ export function flags(text, now = Date.now()) {
187
187
  .map(([name, purpose, state, owner, added, removal, killSwitchTested]) => ({
188
188
  name, purpose, state, owner, added, removal, killSwitchTested,
189
189
  isOverdue: isDate(removal) && daysLeft(removal, now) < 0,
190
- untested: !/^(evet|✅|var)/i.test(killSwitchTested ?? ''),
190
+ untested: !/^(evet|✅|var|yes\b)/i.test(killSwitchTested ?? ''),
191
191
  }));
192
192
  }
193
193
 
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </p>
7
7
 
8
8
  <p align="center">
9
- <a href="kit/CHANGELOG.md"><img alt="Version" src="https://img.shields.io/badge/version-3.47.0-2a78d6?style=flat-square"></a>
9
+ <a href="kit/CHANGELOG.md"><img alt="Version" src="https://img.shields.io/badge/version-3.47.1-2a78d6?style=flat-square"></a>
10
10
  <a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-2a78d6?style=flat-square"></a>
11
11
  <img alt="Claude Code" src="https://img.shields.io/badge/Claude%20Code-ready-d97757?style=flat-square">
12
12
  <img alt="Also Codex and Antigravity" src="https://img.shields.io/badge/also-Codex%20%C2%B7%20Antigravity-5b6577?style=flat-square">
package/README.tr.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </p>
7
7
 
8
8
  <p align="center">
9
- <a href="kit/CHANGELOG.md"><img alt="Sürüm" src="https://img.shields.io/badge/s%C3%BCr%C3%BCm-3.47.0-2a78d6?style=flat-square"></a>
9
+ <a href="kit/CHANGELOG.md"><img alt="Sürüm" src="https://img.shields.io/badge/s%C3%BCr%C3%BCm-3.47.1-2a78d6?style=flat-square"></a>
10
10
  <a href="LICENSE"><img alt="Lisans: MIT" src="https://img.shields.io/badge/lisans-MIT-2a78d6?style=flat-square"></a>
11
11
  <img alt="Claude Code" src="https://img.shields.io/badge/Claude%20Code-haz%C4%B1r-d97757?style=flat-square">
12
12
  <img alt="Codex ve Antigravity" src="https://img.shields.io/badge/ayr%C4%B1ca-Codex%20%C2%B7%20Antigravity-5b6577?style=flat-square">
package/kit/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  The kit version is in `kit/VERSION`. To update a project, run `/kit-update` in it.
4
4
  Items with an "Adapt by hand" note concern files owned by the project; the update does not touch them.
5
5
 
6
+ ## [3.47.1] - 2026-10-28
7
+
8
+ ### Fixed
9
+ - The dashboard counts an English `yes` in the feature flags "Kill switch tested" column as tested (`evet`, `✅` and `var` still work).
10
+ - `/build` and `/fix-bug` look for the gate's current "command approval needed" message.
11
+
6
12
  ## [3.47.0] - 2026-10-28
7
13
 
8
14
  ### Changed
package/kit/VERSION CHANGED
@@ -1 +1 @@
1
- 3.47.0
1
+ 3.47.1
package/kit/guide.html CHANGED
@@ -361,7 +361,7 @@ footer .container { display: flex; flex-wrap: wrap; gap: 16px; justify-content:
361
361
  <section class="hero">
362
362
  <div class="container">
363
363
  <div>
364
- <span class="pill"><b>v3.47.0</b> Starter kit for Claude Code · MIT</span>
364
+ <span class="pill"><b>v3.47.1</b> Starter kit for Claude Code · MIT</span>
365
365
  <h1>The AI builds.<br><em>You steer.</em></h1>
366
366
  <p class="sub">TillerHand takes a product from idea to production and maintenance with Claude Code. At every important decision the AI gives you the options, its recommendation and the cost of each option. An expert board reviews the work, and guardrails stop mistakes before they happen.</p>
367
367
  <div class="setup">
@@ -1241,7 +1241,7 @@ Next: G-013 password reset · pending decision: email service</pre>
1241
1241
  <footer>
1242
1242
  <div class="container">
1243
1243
  <a class="brand" href="#top" style="font-size:16px"><svg class="mark" style="width:22px;height:22px"><use href="#mark"/></svg>TillerHand</a>
1244
- <span>Version 3.47.0 · <a href="https://github.com/burakdogrul/TillerHand">GitHub</a> · <a href="https://github.com/burakdogrul/TillerHand/blob/main/LICENSE">MIT license</a> · The KVKK section is a checklist, not legal advice.</span>
1244
+ <span>Version 3.47.1 · <a href="https://github.com/burakdogrul/TillerHand">GitHub</a> · <a href="https://github.com/burakdogrul/TillerHand/blob/main/LICENSE">MIT license</a> · The KVKK section is a checklist, not legal advice.</span>
1245
1245
  </div>
1246
1246
  </footer>
1247
1247
 
package/kit/guide.tr.html CHANGED
@@ -361,7 +361,7 @@ footer .container { display: flex; flex-wrap: wrap; gap: 16px; justify-content:
361
361
  <section class="hero">
362
362
  <div class="container">
363
363
  <div>
364
- <span class="pill"><b>v3.47.0</b> Claude Code için başlangıç kiti · MIT</span>
364
+ <span class="pill"><b>v3.47.1</b> Claude Code için başlangıç kiti · MIT</span>
365
365
  <h1>Kodu AI yazar.<br><em>Dümen sende.</em></h1>
366
366
  <p class="sub">TillerHand, Claude Code ile bir ürünü fikirden canlıya ve bakıma kadar götürür. Her önemli kararda AI sana seçenekleri, önerisini ve her seçeneğin bedelini sunar. Bir uzman kurulu işi denetler, korumalar hatayı daha olmadan durdurur.</p>
367
367
  <div class="setup">
@@ -1245,7 +1245,7 @@ Sıradaki: G-013 şifre sıfırlama · bekleyen karar: e-posta servisi</pre>
1245
1245
  <footer>
1246
1246
  <div class="container">
1247
1247
  <a class="brand" href="#top" style="font-size:16px"><svg class="mark" style="width:22px;height:22px"><use href="#mark"/></svg>TillerHand</a>
1248
- <span>Sürüm 3.47.0 · <a href="https://github.com/burakdogrul/TillerHand">GitHub</a> · <a href="https://github.com/burakdogrul/TillerHand/blob/main/LICENSE">MIT lisansı</a> · KVKK bölümü kontrol listesidir, hukuki görüş değildir.</span>
1248
+ <span>Sürüm 3.47.1 · <a href="https://github.com/burakdogrul/TillerHand">GitHub</a> · <a href="https://github.com/burakdogrul/TillerHand/blob/main/LICENSE">MIT lisansı</a> · KVKK bölümü kontrol listesidir, hukuki görüş değildir.</span>
1249
1249
  </div>
1250
1250
  </footer>
1251
1251
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tillerhand",
3
- "version": "3.47.0",
3
+ "version": "3.47.1",
4
4
  "description": "Vibe coding kit for Claude Code, Codex and Antigravity: rules, commands, guards and project templates.",
5
5
  "license": "MIT",
6
6
  "type": "module",