Bundles state that lives OUTSIDE the xenia-rs repo so a fresh clone on
another machine can be brought up to identical configuration via
migration/setup.sh:
- claude-memory/ ~/.claude/projects/-home-fabi-RE-Project-Sylpheed/memory/
(103 files, 1.1 MB - MEMORY.md + every
project_xenia_rs_*.md from audits
addis_signext through audit-058)
- project-root/dot-claude/ <project-root>/.claude/settings.json
(Stop hook + permissions)
- project-root/ppc-manual/ <project-root>/ppc-manual/
(PowerPC reference docs, 397 files, 3.7 MB)
- project-root/run-canary.sh <project-root>/run-canary.sh
- README.md Human-readable setup checklist
- setup.sh Idempotent installer (also reclones
xenia-canary at pinned HEAD 6de80dffe)
- MANIFEST.md Per-file mapping + per-file-not-bundled
restoration recipe
Excluded from bundle (not shippable via git):
- Sylpheed ISO (7.8 GB; copyright; manual copy required)
- sylpheed.db (395 MB; regenerable from XEX via analysis tooling)
- target/ build artifacts (rebuild on target)
- audit-runs probe firehoses (.log/.stdout/.stderr ~11 GB; rerun if needed)
- audit-runs memory dumps (.bin ~4.5 GB; rerun audit-026/027/029 if needed)
- xenia-canary checkout (setup.sh reclones from
git.mc02.dev/fabi/Xenia-Canary.git at HEAD 6de80dffe)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
73 lines
1.8 KiB
JSON
73 lines
1.8 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash",
|
|
"Bash(cmake *)",
|
|
"Bash(apt-cache *)",
|
|
"Bash(cargo build *)",
|
|
"Bash(cargo clippy *)",
|
|
"Bash(cargo check *)"
|
|
],
|
|
"deny": [
|
|
"Bash(git push*)",
|
|
"Bash(git push -f*)",
|
|
"Bash(git commit --no-verify*)",
|
|
"Bash(git commit -n*)",
|
|
"Bash(git config --global*)",
|
|
"Bash(sudo)",
|
|
"Bash(sudo *)",
|
|
"Bash(su)",
|
|
"Bash(su *)",
|
|
"Bash(doas *)",
|
|
"Bash(curl *)",
|
|
"Bash(wget *)",
|
|
"Bash(ssh *)",
|
|
"Bash(scp *)",
|
|
"Bash(rsync *)",
|
|
"Bash(nc *)",
|
|
"Bash(ncat *)",
|
|
"Bash(telnet *)",
|
|
"Bash(ftp *)",
|
|
"Bash(sftp *)",
|
|
"Bash(ping *)",
|
|
"Bash(rm -rf /)",
|
|
"Bash(rm -rf /*)",
|
|
"Bash(rm -rf ~)",
|
|
"Bash(rm -rf ~/*)",
|
|
"Bash(rm -rf $HOME*)",
|
|
"Bash(rm -rf .)",
|
|
"Bash(rm -rf ..)",
|
|
"Bash(rm -rf *)",
|
|
"Bash(dd *)",
|
|
"Bash(mkfs*)",
|
|
"Bash(fdisk *)",
|
|
"Bash(parted *)",
|
|
"Bash(mount *)",
|
|
"Bash(umount *)",
|
|
"Bash(shutdown*)",
|
|
"Bash(reboot*)",
|
|
"Bash(poweroff*)",
|
|
"Bash(halt*)",
|
|
"Bash(systemctl *)",
|
|
"Bash(service *)",
|
|
"Bash(crontab *)",
|
|
"Bash(iptables *)",
|
|
"Bash(chmod -R 777 *)",
|
|
"Bash(chown -R *)"
|
|
]
|
|
},
|
|
"hooks": {
|
|
"Stop": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "n=0; for name in xenia_canary xenia-rs; do pids=$(pgrep -x \"$name\" 2>/dev/null || true); if [ -n \"$pids\" ]; then cnt=$(echo \"$pids\" | wc -l); n=$((n + cnt)); kill $pids 2>/dev/null; sleep 0.2; kill -9 $pids 2>/dev/null || true; fi; done; if [ \"$n\" -gt 0 ]; then printf '{\"systemMessage\":\"Stop hook killed %d stale xenia process(es)\"}' \"$n\"; fi",
|
|
"timeout": 5
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|