auto-detect plan, complexity scoring, ctx7 cache, graphify in workflows

- detect_plan() auto-detects Max/Pro/Free from ~/.claude.json
- session-start budget adapts to plan (Max=20k, Pro=11k, Free=5k)
- token counting now uses only ACTIVE plugins, not installed binaries
- statusline shows plan label + session duration instead of start time
- plugin-advisor: complexity assessment (0-100%) drives tool selection
- plugin-advisor: auto-activation with confirmation (PHASE 4)
- ruflo OFF by default, GSD v2 preferred for multi-session
- init-project: ctx7 pre-fetch + graphify scaffold + graphify full
- ship-feature: ctx7 cache check before implementation
- frontend-design disabled in installer (doublon with ui-ux-pro-max)
- python3 -c moved from deny to ask (unblocks graphify)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
bastien
2026-04-12 14:56:22 +02:00
co-authored by Claude Opus 4.6
parent 0dac12b885
commit 66beae16b7
8 changed files with 264 additions and 93 deletions
+68 -68
View File
@@ -1,9 +1,65 @@
{
"cleanupPeriodDays": 30,
"permissions": {
"defaultMode": "default",
"disableBypassPermissionsMode": "disable",
"disableAutoMode": "disable",
"allow": [
"Bash(git status)",
"Bash(git log*)",
"Bash(git diff*)",
"Bash(git branch*)",
"Bash(git fetch*)",
"Bash(git pull*)",
"Bash(git add *)",
"Bash(git commit*)",
"Bash(git checkout *)",
"Bash(git switch *)",
"Bash(git stash)",
"Bash(git stash push*)",
"Bash(git stash list*)",
"Bash(git stash show*)",
"Bash(git tag*)",
"Bash(git show*)",
"Bash(ls *)",
"Bash(ls)",
"Bash(find *)",
"Bash(cat *)",
"Bash(head *)",
"Bash(tail *)",
"Bash(grep *)",
"Bash(rg *)",
"Bash(fd *)",
"Bash(wc *)",
"Bash(echo *)",
"Bash(pwd)",
"Bash(which *)",
"Bash(type *)",
"Bash(whoami)",
"Bash(uname *)",
"Bash(mkdir -p *)",
"Bash(touch *)",
"Bash(cp *)",
"Bash(mv *)",
"Bash(jq *)",
"Bash(yq *)",
"Bash(awk *)",
"Bash(sort *)",
"Bash(uniq *)",
"Bash(tr *)",
"Bash(cut *)",
"Bash(diff *)",
"Read(**/*.md)",
"Read(**/*.txt)",
"Read(**/*.json)",
"Read(**/*.yaml)",
"Read(**/*.yml)",
"Read(**/*.toml)",
"Read(**/*.lock)",
"Read(**/*.gitignore)",
"Read(**/*.dockerignore)",
"Read(**/.claudeignore)",
"Read(**/Makefile)",
"Read(**/Dockerfile*)",
"Read(**/docker-compose*)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(rm -rf /*)",
@@ -99,7 +155,6 @@
"Bash(cp **/.ssh/*)",
"Bash(source /dev/stdin)",
"Bash(mkfifo *)",
"Bash(python3 -c *)",
"Bash(node -e *)",
"Bash(xargs * .env*)",
"Bash(tar * .env*)",
@@ -122,71 +177,17 @@
"WebFetch",
"Bash(xargs *)",
"Bash(sed *)",
"Bash(python3 -c *)",
"Bash(git stash pop*)",
"Bash(git stash drop*)",
"Bash(git stash clear)"
],
"allow": [
"Bash(git status)",
"Bash(git log*)",
"Bash(git diff*)",
"Bash(git branch*)",
"Bash(git fetch*)",
"Bash(git pull*)",
"Bash(git add *)",
"Bash(git commit*)",
"Bash(git checkout *)",
"Bash(git switch *)",
"Bash(git stash)",
"Bash(git stash push*)",
"Bash(git stash list*)",
"Bash(git stash show*)",
"Bash(git tag*)",
"Bash(git show*)",
"Bash(ls *)",
"Bash(ls)",
"Bash(find *)",
"Bash(cat *)",
"Bash(head *)",
"Bash(tail *)",
"Bash(grep *)",
"Bash(rg *)",
"Bash(fd *)",
"Bash(wc *)",
"Bash(echo *)",
"Bash(pwd)",
"Bash(which *)",
"Bash(type *)",
"Bash(whoami)",
"Bash(uname *)",
"Bash(mkdir -p *)",
"Bash(touch *)",
"Bash(cp *)",
"Bash(mv *)",
"Bash(jq *)",
"Bash(yq *)",
"Bash(awk *)",
"Bash(sort *)",
"Bash(uniq *)",
"Bash(tr *)",
"Bash(cut *)",
"Bash(diff *)",
"Read(**/*.md)",
"Read(**/*.txt)",
"Read(**/*.json)",
"Read(**/*.yaml)",
"Read(**/*.yml)",
"Read(**/*.toml)",
"Read(**/*.lock)",
"Read(**/*.gitignore)",
"Read(**/*.dockerignore)",
"Read(**/.claudeignore)",
"Read(**/Makefile)",
"Read(**/Dockerfile*)",
"Read(**/docker-compose*)"
],
"defaultMode": "default",
"disableBypassPermissionsMode": "disable",
"disableAutoMode": "disable",
"additionalDirectories": []
},
"model": "opus",
"hooks": {
"SessionStart": [
{
@@ -210,6 +211,10 @@
}
]
},
"statusLine": {
"type": "command",
"command": "bash ~/.claude/hooks/statusline.sh"
},
"extraKnownMarketplaces": {
"claude-code-plugins": {
"source": {
@@ -229,10 +234,5 @@
"repo": "nextlevelbuilder/ui-ux-pro-max-skill"
}
}
},
"model": "opus",
"statusLine": {
"type": "command",
"command": "bash ~/.claude/hooks/statusline.sh"
}
}