- docs/knowledgebase/: progressive-disclosure KB for src/ (L1 index, 19 L2 directory pages, 11 L3 deep-dives) and EBM (8 Teile, full Allgemeine Bestimmungen text, 3173 GOP catalog entries) - assets/2026-3-ebm.pdf: source document (KBV, Stand 3/2026) - .reasonix/: hooks, skills, commands, settings - .mcp.json, reasonix.toml: MCP/permission config - .gitignore: ignore .reasonix/tasks/ runtime state
6 lines
6.1 KiB
TOML
6 lines
6.1 KiB
TOML
[permissions]
|
|
allow = ["Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && python3 -c \"import json; m=json.load(open('.gitnexus/meta.json')); print('indexedAt:', m['indexedAt']); print('lastCommit:', m['lastCommit']); print('stats:', m['stats'])\" && echo \"---REGISTRY---\" && ls -la /Users/martinrichardt/.gitnexus/ 2>&1 && ls -la /Users/martinrichardt/.gitnexus/registry.json 2>&1", "Bash=node -e '\nconst fs = require(\"fs\");\nconst regPath = \"/Users/martinrichardt/.gitnexus/registry.json\";\nconst meta = JSON.parse(fs.readFileSync(\"/Volumes/SSD2TB/work/antigravity/regelwerk/.gitnexus/meta.json\", \"utf8\"));\nconst reg = JSON.parse(fs.readFileSync(regPath, \"utf8\"));\nconst entry = reg.find(r => r.name === \"regelwerk\");\nif (!entry) { console.error(\"no regelwerk entry\"); process.exit(1); }\nentry.indexedAt = meta.indexedAt;\nentry.lastCommit = meta.lastCommit;\nentry.stats = meta.stats;\nfs.writeFileSync(regPath, JSON.stringify(reg, null, 2) + \"\\n\");\nconsole.log(\"registry updated:\", JSON.stringify(entry, null, 2));\n'", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && npx --yes gitnexus list 2>&1 | tail -8 && echo \"---META-CHECK---\" && python3 -c \"\nimport json, subprocess\nmeta = json.load(open('.gitnexus/meta.json'))\nhead = subprocess.check_output(['git','rev-parse','HEAD']).decode().strip()\nprint('lastCommit == HEAD:', meta['lastCommit'] == head)\nprint('indexedAt:', meta['indexedAt'])\nprint('stats:', meta['stats'])\n\"", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && npx --yes gitnexus status 2>&1 | tail -6 && python3 -c \"import json,subprocess; m=json.load(open('.gitnexus/meta.json')); print('lastCommit==HEAD:', m['lastCommit']==subprocess.check_output(['git','rev-parse','HEAD']).decode().strip(), '| indexedAt:', m['indexedAt'], '| files:', m['stats']['files'], '| nodes:', m['stats']['nodes'], '| edges:', m['stats']['edges'])\"", "Bash=T=$(mktemp -d /tmp/hooktest.XXXXXX) && git -C \"$T\" init -q && git -C \"$T\" commit -q --allow-empty -m init && echo \"---CLEAN-CASE---\" && printf '%s' \"{\\\"event\\\":\\\"UserPromptSubmit\\\",\\\"cwd\\\":\\\"$T\\\",\\\"prompt\\\":\\\"/resume\\\",\\\"turn\\\":2}\" | node .reasonix/hooks/dirty-repo-guard.js; echo \"exit=$?\"; rm -rf \"$T\"; echo \"---git-checkpoint dirty (regelwerk, dry semantics via status check only)---\"; printf '%s' '{\"event\":\"SessionStart\",\"cwd\":\"/Volumes/SSD2TB/work/antigravity/regelwerk\"}' | node .reasonix/hooks/git-checkpoint.js; echo \"exit=$?\"", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && git status --porcelain | head -5; echo \"stash-list:\"; git stash list | head -3; echo \"(leer erwartet)\"; T=$(mktemp -d /tmp/hooktest.XXXXXX) && git -C \"$T\" init -q && git -C \"$T\" config user.email t@t && git -C \"$T\" config user.name t && echo v1 > \"$T/a.txt\" && git -C \"$T\" add a.txt && git -C \"$T\" commit -q -m init && echo v2 > \"$T/a.txt\" && echo \"---git-checkpoint with tracked change---\" && printf '%s' \"{\\\"event\\\":\\\"SessionStart\\\",\\\"cwd\\\":\\\"$T\\\"}\" | node .reasonix/hooks/git-checkpoint.js; echo \"exit=$?\"; echo \"---status after stash---\"; git -C \"$T\" status --porcelain; echo \"---stash list---\"; git -C \"$T\" stash list | head -2; rm -rf \"$T\"", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && cmake --build build -j$(sysctl -n hw.logicalcpu) 2>&1 | tail -5", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && echo \"===GIT STATUS===\" && git status --short && echo \"===DIFF AGENTS.md / CLAUDE.md===\" && git diff -- AGENTS.md CLAUDE.md | head -60 && echo \"===FINAL DOCTOR===\" && reasonix doctor capabilities --json 2>&1 | grep -E '\"(skills|hooks|mcp_servers|issues)\"' | head -6", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && node --check .reasonix/hooks/protected-paths.js && node --check .reasonix/hooks/dirty-repo-guard.js && node --check .reasonix/hooks/git-checkpoint.js && echo \"hook-syntax: OK\"", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && node -e '\nconst fs = require(\"fs\");\nconst path = require(\"path\");\nlet ok = true;\n// 1) JSON configs\nfor (const f of [\".mcp.json\", \".reasonix/settings.json\"]) {\n try { const d = JSON.parse(fs.readFileSync(f, \"utf8\")); console.log(\"JSON ok:\", f, Object.keys(d)); }\n catch (e) { ok = false; console.error(\"JSON FAIL:\", f, e.message); }\n}\n// 2) SKILL.md frontmatter\nconst skills = fs.readdirSync(\".reasonix/skills\");\nfor (const s of skills) {\n const p = path.join(\".reasonix/skills\", s, \"SKILL.md\");\n const t = fs.readFileSync(p, \"utf8\");\n const m = /^---\\n([\\s\\S]*?)\\n---/.exec(t);\n if (!m) { ok = false; console.error(\"FRONTMATTER FAIL:\", p); continue; }\n const hasName = /^name:\\s*\\S+/m.test(m[1]);\n const hasDesc = /^description:\\s*\\S+/m.test(m[1]);\n console.log(\"skill:\", s, \"| name:\", hasName, \"| description:\", hasDesc);\n if (!hasName || !hasDesc) ok = false;\n}\nconsole.log(ok ? \"ALL STRUCTURAL CHECKS PASSED\" : \"STRUCTURAL CHECKS FAILED\");\nprocess.exit(ok ? 0 : 1);\n'", "Edit", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && printf '%s' '{\"event\":\"PreCompact\",\"cwd\":\"/Volumes/SSD2TB/work/antigravity/regelwerk\",\"trigger\":\"manual\"}' | node .reasonix/hooks/compact-hint.js && echo \"hook-exit=$?\"", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && node --check .reasonix/hooks/compact-hint.js && node -e \"const d=JSON.parse(require('fs').readFileSync('.reasonix/settings.json','utf8')); const h=d.hooks; console.log('settings.json valid; events:', Object.keys(h).join(', '), '| PreCompact entries:', h.PreCompact.length)\"", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && reasonix doctor capabilities --json 2>&1 | grep -B1 -A5 '\"PreCompact\"' | head -10; echo \"---\"; reasonix doctor capabilities --json 2>&1 | grep -E '\"hooks\": [0-9]+' | head -2", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && reasonix doctor capabilities --json 2>&1 | grep -A8 '\"commands\"' | head -20", "Bash=cd /Volumes/SSD2TB/work/antigravity/regelwerk && reasonix doctor capabilities --json 2>&1 | grep -A6 '\"entries\"' | grep -A5 'compact-hint' | head -8"]
|
|
|
|
[sandbox]
|
|
allow_write = ["${HOME}/.gitnexus"]
|