with one click
redsub-setup
// Initial plugin setup. Register plugins, permissions, create CLAUDE.md.
// Initial plugin setup. Register plugins, permissions, create CLAUDE.md.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | redsub-setup |
| description | Initial plugin setup. Register plugins, permissions, create CLAUDE.md. |
If ~/.claude-redsub/.setup-done exists and --force was NOT given in $ARGUMENTS, print "Already configured. Use --force to re-run." and stop.
Execute the core setup script that handles everything automatically with zero user input -- dependency check (SSOT: config/plugins.json), plugin registration (register-plugins.sh), permission registration (register-permissions.sh), CLAUDE.md creation/update (merge-template.sh), manifest creation, and completion marker in a single call:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/setup-core.sh" "${CLAUDE_PLUGIN_ROOT}" [--force if given]
Parse the JSON output. The result has this structure:
{
"status": "completed | already_configured",
"dependencies": {"total": 12, "installed": 12, "missing": []},
"permissions": {"total": 16, "registered": 16, "missing": []},
"manifest_updated": true,
"version": "X.X.X",
"claude_md": {"status": "missing | no_markers | has_markers", "template_version": "X.X.X", "template_latest": "X.X.X"}
}
If status = "already_configured": print the message and stop.
If dependencies.missing is not empty:
Use AskUserQuestion:
If user chooses install: run each missing plugin install sequentially via Bash:
claude plugin install <name>@<marketplace>
Show progress as each plugin installs. If any single install fails, log the error and continue.
If user chooses skip: continue to the next step.
If permissions.missing is not empty:
Use AskUserQuestion:
If user chooses "Show details first": print all missing patterns, then re-ask with just "Register all" / "Skip".
If user chooses "Register all", run the register script:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/register-permissions.sh" "${CLAUDE_PLUGIN_ROOT}" [missing patterns...]
Parse the JSON output. Report: "[N] permission(s) registered."
Based on claude_md.status from the JSON result:
If "missing": Create ~/.claude/CLAUDE.md from template:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/merge-template.sh" "${CLAUDE_PLUGIN_ROOT}" create
If "no_markers": Existing file without plugin markers.
Use AskUserQuestion:
If not "Skip", run the merge script with the chosen mode:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/merge-template.sh" "${CLAUDE_PLUGIN_ROOT}" append
# or: prepend
If "has_markers": Existing file with markers.
template_version = template_latest: report "CLAUDE.md already up to date (vX.X.X)" and skip.AskUserQuestion:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/merge-template.sh" "${CLAUDE_PLUGIN_ROOT}" merge
Setup complete:
- Plugins: [installed]/[total] registered (11 plugins with superpowers)
- Permissions: [registered/total] in ~/.claude/settings.json
- CLAUDE.md: [created / updated / skipped]
- Legacy rules: cleaned up
- Install manifest: updated
If there are still missing plugins (user skipped or some failed), append:
Missing plugins ([N]):
claude plugin install <name>@<marketplace>
...