cc-safe-setup 2.0.6 → 2.0.7

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 CHANGED
@@ -160,11 +160,12 @@ Or browse all available examples in [`examples/`](examples/):
160
160
  - **timeout-guard.sh** — Warn before long-running commands (npm start, rails s, docker-compose up)
161
161
  - **branch-name-check.sh** — Warn on non-conventional branch names (feature/, fix/, etc.)
162
162
  - **todo-check.sh** — Warn when committing files with TODO/FIXME/HACK markers
163
+ - **path-traversal-guard.sh** — Block Edit/Write with `../../` path traversal and system directories
163
164
 
164
165
  ## Learn More
165
166
 
166
167
  - [Official Hooks Reference](https://code.claude.com/docs/en/hooks) — Claude Code hooks documentation
167
- - [Hooks Cookbook](https://github.com/yurukusa/claude-code-hooks/blob/main/COOKBOOK.md) — 17 ready-to-use recipes from real GitHub Issues
168
+ - [Hooks Cookbook](https://github.com/yurukusa/claude-code-hooks/blob/main/COOKBOOK.md) — 18 ready-to-use recipes from real GitHub Issues
168
169
  - [Japanese guide (Qiita)](https://qiita.com/yurukusa/items/a9714b33f5d974e8f1e8) — この記事の日本語解説
169
170
  - [The incident that inspired this tool](https://github.com/anthropics/claude-code/issues/36339) — NTFS junction rm -rf
170
171
 
@@ -1,6 +1,6 @@
1
1
  # Example Hooks
2
2
 
3
- 19 hooks beyond the 8 built-in ones, organized by category.
3
+ 25 hooks beyond the 8 built-in ones, organized by category.
4
4
 
5
5
  ## Quick Start
6
6
 
@@ -61,6 +61,12 @@ if echo "$COMMAND" | grep -qiE 'DROP\s+(DATABASE|TABLE|SCHEMA)|TRUNCATE\s+TABLE|
61
61
  exit 2
62
62
  fi
63
63
 
64
+ # Symfony/Doctrine destructive commands
65
+ if echo "$COMMAND" | grep -qiE 'doctrine:(fixtures:load|schema:drop|database:drop)' && ! echo "$COMMAND" | grep -qE '\-\-append'; then
66
+ echo "BLOCKED: Destructive Doctrine command (use --append for fixtures:load)" >&2
67
+ exit 2
68
+ fi
69
+
64
70
  # Prisma destructive commands
65
71
  if echo "$COMMAND" | grep -qiE 'prisma\s+migrate\s+reset|prisma\s+db\s+push\s+--force-reset'; then
66
72
  echo "BLOCKED: Destructive Prisma database command" >&2
package/index.mjs CHANGED
@@ -79,7 +79,7 @@ if (HELP) {
79
79
  npx cc-safe-setup --verify Test each hook with sample inputs
80
80
  npx cc-safe-setup --dry-run Preview without installing
81
81
  npx cc-safe-setup --uninstall Remove all installed hooks
82
- npx cc-safe-setup --examples List 19 example hooks (5 categories)
82
+ npx cc-safe-setup --examples List 25 example hooks (5 categories)
83
83
  npx cc-safe-setup --install-example <name> Install a specific example
84
84
  npx cc-safe-setup --help Show this help
85
85
 
@@ -185,7 +185,7 @@ function status() {
185
185
  'auto-approve-git-read.sh', 'auto-approve-python.sh', 'auto-approve-ssh.sh',
186
186
  'auto-checkpoint.sh', 'auto-snapshot.sh', 'block-database-wipe.sh', 'branch-name-check.sh', 'commit-message-check.sh', 'env-var-check.sh',
187
187
  'deploy-guard.sh', 'edit-guard.sh', 'enforce-tests.sh', 'git-config-guard.sh',
188
- 'large-file-guard.sh', 'network-guard.sh', 'notify-waiting.sh',
188
+ 'large-file-guard.sh', 'network-guard.sh', 'notify-waiting.sh', 'path-traversal-guard.sh',
189
189
  'protect-dotfiles.sh', 'scope-guard.sh', 'test-before-push.sh', 'timeout-guard.sh', 'todo-check.sh',
190
190
  ];
191
191
  const installedExamples = exampleFiles.filter(f => existsSync(join(HOOKS_DIR, f)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc-safe-setup",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "description": "One command to make Claude Code safe for autonomous operation. 8 built-in hooks + 25 installable examples. Destructive blocker, branch guard, database wipe protection, dotfile guard, and more.",
5
5
  "main": "index.mjs",
6
6
  "bin": {