cc-safe-setup 1.1.1 → 1.1.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/README.md +2 -0
- package/demo.svg +1 -0
- package/package.json +15 -2
package/README.md
CHANGED
|
@@ -12,6 +12,8 @@ npx cc-safe-setup
|
|
|
12
12
|
|
|
13
13
|
Installs 7 production-tested safety hooks in ~10 seconds. Zero dependencies. No manual configuration.
|
|
14
14
|
|
|
15
|
+
<img src="demo.svg" alt="cc-safe-setup demo" width="600">
|
|
16
|
+
|
|
15
17
|
```
|
|
16
18
|
cc-safe-setup
|
|
17
19
|
Make Claude Code safe for autonomous operation
|
package/demo.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="840" height="581.04"><rect width="840" height="581.04" rx="5" ry="5" class="a"/><svg y="0%" x="0%"><circle cx="20" cy="20" r="6" fill="#ff5f58"/><circle cx="40" cy="20" r="6" fill="#ffbd2e"/><circle cx="60" cy="20" r="6" fill="#18c132"/></svg><svg height="521.04" viewBox="0 0 80 52.104" width="800" x="15" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="50"><style>@keyframes l{0%{transform:translateX(0)}.1%{transform:translateX(-80px)}16.9%{transform:translateX(-400px)}17%{transform:translateX(-2400px)}50%{transform:translateX(-2480px)}66.9%{transform:translateX(-2720px)}99.8%{transform:translateX(-2800px)}to{transform:translateX(-2880px)}}.a{fill:#282d35}.f{fill:#b9c0cb}.f,.g,.h,.i,.j{white-space:pre}.g{fill:#b9c0cb;font-weight:700}.h,.i,.j{fill:#e88388}.i,.j{fill:#a8cc8c}.j{fill:#dbab79}</style><g font-family="Monaco,Consolas,Menlo,'Bitstream Vera Sans Mono','Powerline Symbols',monospace" font-size="1.67"><defs><symbol id="1"><text y="1.67" class="f">$</text><text x="2.004" y="1.67" class="f">npx</text><text x="6.012" y="1.67" class="f">cc-safe-setup</text><text x="20.04" y="1.67" class="f">--dry-run</text></symbol><symbol id="2"><text x="2.004" y="1.67" class="g">cc-safe-setup</text></symbol><symbol id="3"><text x="2.004" y="1.67" class="f">Make</text><text x="7.014" y="1.67" class="f">Claude</text><text x="14.028" y="1.67" class="f">Code</text><text x="19.038" y="1.67" class="f">safe</text><text x="24.048" y="1.67" class="f">for</text><text x="28.056" y="1.67" class="f">autonomous</text><text x="39.078" y="1.67" class="f">operation</text></symbol><symbol id="4"><text x="2.004" y="1.67" class="f">Prevents</text><text x="11.022" y="1.67" class="f">real</text><text x="16.032" y="1.67" class="f">incidents:</text></symbol><symbol id="5"><text x="2.004" y="1.67" class="h">x</text><text x="4.008" y="1.67" class="f">rm</text><text x="7.014" y="1.67" class="f">-rf</text><text x="11.022" y="1.67" class="f">deleting</text><text x="20.04" y="1.67" class="f">entire</text><text x="27.054" y="1.67" class="f">user</text><text x="32.064" y="1.67" class="f">directories</text><text x="44.088" y="1.67" class="f">(NTFS</text><text x="50.1" y="1.67" class="f">junction</text><text x="59.118" y="1.67" class="f">traversal)</text></symbol><symbol id="6"><text x="2.004" y="1.67" class="h">x</text><text x="4.008" y="1.67" class="f">Untested</text><text x="13.026" y="1.67" class="f">code</text><text x="18.036" y="1.67" class="f">pushed</text><text x="25.05" y="1.67" class="f">to</text><text x="28.056" y="1.67" class="f">main</text><text x="33.066" y="1.67" class="f">at</text><text x="36.072" y="1.67" class="f">3am</text></symbol><symbol id="7"><text x="2.004" y="1.67" class="h">x</text><text x="4.008" y="1.67" class="f">Force-push</text><text x="15.03" y="1.67" class="f">rewriting</text><text x="25.05" y="1.67" class="f">shared</text><text x="32.064" y="1.67" class="f">branch</text><text x="39.078" y="1.67" class="f">history</text></symbol><symbol id="8"><text x="2.004" y="1.67" class="h">x</text><text x="4.008" y="1.67" class="f">API</text><text x="8.016" y="1.67" class="f">keys</text><text x="13.026" y="1.67" class="f">committed</text><text x="23.046" y="1.67" class="f">to</text><text x="26.052" y="1.67" class="f">public</text><text x="33.066" y="1.67" class="f">repos</text><text x="39.078" y="1.67" class="f">via</text><text x="43.086" y="1.67" class="f">git</text><text x="47.094" y="1.67" class="f">add</text><text x="51.102" y="1.67" class="f">.</text></symbol><symbol id="9"><text x="2.004" y="1.67" class="h">x</text><text x="4.008" y="1.67" class="f">Syntax</text><text x="11.022" y="1.67" class="f">errors</text><text x="18.036" y="1.67" class="f">cascading</text><text x="28.056" y="1.67" class="f">through</text><text x="36.072" y="1.67" class="f">30+</text><text x="40.08" y="1.67" class="f">files</text></symbol><symbol id="10"><text x="2.004" y="1.67" class="h">x</text><text x="4.008" y="1.67" class="f">Sessions</text><text x="13.026" y="1.67" class="f">losing</text><text x="20.04" y="1.67" class="f">all</text><text x="24.048" y="1.67" class="f">context</text><text x="32.064" y="1.67" class="f">with</text><text x="37.074" y="1.67" class="f">no</text><text x="40.08" y="1.67" class="f">warning</text></symbol><symbol id="11"><text x="2.004" y="1.67" class="g">Hooks</text><text x="8.016" y="1.67" class="g">to</text><text x="11.022" y="1.67" class="g">install:</text></symbol><symbol id="12"><text x="2.004" y="1.67" class="i">*</text><text x="4.008" y="1.67" class="g">Destructive</text><text x="16.032" y="1.67" class="g">Command</text><text x="24.048" y="1.67" class="g">Blocker</text></symbol><symbol id="13"><text x="4.008" y="1.67" class="f">A</text><text x="6.012" y="1.67" class="f">user</text><text x="11.022" y="1.67" class="f">lost</text><text x="16.032" y="1.67" class="f">their</text><text x="22.044" y="1.67" class="f">entire</text><text x="29.058" y="1.67" class="f">C:\Users</text><text x="38.076" y="1.67" class="f">directory</text><text x="48.096" y="1.67" class="f">when</text><text x="53.106" y="1.67" class="f">rm</text><text x="56.112" y="1.67" class="f">-rf</text><text x="60.12" y="1.67" class="f">followed</text><text x="69.138" y="1.67" class="f">NTFS</text><text x="74.148" y="1.67" class="f">juncti</text></symbol><symbol id="14"><text y="1.67" class="f">ons</text></symbol><symbol id="15"><text x="2.004" y="1.67" class="i">*</text><text x="4.008" y="1.67" class="g">Branch</text><text x="11.022" y="1.67" class="g">Push</text><text x="16.032" y="1.67" class="g">Protector</text></symbol><symbol id="16"><text x="4.008" y="1.67" class="f">Autonomous</text><text x="15.03" y="1.67" class="f">Claude</text><text x="22.044" y="1.67" class="f">Code</text><text x="27.054" y="1.67" class="f">pushed</text><text x="34.068" y="1.67" class="f">untested</text><text x="43.086" y="1.67" class="f">code</text><text x="48.096" y="1.67" class="f">directly</text><text x="57.114" y="1.67" class="f">to</text><text x="60.12" y="1.67" class="f">main</text><text x="65.13" y="1.67" class="f">at</text><text x="68.136" y="1.67" class="f">3am</text></symbol><symbol id="17"><text x="2.004" y="1.67" class="i">*</text><text x="4.008" y="1.67" class="g">Post-Edit</text><text x="14.028" y="1.67" class="g">Syntax</text><text x="21.042" y="1.67" class="g">Validator</text></symbol><symbol id="18"><text x="4.008" y="1.67" class="f">A</text><text x="6.012" y="1.67" class="f">Python</text><text x="13.026" y="1.67" class="f">syntax</text><text x="20.04" y="1.67" class="f">error</text><text x="26.052" y="1.67" class="f">cascaded</text><text x="35.07" y="1.67" class="f">through</text><text x="43.086" y="1.67" class="f">30+</text><text x="47.094" y="1.67" class="f">files</text><text x="53.106" y="1.67" class="f">before</text><text x="60.12" y="1.67" class="f">anyone</text><text x="67.134" y="1.67" class="f">noticed</text></symbol><symbol id="19"><text x="2.004" y="1.67" class="i">*</text><text x="4.008" y="1.67" class="g">Context</text><text x="12.024" y="1.67" class="g">Window</text><text x="19.038" y="1.67" class="g">Monitor</text></symbol><symbol id="20"><text x="4.008" y="1.67" class="f">Sessions</text><text x="13.026" y="1.67" class="f">silently</text><text x="22.044" y="1.67" class="f">lost</text><text x="27.054" y="1.67" class="f">all</text><text x="31.062" y="1.67" class="f">state</text><text x="37.074" y="1.67" class="f">at</text><text x="40.08" y="1.67" class="f">tool</text><text x="45.09" y="1.67" class="f">call</text><text x="50.1" y="1.67" class="f">150+</text><text x="55.11" y="1.67" class="f">with</text><text x="60.12" y="1.67" class="f">no</text><text x="63.126" y="1.67" class="f">warning</text></symbol><symbol id="21"><text x="2.004" y="1.67" class="i">*</text><text x="4.008" y="1.67" class="g">Bash</text><text x="9.018" y="1.67" class="g">Comment</text><text x="17.034" y="1.67" class="g">Stripper</text></symbol><symbol id="22"><text x="4.008" y="1.67" class="f">Comments</text><text x="13.026" y="1.67" class="f">in</text><text x="16.032" y="1.67" class="f">bash</text><text x="21.042" y="1.67" class="f">commands</text><text x="30.06" y="1.67" class="f">break</text><text x="36.072" y="1.67" class="f">permission</text><text x="47.094" y="1.67" class="f">allowlists</text><text x="58.116" y="1.67" class="f">(18</text><text x="62.124" y="1.67" class="f">reactions</text><text x="72.144" y="1.67" class="f">on</text><text x="75.15" y="1.67" class="f">GitHu</text></symbol><symbol id="23"><text y="1.67" class="f">b</text><text x="2.004" y="1.67" class="f">#29582)</text></symbol><symbol id="24"><text x="2.004" y="1.67" class="i">*</text><text x="4.008" y="1.67" class="g">cd+git</text><text x="11.022" y="1.67" class="g">Auto-Approver</text></symbol><symbol id="25"><text x="4.008" y="1.67" class="f">cd+git</text><text x="11.022" y="1.67" class="f">compounds</text><text x="21.042" y="1.67" class="f">spam</text><text x="26.052" y="1.67" class="f">permission</text><text x="37.074" y="1.67" class="f">prompts</text><text x="45.09" y="1.67" class="f">for</text><text x="49.098" y="1.67" class="f">read-only</text><text x="59.118" y="1.67" class="f">operations</text><text x="70.14" y="1.67" class="f">(9</text><text x="73.146" y="1.67" class="f">reactio</text></symbol><symbol id="26"><text y="1.67" class="f">ns</text><text x="3.006" y="1.67" class="f">on</text><text x="6.012" y="1.67" class="f">#32985)</text></symbol><symbol id="27"><text x="2.004" y="1.67" class="i">*</text><text x="4.008" y="1.67" class="g">Secret</text><text x="11.022" y="1.67" class="g">Leak</text><text x="16.032" y="1.67" class="g">Prevention</text></symbol><symbol id="28"><text x="4.008" y="1.67" class="f">git</text><text x="8.016" y="1.67" class="f">add</text><text x="12.024" y="1.67" class="f">.env</text><text x="17.034" y="1.67" class="f">accidentally</text><text x="30.06" y="1.67" class="f">committed</text><text x="40.08" y="1.67" class="f">API</text><text x="44.088" y="1.67" class="f">keys</text><text x="49.098" y="1.67" class="f">to</text><text x="52.104" y="1.67" class="f">a</text><text x="54.108" y="1.67" class="f">public</text><text x="61.122" y="1.67" class="f">repo</text></symbol><symbol id="29"><text x="2.004" y="1.67" class="j">--dry-run:</text><text x="13.026" y="1.67" class="j">showing</text><text x="21.042" y="1.67" class="j">what</text><text x="26.052" y="1.67" class="j">would</text><text x="32.064" y="1.67" class="j">be</text><text x="35.07" y="1.67" class="j">installed</text><text x="45.09" y="1.67" class="j">(no</text><text x="49.098" y="1.67" class="j">changes</text><text x="57.114" y="1.67" class="j">made)</text></symbol><symbol id="30"><text x="2.004" y="1.67" class="f">would</text><text x="8.016" y="1.67" class="f">install:</text><text x="17.034" y="1.67" class="f">/home/namakusa/.claude/hooks/destructive-guard.sh</text></symbol><symbol id="31"><text x="2.004" y="1.67" class="f">would</text><text x="8.016" y="1.67" class="f">install:</text><text x="17.034" y="1.67" class="f">/home/namakusa/.claude/hooks/branch-guard.sh</text></symbol><symbol id="32"><text x="2.004" y="1.67" class="f">would</text><text x="8.016" y="1.67" class="f">install:</text><text x="17.034" y="1.67" class="f">/home/namakusa/.claude/hooks/syntax-check.sh</text></symbol><symbol id="33"><text x="2.004" y="1.67" class="f">would</text><text x="8.016" y="1.67" class="f">install:</text><text x="17.034" y="1.67" class="f">/home/namakusa/.claude/hooks/context-monitor.sh</text></symbol><symbol id="34"><text x="2.004" y="1.67" class="f">would</text><text x="8.016" y="1.67" class="f">install:</text><text x="17.034" y="1.67" class="f">/home/namakusa/.claude/hooks/comment-strip.sh</text></symbol><symbol id="35"><text x="2.004" y="1.67" class="f">would</text><text x="8.016" y="1.67" class="f">install:</text><text x="17.034" y="1.67" class="f">/home/namakusa/.claude/hooks/cd-git-allow.sh</text></symbol><symbol id="36"><text x="2.004" y="1.67" class="f">would</text><text x="8.016" y="1.67" class="f">install:</text><text x="17.034" y="1.67" class="f">/home/namakusa/.claude/hooks/secret-guard.sh</text></symbol><symbol id="37"><text x="2.004" y="1.67" class="f">would</text><text x="8.016" y="1.67" class="f">update:</text><text x="16.032" y="1.67" class="f">/home/namakusa/.claude/settings.json</text></symbol><symbol id="38"><text y="1.67" class="f">$</text><text x="2.004" y="1.67" class="f">#</text><text x="4.008" y="1.67" class="f">Test:</text><text x="10.02" y="1.67" class="f">destructive</text><text x="22.044" y="1.67" class="f">command</text><text x="30.06" y="1.67" class="f">is</text><text x="33.066" y="1.67" class="f">blocked</text></symbol><symbol id="39"><text y="1.67" class="f">BLOCKED:</text><text x="9.018" y="1.67" class="f">Target</text><text x="16.032" y="1.67" class="f">contains</text><text x="25.05" y="1.67" class="f">a</text><text x="27.054" y="1.67" class="f">mounted</text><text x="35.07" y="1.67" class="f">filesystem</text><text x="46.092" y="1.67" class="f">(NFS,</text><text x="52.104" y="1.67" class="f">Docker,</text><text x="60.12" y="1.67" class="f">bind).</text></symbol><symbol id="40"><text y="1.67" class="f">Command:</text><text x="9.018" y="1.67" class="f">rm</text><text x="12.024" y="1.67" class="f">-rf</text><text x="16.032" y="1.67" class="f">/</text></symbol><symbol id="41"><text y="1.67" class="f">Unmount</text><text x="8.016" y="1.67" class="f">the</text><text x="12.024" y="1.67" class="f">filesystem</text><text x="23.046" y="1.67" class="f">first,</text><text x="30.06" y="1.67" class="f">then</text><text x="35.07" y="1.67" class="f">retry.</text></symbol><symbol id="42"><text y="1.67" class="f">Exit</text><text x="5.01" y="1.67" class="f">code:</text><text x="11.022" y="1.67" class="f">2</text><text x="13.026" y="1.67" class="f">(blocked)</text></symbol><symbol id="43"><text y="1.67" class="f">$</text><text x="2.004" y="1.67" class="f">#</text><text x="4.008" y="1.67" class="f">Test:</text><text x="10.02" y="1.67" class="f">safe</text><text x="15.03" y="1.67" class="f">command</text><text x="23.046" y="1.67" class="f">passes</text><text x="30.06" y="1.67" class="f">through</text></symbol><symbol id="a"><path fill="transparent" d="M0 0h80v25H0z"/></symbol></defs><path class="a" d="M0 0h80v52.104H0z"/><g style="animation-duration:6.076617s;animation-iteration-count:infinite;animation-name:l;animation-timing-function:steps(1,end)"><svg width="2960"><svg><use xlink:href="#a"/></svg><svg x="80"><use xlink:href="#a"/><use xlink:href="#1"/></svg><svg x="160"><use xlink:href="#a"/><use xlink:href="#1"/></svg><svg x="240"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/></svg><svg x="320"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/></svg><svg x="400"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/></svg><svg x="480"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/></svg><svg x="560"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/></svg><svg x="640"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/></svg><svg x="720"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/><use xlink:href="#8" y="19.539"/></svg><svg x="800"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/><use xlink:href="#8" y="19.539"/><use xlink:href="#9" y="21.71"/></svg><svg x="880"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/><use xlink:href="#8" y="19.539"/><use xlink:href="#9" y="21.71"/><use xlink:href="#10" y="23.881"/></svg><svg x="960"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/><use xlink:href="#8" y="19.539"/><use xlink:href="#9" y="21.71"/><use xlink:href="#10" y="23.881"/><use xlink:href="#11" y="28.223"/></svg><svg x="1040"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/><use xlink:href="#8" y="19.539"/><use xlink:href="#9" y="21.71"/><use xlink:href="#10" y="23.881"/><use xlink:href="#11" y="28.223"/></svg><svg x="1120"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/><use xlink:href="#8" y="19.539"/><use xlink:href="#9" y="21.71"/><use xlink:href="#10" y="23.881"/><use xlink:href="#11" y="28.223"/><use xlink:href="#12" y="32.565"/><use xlink:href="#13" y="34.736"/><use xlink:href="#14" y="36.907"/></svg><svg x="1200"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/><use xlink:href="#8" y="19.539"/><use xlink:href="#9" y="21.71"/><use xlink:href="#10" y="23.881"/><use xlink:href="#11" y="28.223"/><use xlink:href="#12" y="32.565"/><use xlink:href="#13" y="34.736"/><use xlink:href="#14" y="36.907"/><use xlink:href="#15" y="39.078"/><use xlink:href="#16" y="41.249"/></svg><svg x="1280"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/><use xlink:href="#8" y="19.539"/><use xlink:href="#9" y="21.71"/><use xlink:href="#10" y="23.881"/><use xlink:href="#11" y="28.223"/><use xlink:href="#12" y="32.565"/><use xlink:href="#13" y="34.736"/><use xlink:href="#14" y="36.907"/><use xlink:href="#15" y="39.078"/><use xlink:href="#16" y="41.249"/><use xlink:href="#17" y="43.42"/></svg><svg x="1360"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/><use xlink:href="#8" y="19.539"/><use xlink:href="#9" y="21.71"/><use xlink:href="#10" y="23.881"/><use xlink:href="#11" y="28.223"/><use xlink:href="#12" y="32.565"/><use xlink:href="#13" y="34.736"/><use xlink:href="#14" y="36.907"/><use xlink:href="#15" y="39.078"/><use xlink:href="#16" y="41.249"/><use xlink:href="#17" y="43.42"/><use xlink:href="#18" y="45.591"/><use xlink:href="#19" y="47.762"/></svg><svg x="1440"><use xlink:href="#a"/><use xlink:href="#1"/><use xlink:href="#2" y="4.342"/><use xlink:href="#3" y="6.513"/><use xlink:href="#4" y="10.855"/><use xlink:href="#5" y="13.026"/><use xlink:href="#6" y="15.197"/><use xlink:href="#7" y="17.368"/><use xlink:href="#8" y="19.539"/><use xlink:href="#9" y="21.71"/><use xlink:href="#10" y="23.881"/><use xlink:href="#11" y="28.223"/><use xlink:href="#12" y="32.565"/><use xlink:href="#13" y="34.736"/><use xlink:href="#14" y="36.907"/><use xlink:href="#15" y="39.078"/><use xlink:href="#16" y="41.249"/><use xlink:href="#17" y="43.42"/><use xlink:href="#18" y="45.591"/><use xlink:href="#19" y="47.762"/><use xlink:href="#20" y="49.933"/></svg><svg x="1520"><use xlink:href="#a"/><use xlink:href="#2" y="2.171"/><use xlink:href="#3" y="4.342"/><use xlink:href="#4" y="8.684"/><use xlink:href="#5" y="10.855"/><use xlink:href="#6" y="13.026"/><use xlink:href="#7" y="15.197"/><use xlink:href="#8" y="17.368"/><use xlink:href="#9" y="19.539"/><use xlink:href="#10" y="21.71"/><use xlink:href="#11" y="26.052"/><use xlink:href="#12" y="30.394"/><use xlink:href="#13" y="32.565"/><use xlink:href="#14" y="34.736"/><use xlink:href="#15" y="36.907"/><use xlink:href="#16" y="39.078"/><use xlink:href="#17" y="41.249"/><use xlink:href="#18" y="43.42"/><use xlink:href="#19" y="45.591"/><use xlink:href="#20" y="47.762"/><use xlink:href="#21" y="49.933"/></svg><svg x="1600"><use xlink:href="#a"/><use xlink:href="#5"/><use xlink:href="#6" y="2.171"/><use xlink:href="#7" y="4.342"/><use xlink:href="#8" y="6.513"/><use xlink:href="#9" y="8.684"/><use xlink:href="#10" y="10.855"/><use xlink:href="#11" y="15.197"/><use xlink:href="#12" y="19.539"/><use xlink:href="#13" y="21.71"/><use xlink:href="#14" y="23.881"/><use xlink:href="#15" y="26.052"/><use xlink:href="#16" y="28.223"/><use xlink:href="#17" y="30.394"/><use xlink:href="#18" y="32.565"/><use xlink:href="#19" y="34.736"/><use xlink:href="#20" y="36.907"/><use xlink:href="#21" y="39.078"/><use xlink:href="#22" y="41.249"/><use xlink:href="#23" y="43.42"/><use xlink:href="#24" y="45.591"/><use xlink:href="#25" y="47.762"/><use xlink:href="#26" y="49.933"/></svg><svg x="1680"><use xlink:href="#a"/><use xlink:href="#7"/><use xlink:href="#8" y="2.171"/><use xlink:href="#9" y="4.342"/><use xlink:href="#10" y="6.513"/><use xlink:href="#11" y="10.855"/><use xlink:href="#12" y="15.197"/><use xlink:href="#13" y="17.368"/><use xlink:href="#14" y="19.539"/><use xlink:href="#15" y="21.71"/><use xlink:href="#16" y="23.881"/><use xlink:href="#17" y="26.052"/><use xlink:href="#18" y="28.223"/><use xlink:href="#19" y="30.394"/><use xlink:href="#20" y="32.565"/><use xlink:href="#21" y="34.736"/><use xlink:href="#22" y="36.907"/><use xlink:href="#23" y="39.078"/><use xlink:href="#24" y="41.249"/><use xlink:href="#25" y="43.42"/><use xlink:href="#26" y="45.591"/><use xlink:href="#27" y="47.762"/><use xlink:href="#28" y="49.933"/></svg><svg x="1760"><use xlink:href="#a"/><use xlink:href="#10"/><use xlink:href="#11" y="4.342"/><use xlink:href="#12" y="8.684"/><use xlink:href="#13" y="10.855"/><use xlink:href="#14" y="13.026"/><use xlink:href="#15" y="15.197"/><use xlink:href="#16" y="17.368"/><use xlink:href="#17" y="19.539"/><use xlink:href="#18" y="21.71"/><use xlink:href="#19" y="23.881"/><use xlink:href="#20" y="26.052"/><use xlink:href="#21" y="28.223"/><use xlink:href="#22" y="30.394"/><use xlink:href="#23" y="32.565"/><use xlink:href="#24" y="34.736"/><use xlink:href="#25" y="36.907"/><use xlink:href="#26" y="39.078"/><use xlink:href="#27" y="41.249"/><use xlink:href="#28" y="43.42"/><use xlink:href="#29" y="47.762"/></svg><svg x="1840"><use xlink:href="#a"/><use xlink:href="#11" y="2.171"/><use xlink:href="#12" y="6.513"/><use xlink:href="#13" y="8.684"/><use xlink:href="#14" y="10.855"/><use xlink:href="#15" y="13.026"/><use xlink:href="#16" y="15.197"/><use xlink:href="#17" y="17.368"/><use xlink:href="#18" y="19.539"/><use xlink:href="#19" y="21.71"/><use xlink:href="#20" y="23.881"/><use xlink:href="#21" y="26.052"/><use xlink:href="#22" y="28.223"/><use xlink:href="#23" y="30.394"/><use xlink:href="#24" y="32.565"/><use xlink:href="#25" y="34.736"/><use xlink:href="#26" y="36.907"/><use xlink:href="#27" y="39.078"/><use xlink:href="#28" y="41.249"/><use xlink:href="#29" y="45.591"/><use xlink:href="#30" y="49.933"/></svg><svg x="1920"><use xlink:href="#a"/><use xlink:href="#11"/><use xlink:href="#12" y="4.342"/><use xlink:href="#13" y="6.513"/><use xlink:href="#14" y="8.684"/><use xlink:href="#15" y="10.855"/><use xlink:href="#16" y="13.026"/><use xlink:href="#17" y="15.197"/><use xlink:href="#18" y="17.368"/><use xlink:href="#19" y="19.539"/><use xlink:href="#20" y="21.71"/><use xlink:href="#21" y="23.881"/><use xlink:href="#22" y="26.052"/><use xlink:href="#23" y="28.223"/><use xlink:href="#24" y="30.394"/><use xlink:href="#25" y="32.565"/><use xlink:href="#26" y="34.736"/><use xlink:href="#27" y="36.907"/><use xlink:href="#28" y="39.078"/><use xlink:href="#29" y="43.42"/><use xlink:href="#30" y="47.762"/><use xlink:href="#31" y="49.933"/></svg><svg x="2000"><use xlink:href="#a"/><use xlink:href="#12"/><use xlink:href="#13" y="2.171"/><use xlink:href="#14" y="4.342"/><use xlink:href="#15" y="6.513"/><use xlink:href="#16" y="8.684"/><use xlink:href="#17" y="10.855"/><use xlink:href="#18" y="13.026"/><use xlink:href="#19" y="15.197"/><use xlink:href="#20" y="17.368"/><use xlink:href="#21" y="19.539"/><use xlink:href="#22" y="21.71"/><use xlink:href="#23" y="23.881"/><use xlink:href="#24" y="26.052"/><use xlink:href="#25" y="28.223"/><use xlink:href="#26" y="30.394"/><use xlink:href="#27" y="32.565"/><use xlink:href="#28" y="34.736"/><use xlink:href="#29" y="39.078"/><use xlink:href="#30" y="43.42"/><use xlink:href="#31" y="45.591"/><use xlink:href="#32" y="47.762"/><use xlink:href="#33" y="49.933"/></svg><svg x="2080"><use xlink:href="#a"/><use xlink:href="#13"/><use xlink:href="#14" y="2.171"/><use xlink:href="#15" y="4.342"/><use xlink:href="#16" y="6.513"/><use xlink:href="#17" y="8.684"/><use xlink:href="#18" y="10.855"/><use xlink:href="#19" y="13.026"/><use xlink:href="#20" y="15.197"/><use xlink:href="#21" y="17.368"/><use xlink:href="#22" y="19.539"/><use xlink:href="#23" y="21.71"/><use xlink:href="#24" y="23.881"/><use xlink:href="#25" y="26.052"/><use xlink:href="#26" y="28.223"/><use xlink:href="#27" y="30.394"/><use xlink:href="#28" y="32.565"/><use xlink:href="#29" y="36.907"/><use xlink:href="#30" y="41.249"/><use xlink:href="#31" y="43.42"/><use xlink:href="#32" y="45.591"/><use xlink:href="#33" y="47.762"/><use xlink:href="#34" y="49.933"/></svg><svg x="2160"><use xlink:href="#a"/><use xlink:href="#14"/><use xlink:href="#15" y="2.171"/><use xlink:href="#16" y="4.342"/><use xlink:href="#17" y="6.513"/><use xlink:href="#18" y="8.684"/><use xlink:href="#19" y="10.855"/><use xlink:href="#20" y="13.026"/><use xlink:href="#21" y="15.197"/><use xlink:href="#22" y="17.368"/><use xlink:href="#23" y="19.539"/><use xlink:href="#24" y="21.71"/><use xlink:href="#25" y="23.881"/><use xlink:href="#26" y="26.052"/><use xlink:href="#27" y="28.223"/><use xlink:href="#28" y="30.394"/><use xlink:href="#29" y="34.736"/><use xlink:href="#30" y="39.078"/><use xlink:href="#31" y="41.249"/><use xlink:href="#32" y="43.42"/><use xlink:href="#33" y="45.591"/><use xlink:href="#34" y="47.762"/><use xlink:href="#35" y="49.933"/></svg><svg x="2240"><use xlink:href="#a"/><use xlink:href="#15"/><use xlink:href="#16" y="2.171"/><use xlink:href="#17" y="4.342"/><use xlink:href="#18" y="6.513"/><use xlink:href="#19" y="8.684"/><use xlink:href="#20" y="10.855"/><use xlink:href="#21" y="13.026"/><use xlink:href="#22" y="15.197"/><use xlink:href="#23" y="17.368"/><use xlink:href="#24" y="19.539"/><use xlink:href="#25" y="21.71"/><use xlink:href="#26" y="23.881"/><use xlink:href="#27" y="26.052"/><use xlink:href="#28" y="28.223"/><use xlink:href="#29" y="32.565"/><use xlink:href="#30" y="36.907"/><use xlink:href="#31" y="39.078"/><use xlink:href="#32" y="41.249"/><use xlink:href="#33" y="43.42"/><use xlink:href="#34" y="45.591"/><use xlink:href="#35" y="47.762"/><use xlink:href="#36" y="49.933"/></svg><svg x="2320"><use xlink:href="#a"/><use xlink:href="#16"/><use xlink:href="#17" y="2.171"/><use xlink:href="#18" y="4.342"/><use xlink:href="#19" y="6.513"/><use xlink:href="#20" y="8.684"/><use xlink:href="#21" y="10.855"/><use xlink:href="#22" y="13.026"/><use xlink:href="#23" y="15.197"/><use xlink:href="#24" y="17.368"/><use xlink:href="#25" y="19.539"/><use xlink:href="#26" y="21.71"/><use xlink:href="#27" y="23.881"/><use xlink:href="#28" y="26.052"/><use xlink:href="#29" y="30.394"/><use xlink:href="#30" y="34.736"/><use xlink:href="#31" y="36.907"/><use xlink:href="#32" y="39.078"/><use xlink:href="#33" y="41.249"/><use xlink:href="#34" y="43.42"/><use xlink:href="#35" y="45.591"/><use xlink:href="#36" y="47.762"/><use xlink:href="#37" y="49.933"/></svg><svg x="2400"><use xlink:href="#a"/><use xlink:href="#17"/><use xlink:href="#18" y="2.171"/><use xlink:href="#19" y="4.342"/><use xlink:href="#20" y="6.513"/><use xlink:href="#21" y="8.684"/><use xlink:href="#22" y="10.855"/><use xlink:href="#23" y="13.026"/><use xlink:href="#24" y="15.197"/><use xlink:href="#25" y="17.368"/><use xlink:href="#26" y="19.539"/><use xlink:href="#27" y="21.71"/><use xlink:href="#28" y="23.881"/><use xlink:href="#29" y="28.223"/><use xlink:href="#30" y="32.565"/><use xlink:href="#31" y="34.736"/><use xlink:href="#32" y="36.907"/><use xlink:href="#33" y="39.078"/><use xlink:href="#34" y="41.249"/><use xlink:href="#35" y="43.42"/><use xlink:href="#36" y="45.591"/><use xlink:href="#37" y="47.762"/></svg><svg x="2480"><use xlink:href="#a"/><use xlink:href="#19"/><use xlink:href="#20" y="2.171"/><use xlink:href="#21" y="4.342"/><use xlink:href="#22" y="6.513"/><use xlink:href="#23" y="8.684"/><use xlink:href="#24" y="10.855"/><use xlink:href="#25" y="13.026"/><use xlink:href="#26" y="15.197"/><use xlink:href="#27" y="17.368"/><use xlink:href="#28" y="19.539"/><use xlink:href="#29" y="23.881"/><use xlink:href="#30" y="28.223"/><use xlink:href="#31" y="30.394"/><use xlink:href="#32" y="32.565"/><use xlink:href="#33" y="34.736"/><use xlink:href="#34" y="36.907"/><use xlink:href="#35" y="39.078"/><use xlink:href="#36" y="41.249"/><use xlink:href="#37" y="43.42"/><use xlink:href="#38" y="49.933"/></svg><svg x="2560"><use xlink:href="#a"/><use xlink:href="#22"/><use xlink:href="#23" y="2.171"/><use xlink:href="#24" y="4.342"/><use xlink:href="#25" y="6.513"/><use xlink:href="#26" y="8.684"/><use xlink:href="#27" y="10.855"/><use xlink:href="#28" y="13.026"/><use xlink:href="#29" y="17.368"/><use xlink:href="#30" y="21.71"/><use xlink:href="#31" y="23.881"/><use xlink:href="#32" y="26.052"/><use xlink:href="#33" y="28.223"/><use xlink:href="#34" y="30.394"/><use xlink:href="#35" y="32.565"/><use xlink:href="#36" y="34.736"/><use xlink:href="#37" y="36.907"/><use xlink:href="#38" y="43.42"/><use xlink:href="#39" y="45.591"/><use xlink:href="#40" y="49.933"/></svg><svg x="2640"><use xlink:href="#a"/><use xlink:href="#24"/><use xlink:href="#25" y="2.171"/><use xlink:href="#26" y="4.342"/><use xlink:href="#27" y="6.513"/><use xlink:href="#28" y="8.684"/><use xlink:href="#29" y="13.026"/><use xlink:href="#30" y="17.368"/><use xlink:href="#31" y="19.539"/><use xlink:href="#32" y="21.71"/><use xlink:href="#33" y="23.881"/><use xlink:href="#34" y="26.052"/><use xlink:href="#35" y="28.223"/><use xlink:href="#36" y="30.394"/><use xlink:href="#37" y="32.565"/><use xlink:href="#38" y="39.078"/><use xlink:href="#39" y="41.249"/><use xlink:href="#40" y="45.591"/><use xlink:href="#41" y="49.933"/></svg><svg x="2720"><use xlink:href="#a"/><use xlink:href="#25"/><use xlink:href="#26" y="2.171"/><use xlink:href="#27" y="4.342"/><use xlink:href="#28" y="6.513"/><use xlink:href="#29" y="10.855"/><use xlink:href="#30" y="15.197"/><use xlink:href="#31" y="17.368"/><use xlink:href="#32" y="19.539"/><use xlink:href="#33" y="21.71"/><use xlink:href="#34" y="23.881"/><use xlink:href="#35" y="26.052"/><use xlink:href="#36" y="28.223"/><use xlink:href="#37" y="30.394"/><use xlink:href="#38" y="36.907"/><use xlink:href="#39" y="39.078"/><use xlink:href="#40" y="43.42"/><use xlink:href="#41" y="47.762"/><use xlink:href="#42" y="49.933"/></svg><svg x="2800"><use xlink:href="#a"/><use xlink:href="#27"/><use xlink:href="#28" y="2.171"/><use xlink:href="#29" y="6.513"/><use xlink:href="#30" y="10.855"/><use xlink:href="#31" y="13.026"/><use xlink:href="#32" y="15.197"/><use xlink:href="#33" y="17.368"/><use xlink:href="#34" y="19.539"/><use xlink:href="#35" y="21.71"/><use xlink:href="#36" y="23.881"/><use xlink:href="#37" y="26.052"/><use xlink:href="#38" y="32.565"/><use xlink:href="#39" y="34.736"/><use xlink:href="#40" y="39.078"/><use xlink:href="#41" y="43.42"/><use xlink:href="#42" y="45.591"/><use xlink:href="#43" y="49.933"/></svg><svg x="2880"><use xlink:href="#a"/><use xlink:href="#28"/><use xlink:href="#29" y="4.342"/><use xlink:href="#30" y="8.684"/><use xlink:href="#31" y="10.855"/><use xlink:href="#32" y="13.026"/><use xlink:href="#33" y="15.197"/><use xlink:href="#34" y="17.368"/><use xlink:href="#35" y="19.539"/><use xlink:href="#36" y="21.71"/><use xlink:href="#37" y="23.881"/><use xlink:href="#38" y="30.394"/><use xlink:href="#39" y="32.565"/><use xlink:href="#40" y="36.907"/><use xlink:href="#41" y="41.249"/><use xlink:href="#42" y="43.42"/><use xlink:href="#43" y="47.762"/><text y="51.603" class="f">Exit</text><text x="5.01" y="51.603" class="f">code:</text><text x="11.022" y="51.603" class="f">0</text><text x="13.026" y="51.603" class="f">(allowed)</text></svg></svg></g></g></svg></svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cc-safe-setup",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "One command to make Claude Code safe for autonomous operation. 7 hooks: destructive blocker, branch guard, force-push protection, secret leak prevention, syntax checks, and more.",
|
|
5
5
|
"main": "index.mjs",
|
|
6
6
|
"bin": {
|
|
@@ -8,12 +8,25 @@
|
|
|
8
8
|
},
|
|
9
9
|
"keywords": [
|
|
10
10
|
"claude-code",
|
|
11
|
+
"claude",
|
|
12
|
+
"anthropic",
|
|
11
13
|
"ai",
|
|
12
14
|
"safety",
|
|
13
15
|
"hooks",
|
|
14
16
|
"autonomous",
|
|
15
|
-
"cli"
|
|
17
|
+
"cli",
|
|
18
|
+
"pretooluse",
|
|
19
|
+
"guard",
|
|
20
|
+
"rm-rf",
|
|
21
|
+
"git-push",
|
|
22
|
+
"env",
|
|
23
|
+
"secrets",
|
|
24
|
+
"syntax-check",
|
|
25
|
+
"context-window"
|
|
16
26
|
],
|
|
27
|
+
"scripts": {
|
|
28
|
+
"test": "bash test.sh"
|
|
29
|
+
},
|
|
17
30
|
"author": "yurukusa",
|
|
18
31
|
"license": "MIT",
|
|
19
32
|
"repository": {
|