Summary - Extract proxy bootstrap implementation from bootstrap.go into internal/bootstrap/proxy.go, keeping only the Bootstrap interface in the shared file. This prepares for origin/edge servers to have their own bootstrap implementations. - Rename NewBootstrap() → NewProxyBootstrap() to follow the explicit factory naming convention. - Rebrand signature from SRSProxy to SRSX and update logger context key accordingly. - Add srs-develop skill with task router, module routing workflow, proxy unit test script, and RTMP E2E test script. - Remove st-develop skill (superseded by srs-develop). - Add srs-support eval #21 for HLS AnnexB decode error scenario. Test plan - go build ./cmd/proxy/... compiles successfully - go test ./cmd/... ./internal/... passes - E2E RTMP proxy test (proxy-e2e-test.sh) passes - Verify proxy starts and logs SRSX-Proxy/<version> started --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
44 lines
1.1 KiB
JSON
44 lines
1.1 KiB
JSON
{
|
|
"permissions": {
|
|
"allow": [
|
|
"Read",
|
|
"Glob",
|
|
"Grep",
|
|
"Bash(find:*)",
|
|
"Bash(ls:*)",
|
|
"Bash(cat:*)",
|
|
"Bash(head:*)",
|
|
"Bash(tail:*)",
|
|
"Bash(wc:*)",
|
|
"Bash(grep:*)",
|
|
"Bash(rg:*)",
|
|
"Bash(file:*)",
|
|
"Bash(stat:*)",
|
|
"Bash(tree:*)",
|
|
"Bash(du:*)",
|
|
"Bash(diff:*)",
|
|
"Bash(which:*)",
|
|
"Bash(type:*)",
|
|
"Bash(realpath:*)",
|
|
"Bash(dirname:*)",
|
|
"Bash(basename:*)",
|
|
"Bash(echo \"PID=$!\")",
|
|
"Bash(make)"
|
|
]
|
|
},
|
|
"hooks": {
|
|
"SessionStart": [
|
|
{
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "content=\"\"; for f in .claude/SOUL.md .claude/USER.md .claude/MEMORY.md .claude/IDENTITY.md .claude/TOOLS.md; do if [ -f \"$f\" ]; then content=\"$content\\n--- $f ---\\n$(cat \"$f\")\"; fi; done; jq -n --arg ctx \"$content\" '{hookSpecificOutput: {hookEventName: \"SessionStart\", additionalContext: $ctx}}'",
|
|
"timeout": 10,
|
|
"statusMessage": "Loading SOUL.md, USER.md, MEMORY.md, IDENTITY.md, TOOLS.md..."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|