tillerhand 3.31.1 → 3.31.2
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/hooks/destructive-guard.mjs +4 -3
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/kit/CHANGELOG.md +5 -0
- package/kit/VERSION +1 -1
- package/kit/guide.html +2 -2
- package/package.json +1 -1
|
@@ -273,9 +273,10 @@ const strictest = (...s) => s.filter(Boolean).sort((a, b) => RANK[b.decision] -
|
|
|
273
273
|
// A commit message that only names a command (git commit -m "commit-gate.mjs --skip anlatıldı") is text, not a call.
|
|
274
274
|
// Emptied only when the WHOLE command is one plain commit (optionally after "git add … &&") and the message is its last
|
|
275
275
|
// word: then nothing else can hide in it. No quote, $, `, (, #, <, > before the message: a quote opened earlier
|
|
276
|
-
// would make a real command look like the message.
|
|
277
|
-
// (PowerShell and cmd do not escape with
|
|
278
|
-
|
|
276
|
+
// would make a real command look like the message. The message must be safe in bash, PowerShell and cmd alike: no
|
|
277
|
+
// $ ` (code), no \ (PowerShell and cmd do not escape with it, "a\" ends the string), no typographic quotes U+2018-U+201F
|
|
278
|
+
// (PowerShell ends strings at them), no newline and no ; & | < > ^ % !. Anything else keeps its text and is checked.
|
|
279
|
+
const PLAIN_COMMIT = /^(\s*(?:git(?:\.exe)?\s+add\s[^;&|\n$`()"'\\#<>\u2018-\u201f]*&&\s*)?git(?:\.exe)?\s[^;&|\n$`()"'\\#<>\u2018-\u201f]*?\bcommit(?![\w.-])[^;&|\n$`()"'\\#<>\u2018-\u201f]*?\s(?:-[a-zA-Z]*m|--message)(?:\s+|=))("[^"\\$`\u2018-\u201f\r\n;&|<>^%!]*"|'[^'\u2018-\u201f\r\n;&|<>^%!]*')\s*$/;
|
|
279
280
|
export function permissionEquivalent(command) {
|
|
280
281
|
const c = command.replace(PLAIN_COMMIT, '$1""');
|
|
281
282
|
return strictest(permissionOne(c), permissionOne(unquote(c)), permissionOne(blankQuoted(c)));
|
package/README.en.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.31.
|
|
9
|
+
<a href="kit/CHANGELOG.md"><img alt="Version" src="https://img.shields.io/badge/version-3.31.2-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.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.31.
|
|
9
|
+
<a href="kit/CHANGELOG.md"><img alt="Sürüm" src="https://img.shields.io/badge/s%C3%BCr%C3%BCm-3.31.2-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,11 @@
|
|
|
3
3
|
Kit sürümü `kit/VERSION` dosyasında. Bir projeyi güncellemek: projede `/kit-update`.
|
|
4
4
|
"Elle uyarla" notu olan maddeler projeye ait dosyalardadır; güncelleme bunlara dokunmaz.
|
|
5
5
|
|
|
6
|
+
## [3.31.2] - 2026-10-26
|
|
7
|
+
|
|
8
|
+
### Düzeltilen
|
|
9
|
+
- **Codex ve Antigravity: commit mesajı yoluyla koruma atlatılamıyor.** 3.31.1'de düz commit mesajı komut sayılmıyordu. PowerShell akıllı tırnakları (`“ ” ‘ ’ „`) da dizge sınırı saydığı için böyle tırnaklı bir mesajın arkasına gizlenen komut onaysız geçebiliyordu. Artık mesaj yalnız bash, PowerShell ve cmd'de aynı şekilde tek dizge kalıyorsa boşaltılır: akıllı tırnak, `\`, `$`, ters tırnak, satır sonu ya da `; & | < > ^ % !` içeren mesaj yine denetlenir.
|
|
10
|
+
|
|
6
11
|
## [3.31.1] - 2026-10-26
|
|
7
12
|
|
|
8
13
|
### Düzeltilen
|
package/kit/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.31.
|
|
1
|
+
3.31.2
|
package/kit/guide.html
CHANGED
|
@@ -287,7 +287,7 @@ footer .container { display: flex; flex-wrap: wrap; gap: 16px; justify-content:
|
|
|
287
287
|
<section class="hero">
|
|
288
288
|
<div class="container">
|
|
289
289
|
<div>
|
|
290
|
-
<span class="pill"><b>v3.31.
|
|
290
|
+
<span class="pill"><b>v3.31.2</b> Claude Code için başlangıç kiti · MIT</span>
|
|
291
291
|
<h1>Kodu AI yazar.<br><em>Dümen sende.</em></h1>
|
|
292
292
|
<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>
|
|
293
293
|
<div class="install"><span id="cmd">npx tillerhand init</span><button class="copy" type="button" data-copy="cmd">Kopyala</button></div>
|
|
@@ -1055,7 +1055,7 @@ Sıradaki: G-013 şifre sıfırlama · bekleyen karar: e-posta servisi</pre>
|
|
|
1055
1055
|
<footer>
|
|
1056
1056
|
<div class="container">
|
|
1057
1057
|
<a class="brand" href="#top" style="font-size:16px"><svg class="mark" style="width:22px;height:22px"><use href="#mark"/></svg>TillerHand</a>
|
|
1058
|
-
<span>Sürüm 3.31.
|
|
1058
|
+
<span>Sürüm 3.31.2 · <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>
|
|
1059
1059
|
</div>
|
|
1060
1060
|
</footer>
|
|
1061
1061
|
|
package/package.json
CHANGED