2026-02-01 18:15:01 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
# Block creation of random .md files - keeps docs consolidated
|
|
|
|
|
|
|
|
|
|
read -r input
|
|
|
|
|
FILE_PATH=$(echo "$input" | jq -r '.tool_input.file_path // empty')
|
|
|
|
|
|
|
|
|
|
if [[ -n "$FILE_PATH" ]]; then
|
|
|
|
|
# Allow known documentation files
|
|
|
|
|
case "$FILE_PATH" in
|
|
|
|
|
*README.md|*CLAUDE.md|*AGENTS.md|*CONTRIBUTING.md|*CHANGELOG.md|*LICENSE.md)
|
|
|
|
|
echo "$input"
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
# Allow docs/ directory
|
|
|
|
|
*/docs/*.md|*/docs/**/*.md)
|
|
|
|
|
echo "$input"
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
feat: migrate CI commands to Forge API, add hooks.json, fix prefer-core heredoc handling
- Update CI skill commands (status, fix, run, workflow) to detect Forge vs GitHub
and use Forge API with curl + FORGE_TOKEN instead of gh CLI
- Add detect-forge.sh script for CI provider detection from git remote
- Add hooks.json with PreToolUse, PostToolUse, PreCompact, SessionStart hooks
- Fix prefer-core.sh false positives: strip heredoc content before checking commands,
tighten wildcard matching for mv/cp to only block bare wildcards
- Update plugin.json: rename to "code", bump to v0.1.3, point URLs to Forge
- Update block-docs.sh with improved blocking rules
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-12 18:55:04 +00:00
|
|
|
# Allow Claude memory and plan files
|
|
|
|
|
*/.claude/*.md|*/.claude/**/*.md)
|
|
|
|
|
echo "$input"
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
# Allow plugin development (commands, skills)
|
|
|
|
|
*/commands/*.md|*/skills/*.md|*/skills/**/*.md)
|
|
|
|
|
echo "$input"
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
2026-02-01 18:15:01 +00:00
|
|
|
# Block other .md files
|
|
|
|
|
*.md)
|
|
|
|
|
echo '{"decision": "block", "message": "Use README.md or docs/ for documentation. Random .md files clutter the repo."}'
|
|
|
|
|
exit 0
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "$input"
|