@arthai/agents 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -0
- package/VERSION +1 -0
- package/agents/ai-consultant.md +999 -0
- package/agents/architect.md +174 -0
- package/agents/code-reviewer.md +115 -0
- package/agents/competitive-analyst.md +688 -0
- package/agents/content-strategist.md +607 -0
- package/agents/design-studio-create.md +304 -0
- package/agents/design-studio-critique.md +258 -0
- package/agents/design-studio-think.md +79 -0
- package/agents/domain-hunter.md +519 -0
- package/agents/explore-light.md +52 -0
- package/agents/frontend.md +261 -0
- package/agents/gtm-expert.md +811 -0
- package/agents/meeting-prep.md +318 -0
- package/agents/ops.md +149 -0
- package/agents/product-manager.md +563 -0
- package/agents/python-backend.md +286 -0
- package/agents/qa-baseline-updater.md +45 -0
- package/agents/qa-challenger.md +97 -0
- package/agents/qa-domain.md +145 -0
- package/agents/qa-e2e.md +184 -0
- package/agents/qa-test-promoter.md +97 -0
- package/agents/qa.md +226 -0
- package/agents/setup.md +134 -0
- package/agents/sre.md +165 -0
- package/agents/stakeholder-reporter.md +94 -0
- package/agents/user-researcher.md +602 -0
- package/bin/cli.js +322 -0
- package/bundles/canvas.json +16 -0
- package/bundles/compass.json +16 -0
- package/bundles/counsel.json +31 -0
- package/bundles/cruise.json +11 -0
- package/bundles/forge.json +26 -0
- package/bundles/prime.json +10 -0
- package/bundles/prism.json +23 -0
- package/bundles/scalpel.json +17 -0
- package/bundles/sentinel.json +19 -0
- package/bundles/shield.json +14 -0
- package/bundles/spark.json +19 -0
- package/compiler.sh +305 -0
- package/dist/plugins/canvas/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/canvas/agents/design-studio-create.md +304 -0
- package/dist/plugins/canvas/agents/design-studio-critique.md +258 -0
- package/dist/plugins/canvas/agents/design-studio-think.md +79 -0
- package/dist/plugins/canvas/agents/frontend.md +261 -0
- package/dist/plugins/canvas/skills/planning/SKILL.md +436 -0
- package/dist/plugins/compass/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/compass/agents/content-strategist.md +607 -0
- package/dist/plugins/compass/agents/gtm-expert.md +811 -0
- package/dist/plugins/compass/agents/product-manager.md +563 -0
- package/dist/plugins/compass/agents/user-researcher.md +602 -0
- package/dist/plugins/compass/skills/planning/SKILL.md +436 -0
- package/dist/plugins/counsel/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/counsel/agents/ai-consultant.md +999 -0
- package/dist/plugins/counsel/agents/competitive-analyst.md +688 -0
- package/dist/plugins/counsel/agents/meeting-prep.md +318 -0
- package/dist/plugins/counsel/agents/stakeholder-reporter.md +94 -0
- package/dist/plugins/counsel/hooks/check-deliverable.sh +65 -0
- package/dist/plugins/counsel/hooks/ensure-client-dir.sh +59 -0
- package/dist/plugins/counsel/hooks/hooks.json +28 -0
- package/dist/plugins/counsel/skills/client-discovery/SKILL.md +266 -0
- package/dist/plugins/counsel/skills/consulting/SKILL.md +282 -0
- package/dist/plugins/counsel/skills/deliverable-builder/SKILL.md +928 -0
- package/dist/plugins/counsel/skills/engagement-tracker/SKILL.md +380 -0
- package/dist/plugins/counsel/skills/market-research/SKILL.md +300 -0
- package/dist/plugins/counsel/skills/opportunity-map/SKILL.md +307 -0
- package/dist/plugins/counsel/skills/pitch-generator/SKILL.md +378 -0
- package/dist/plugins/counsel/skills/roi-calculator/SKILL.md +469 -0
- package/dist/plugins/counsel/skills/share/SKILL.md +211 -0
- package/dist/plugins/counsel/skills/solution-architect/SKILL.md +566 -0
- package/dist/plugins/counsel/skills/templates/SKILL.md +194 -0
- package/dist/plugins/counsel/skills/welcome/SKILL.md +136 -0
- package/dist/plugins/counsel/skills/wizard/SKILL.md +411 -0
- package/dist/plugins/cruise/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/cruise/skills/autopilot/SKILL.md +425 -0
- package/dist/plugins/forge/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/forge/agents/architect.md +174 -0
- package/dist/plugins/forge/agents/code-reviewer.md +115 -0
- package/dist/plugins/forge/agents/frontend.md +261 -0
- package/dist/plugins/forge/agents/product-manager.md +563 -0
- package/dist/plugins/forge/agents/python-backend.md +286 -0
- package/dist/plugins/forge/agents/qa.md +226 -0
- package/dist/plugins/forge/hooks/hooks.json +28 -0
- package/dist/plugins/forge/hooks/post-test-summary.sh +115 -0
- package/dist/plugins/forge/hooks/triage-router.sh +740 -0
- package/dist/plugins/forge/skills/implement/SKILL.md +532 -0
- package/dist/plugins/forge/skills/planning/SKILL.md +436 -0
- package/dist/plugins/forge/skills/pr/SKILL.md +275 -0
- package/dist/plugins/forge/skills/precheck/SKILL.md +159 -0
- package/dist/plugins/forge/skills/qa/SKILL.md +127 -0
- package/dist/plugins/forge/skills/review-pr/SKILL.md +367 -0
- package/dist/plugins/prime/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/prime/agents/ai-consultant.md +999 -0
- package/dist/plugins/prime/agents/architect.md +174 -0
- package/dist/plugins/prime/agents/code-reviewer.md +115 -0
- package/dist/plugins/prime/agents/competitive-analyst.md +688 -0
- package/dist/plugins/prime/agents/content-strategist.md +607 -0
- package/dist/plugins/prime/agents/design-studio-create.md +304 -0
- package/dist/plugins/prime/agents/design-studio-critique.md +258 -0
- package/dist/plugins/prime/agents/design-studio-think.md +79 -0
- package/dist/plugins/prime/agents/explore-light.md +52 -0
- package/dist/plugins/prime/agents/frontend.md +261 -0
- package/dist/plugins/prime/agents/gtm-expert.md +811 -0
- package/dist/plugins/prime/agents/meeting-prep.md +318 -0
- package/dist/plugins/prime/agents/ops.md +149 -0
- package/dist/plugins/prime/agents/product-manager.md +563 -0
- package/dist/plugins/prime/agents/python-backend.md +286 -0
- package/dist/plugins/prime/agents/qa-baseline-updater.md +45 -0
- package/dist/plugins/prime/agents/qa-challenger.md +97 -0
- package/dist/plugins/prime/agents/qa-domain.md +145 -0
- package/dist/plugins/prime/agents/qa-e2e.md +184 -0
- package/dist/plugins/prime/agents/qa-test-promoter.md +97 -0
- package/dist/plugins/prime/agents/qa.md +226 -0
- package/dist/plugins/prime/agents/setup.md +134 -0
- package/dist/plugins/prime/agents/sre.md +165 -0
- package/dist/plugins/prime/agents/stakeholder-reporter.md +94 -0
- package/dist/plugins/prime/agents/user-researcher.md +602 -0
- package/dist/plugins/prime/hooks/check-deliverable.sh +65 -0
- package/dist/plugins/prime/hooks/ensure-client-dir.sh +59 -0
- package/dist/plugins/prime/hooks/hooks.json +184 -0
- package/dist/plugins/prime/hooks/post-deploy-health.sh +83 -0
- package/dist/plugins/prime/hooks/post-diff-test-compare.sh +125 -0
- package/dist/plugins/prime/hooks/post-edit-lint.sh +92 -0
- package/dist/plugins/prime/hooks/post-git-state.sh +54 -0
- package/dist/plugins/prime/hooks/post-merge-cleanup.sh +101 -0
- package/dist/plugins/prime/hooks/post-test-summary.sh +115 -0
- package/dist/plugins/prime/hooks/pre-bash-guard.sh +142 -0
- package/dist/plugins/prime/hooks/pre-edit-guard.sh +121 -0
- package/dist/plugins/prime/hooks/pre-task-context.sh +113 -0
- package/dist/plugins/prime/hooks/session-bootstrap.sh +379 -0
- package/dist/plugins/prime/hooks/session-end.sh +107 -0
- package/dist/plugins/prime/hooks/session-summary.sh +97 -0
- package/dist/plugins/prime/hooks/sync-agents.sh +269 -0
- package/dist/plugins/prime/hooks/triage-router.sh +740 -0
- package/dist/plugins/prime/skills/arth/SKILL.md +165 -0
- package/dist/plugins/prime/skills/autopilot/SKILL.md +425 -0
- package/dist/plugins/prime/skills/calibrate/SKILL.md +1807 -0
- package/dist/plugins/prime/skills/ci-fix/SKILL.md +293 -0
- package/dist/plugins/prime/skills/client-discovery/SKILL.md +266 -0
- package/dist/plugins/prime/skills/consulting/SKILL.md +282 -0
- package/dist/plugins/prime/skills/custom-domain/SKILL.md +261 -0
- package/dist/plugins/prime/skills/deliverable-builder/SKILL.md +928 -0
- package/dist/plugins/prime/skills/discord-ops/SKILL.md +125 -0
- package/dist/plugins/prime/skills/engagement-tracker/SKILL.md +380 -0
- package/dist/plugins/prime/skills/explore.md +43 -0
- package/dist/plugins/prime/skills/fix/SKILL.md +1058 -0
- package/dist/plugins/prime/skills/implement/SKILL.md +532 -0
- package/dist/plugins/prime/skills/incident/SKILL.md +910 -0
- package/dist/plugins/prime/skills/issue/SKILL.md +134 -0
- package/dist/plugins/prime/skills/market-research/SKILL.md +300 -0
- package/dist/plugins/prime/skills/onboard/SKILL.md +344 -0
- package/dist/plugins/prime/skills/opportunity-map/SKILL.md +307 -0
- package/dist/plugins/prime/skills/pitch-generator/SKILL.md +378 -0
- package/dist/plugins/prime/skills/planning/SKILL.md +436 -0
- package/dist/plugins/prime/skills/pr/SKILL.md +275 -0
- package/dist/plugins/prime/skills/precheck/SKILL.md +159 -0
- package/dist/plugins/prime/skills/qa/SKILL.md +127 -0
- package/dist/plugins/prime/skills/qa-incident/SKILL.md +54 -0
- package/dist/plugins/prime/skills/qa-learn/SKILL.md +47 -0
- package/dist/plugins/prime/skills/restart/SKILL.md +70 -0
- package/dist/plugins/prime/skills/review-pr/SKILL.md +367 -0
- package/dist/plugins/prime/skills/roi-calculator/SKILL.md +469 -0
- package/dist/plugins/prime/skills/scan/SKILL.md +232 -0
- package/dist/plugins/prime/skills/setup/SKILL.md +691 -0
- package/dist/plugins/prime/skills/share/SKILL.md +211 -0
- package/dist/plugins/prime/skills/solution-architect/SKILL.md +566 -0
- package/dist/plugins/prime/skills/sre/SKILL.md +362 -0
- package/dist/plugins/prime/skills/sync/SKILL.md +188 -0
- package/dist/plugins/prime/skills/templates/SKILL.md +194 -0
- package/dist/plugins/prime/skills/welcome/SKILL.md +136 -0
- package/dist/plugins/prime/skills/wizard/SKILL.md +411 -0
- package/dist/plugins/prism/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/prism/agents/qa-baseline-updater.md +45 -0
- package/dist/plugins/prism/agents/qa-challenger.md +97 -0
- package/dist/plugins/prism/agents/qa-domain.md +145 -0
- package/dist/plugins/prism/agents/qa-e2e.md +184 -0
- package/dist/plugins/prism/agents/qa-test-promoter.md +97 -0
- package/dist/plugins/prism/agents/qa.md +226 -0
- package/dist/plugins/prism/hooks/hooks.json +26 -0
- package/dist/plugins/prism/hooks/post-diff-test-compare.sh +125 -0
- package/dist/plugins/prism/hooks/post-test-summary.sh +115 -0
- package/dist/plugins/prism/skills/qa/SKILL.md +127 -0
- package/dist/plugins/prism/skills/qa-incident/SKILL.md +54 -0
- package/dist/plugins/prism/skills/qa-learn/SKILL.md +47 -0
- package/dist/plugins/scalpel/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/scalpel/agents/code-reviewer.md +115 -0
- package/dist/plugins/scalpel/hooks/hooks.json +26 -0
- package/dist/plugins/scalpel/hooks/pre-edit-guard.sh +121 -0
- package/dist/plugins/scalpel/skills/ci-fix/SKILL.md +293 -0
- package/dist/plugins/scalpel/skills/fix/SKILL.md +1058 -0
- package/dist/plugins/scalpel/skills/issue/SKILL.md +134 -0
- package/dist/plugins/sentinel/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/sentinel/agents/ops.md +149 -0
- package/dist/plugins/sentinel/agents/sre.md +165 -0
- package/dist/plugins/sentinel/hooks/hooks.json +26 -0
- package/dist/plugins/sentinel/hooks/post-deploy-health.sh +83 -0
- package/dist/plugins/sentinel/hooks/post-git-state.sh +54 -0
- package/dist/plugins/sentinel/skills/incident/SKILL.md +910 -0
- package/dist/plugins/sentinel/skills/restart/SKILL.md +70 -0
- package/dist/plugins/sentinel/skills/sre/SKILL.md +362 -0
- package/dist/plugins/shield/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/shield/hooks/hooks.json +60 -0
- package/dist/plugins/shield/hooks/pre-bash-guard.sh +142 -0
- package/dist/plugins/shield/hooks/pre-edit-guard.sh +121 -0
- package/dist/plugins/shield/hooks/session-bootstrap.sh +379 -0
- package/dist/plugins/shield/hooks/triage-router.sh +740 -0
- package/dist/plugins/spark/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/spark/agents/explore-light.md +52 -0
- package/dist/plugins/spark/agents/setup.md +134 -0
- package/dist/plugins/spark/hooks/hooks.json +16 -0
- package/dist/plugins/spark/hooks/session-bootstrap.sh +379 -0
- package/dist/plugins/spark/skills/calibrate/SKILL.md +1807 -0
- package/dist/plugins/spark/skills/onboard/SKILL.md +344 -0
- package/dist/plugins/spark/skills/scan/SKILL.md +232 -0
- package/dist/plugins/spark/skills/setup/SKILL.md +691 -0
- package/hook-defs.json +104 -0
- package/hooks/check-deliverable.sh +65 -0
- package/hooks/ensure-client-dir.sh +59 -0
- package/hooks/hooks.json +16 -0
- package/hooks/post-deploy-health.sh +83 -0
- package/hooks/post-diff-test-compare.sh +125 -0
- package/hooks/post-edit-lint.sh +92 -0
- package/hooks/post-git-state.sh +54 -0
- package/hooks/post-merge-cleanup.sh +101 -0
- package/hooks/post-test-summary.sh +115 -0
- package/hooks/pre-bash-guard.sh +142 -0
- package/hooks/pre-edit-guard.sh +121 -0
- package/hooks/pre-task-context.sh +113 -0
- package/hooks/session-bootstrap.sh +379 -0
- package/hooks/session-end.sh +107 -0
- package/hooks/session-start.sh +46 -0
- package/hooks/session-summary.sh +97 -0
- package/hooks/sync-agents.sh +269 -0
- package/hooks/triage-router.sh +740 -0
- package/install.sh +3185 -0
- package/package.json +40 -0
- package/portable.manifest +112 -0
- package/skills/arth/SKILL.md +165 -0
- package/skills/autopilot/SKILL.md +425 -0
- package/skills/calibrate/SKILL.md +1807 -0
- package/skills/ci-fix/SKILL.md +293 -0
- package/skills/client-discovery/SKILL.md +266 -0
- package/skills/consulting/SKILL.md +282 -0
- package/skills/continue/SKILL.md +174 -0
- package/skills/custom-domain/SKILL.md +261 -0
- package/skills/deliverable-builder/SKILL.md +928 -0
- package/skills/discord-ops/SKILL.md +125 -0
- package/skills/engagement-tracker/SKILL.md +380 -0
- package/skills/explore.md +43 -0
- package/skills/fix/SKILL.md +1058 -0
- package/skills/implement/SKILL.md +532 -0
- package/skills/incident/SKILL.md +910 -0
- package/skills/issue/SKILL.md +134 -0
- package/skills/market-research/SKILL.md +300 -0
- package/skills/onboard/SKILL.md +344 -0
- package/skills/opportunity-map/SKILL.md +307 -0
- package/skills/pitch-generator/SKILL.md +378 -0
- package/skills/planning/SKILL.md +436 -0
- package/skills/pr/SKILL.md +275 -0
- package/skills/precheck/SKILL.md +159 -0
- package/skills/qa/SKILL.md +127 -0
- package/skills/qa-incident/SKILL.md +54 -0
- package/skills/qa-learn/SKILL.md +47 -0
- package/skills/railway/central-station/SKILL.md +226 -0
- package/skills/railway/central-station/references/environment-config.md +183 -0
- package/skills/railway/central-station/references/monorepo.md +216 -0
- package/skills/railway/central-station/references/railpack.md +257 -0
- package/skills/railway/central-station/references/variables.md +170 -0
- package/skills/railway/database/SKILL.md +284 -0
- package/skills/railway/database/references/environment-config.md +183 -0
- package/skills/railway/database/references/monorepo.md +216 -0
- package/skills/railway/database/references/railpack.md +257 -0
- package/skills/railway/database/references/variables.md +170 -0
- package/skills/railway/database/scripts/railway-api.sh +41 -0
- package/skills/railway/deploy/SKILL.md +128 -0
- package/skills/railway/deploy/references/environment-config.md +183 -0
- package/skills/railway/deploy/references/monorepo.md +216 -0
- package/skills/railway/deploy/references/railpack.md +257 -0
- package/skills/railway/deploy/references/variables.md +170 -0
- package/skills/railway/deployment/SKILL.md +222 -0
- package/skills/railway/deployment/references/environment-config.md +183 -0
- package/skills/railway/deployment/references/monorepo.md +216 -0
- package/skills/railway/deployment/references/railpack.md +257 -0
- package/skills/railway/deployment/references/variables.md +170 -0
- package/skills/railway/domain/SKILL.md +137 -0
- package/skills/railway/domain/references/environment-config.md +183 -0
- package/skills/railway/domain/references/monorepo.md +216 -0
- package/skills/railway/domain/references/railpack.md +257 -0
- package/skills/railway/domain/references/variables.md +170 -0
- package/skills/railway/environment/SKILL.md +266 -0
- package/skills/railway/environment/references/environment-config.md +183 -0
- package/skills/railway/environment/references/monorepo.md +216 -0
- package/skills/railway/environment/references/railpack.md +257 -0
- package/skills/railway/environment/references/variables.md +170 -0
- package/skills/railway/metrics/SKILL.md +211 -0
- package/skills/railway/metrics/references/environment-config.md +183 -0
- package/skills/railway/metrics/references/monorepo.md +216 -0
- package/skills/railway/metrics/references/railpack.md +257 -0
- package/skills/railway/metrics/references/variables.md +170 -0
- package/skills/railway/metrics/scripts/railway-api.sh +41 -0
- package/skills/railway/new/SKILL.md +489 -0
- package/skills/railway/new/references/environment-config.md +183 -0
- package/skills/railway/new/references/monorepo.md +216 -0
- package/skills/railway/new/references/railpack.md +257 -0
- package/skills/railway/new/references/variables.md +170 -0
- package/skills/railway/projects/SKILL.md +142 -0
- package/skills/railway/projects/references/environment-config.md +183 -0
- package/skills/railway/projects/references/monorepo.md +216 -0
- package/skills/railway/projects/references/railpack.md +257 -0
- package/skills/railway/projects/references/variables.md +170 -0
- package/skills/railway/projects/scripts/railway-api.sh +41 -0
- package/skills/railway/railway-docs/SKILL.md +47 -0
- package/skills/railway/railway-docs/references/environment-config.md +183 -0
- package/skills/railway/railway-docs/references/monorepo.md +216 -0
- package/skills/railway/railway-docs/references/railpack.md +257 -0
- package/skills/railway/railway-docs/references/variables.md +170 -0
- package/skills/railway/service/SKILL.md +249 -0
- package/skills/railway/service/references/environment-config.md +183 -0
- package/skills/railway/service/references/monorepo.md +216 -0
- package/skills/railway/service/references/railpack.md +257 -0
- package/skills/railway/service/references/variables.md +170 -0
- package/skills/railway/service/scripts/railway-api.sh +41 -0
- package/skills/railway/status/SKILL.md +91 -0
- package/skills/railway/status/references/environment-config.md +183 -0
- package/skills/railway/status/references/monorepo.md +216 -0
- package/skills/railway/status/references/railpack.md +257 -0
- package/skills/railway/status/references/variables.md +170 -0
- package/skills/railway/templates/SKILL.md +275 -0
- package/skills/railway/templates/references/environment-config.md +183 -0
- package/skills/railway/templates/references/monorepo.md +216 -0
- package/skills/railway/templates/references/railpack.md +257 -0
- package/skills/railway/templates/references/variables.md +170 -0
- package/skills/railway/templates/scripts/railway-api.sh +41 -0
- package/skills/restart/SKILL.md +70 -0
- package/skills/review-pr/SKILL.md +367 -0
- package/skills/roi-calculator/SKILL.md +469 -0
- package/skills/scan/SKILL.md +232 -0
- package/skills/setup/SKILL.md +691 -0
- package/skills/share/SKILL.md +211 -0
- package/skills/solution-architect/SKILL.md +566 -0
- package/skills/sre/SKILL.md +362 -0
- package/skills/superpowers/brainstorming/SKILL.md +96 -0
- package/skills/superpowers/dispatching-parallel-agents/SKILL.md +180 -0
- package/skills/superpowers/executing-plans/SKILL.md +84 -0
- package/skills/superpowers/finishing-a-development-branch/SKILL.md +200 -0
- package/skills/superpowers/receiving-code-review/SKILL.md +213 -0
- package/skills/superpowers/requesting-code-review/SKILL.md +105 -0
- package/skills/superpowers/requesting-code-review/code-reviewer.md +146 -0
- package/skills/superpowers/subagent-driven-development/SKILL.md +242 -0
- package/skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
- package/skills/superpowers/subagent-driven-development/implementer-prompt.md +78 -0
- package/skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
- package/skills/superpowers/systematic-debugging/SKILL.md +296 -0
- package/skills/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
- package/skills/superpowers/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/superpowers/systematic-debugging/find-polluter.sh +63 -0
- package/skills/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/superpowers/systematic-debugging/test-academic.md +14 -0
- package/skills/superpowers/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/superpowers/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/superpowers/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/superpowers/test-driven-development/SKILL.md +371 -0
- package/skills/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
- package/skills/superpowers/using-git-worktrees/SKILL.md +218 -0
- package/skills/superpowers/using-superpowers/SKILL.md +95 -0
- package/skills/superpowers/verification-before-completion/SKILL.md +139 -0
- package/skills/superpowers/writing-plans/SKILL.md +116 -0
- package/skills/superpowers/writing-skills/SKILL.md +655 -0
- package/skills/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
- package/skills/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/superpowers/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/superpowers/writing-skills/persuasion-principles.md +187 -0
- package/skills/superpowers/writing-skills/render-graphs.js +168 -0
- package/skills/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
- package/skills/sync/SKILL.md +188 -0
- package/skills/templates/SKILL.md +194 -0
- package/skills/welcome/SKILL.md +136 -0
- package/skills/wizard/SKILL.md +411 -0
- package/templates/CLAUDE.md.managed-block +123 -0
- package/templates/CLAUDE.md.template +111 -0
- package/templates/consulting/engagement-tracker-template.md +181 -0
- package/templates/consulting/executive-summary-template.md +83 -0
- package/templates/consulting/maturity-assessment-template.md +182 -0
- package/templates/consulting/proposal-template.md +209 -0
- package/templates/consulting/roi-model-template.md +139 -0
- package/templates/consulting/solution-architecture-template.md +313 -0
- package/templates/settings.json +130 -0
|
@@ -0,0 +1,691 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup
|
|
3
|
+
description: "Bootstrap any project from empty repo to deployed app. Modular — run full or target a module. Usage: /setup <module>"
|
|
4
|
+
user-invocable: true
|
|
5
|
+
arguments: "<module>"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /setup — Project Bootstrap
|
|
9
|
+
|
|
10
|
+
Universal project setup — from fresh repo to deployed app. Modular design:
|
|
11
|
+
run the full sequence or target a single module. Adapts to any stack by
|
|
12
|
+
discovering the project from CLAUDE.md, package files, and docker-compose.
|
|
13
|
+
|
|
14
|
+
Every module is idempotent: re-run safely to fix or verify.
|
|
15
|
+
|
|
16
|
+
## Argument Parsing
|
|
17
|
+
|
|
18
|
+
| Input | Action |
|
|
19
|
+
|-------|--------|
|
|
20
|
+
| `/setup` | Full interactive setup — detect what's needed, skip what's done |
|
|
21
|
+
| `/setup status` | Show readiness table across all modules |
|
|
22
|
+
| `/setup prerequisites` | System requirements + account creation |
|
|
23
|
+
| `/setup repo` | Git + project structure |
|
|
24
|
+
| `/setup deps` | Dependencies (venv, npm, cargo, etc.) |
|
|
25
|
+
| `/setup infra` | Docker services (DB, cache, queue) |
|
|
26
|
+
| `/setup database` | Migrations + seed data |
|
|
27
|
+
| `/setup credentials` | API keys + env files |
|
|
28
|
+
| `/setup profiles` | Bot/service identity + social presence |
|
|
29
|
+
| `/setup verify-local` | Start app + smoke tests |
|
|
30
|
+
| `/setup claude-agents` | Toolkit + CLAUDE.md |
|
|
31
|
+
| `/setup arth` | Arth dashboard registration |
|
|
32
|
+
| `/setup ci` | GitHub Actions workflow |
|
|
33
|
+
| `/setup discord` | Discord server + bot + webhooks + ChatOps |
|
|
34
|
+
| `/setup secrets-sync` | Push secrets to GitHub + cloud provider |
|
|
35
|
+
| `/setup deploy` | Cloud deployment (Railway, Vercel, AWS, etc.) |
|
|
36
|
+
| `/setup verify-prod` | Production smoke tests |
|
|
37
|
+
| `/setup monitoring` | Sentry / error tracking |
|
|
38
|
+
|
|
39
|
+
## Project Context Discovery
|
|
40
|
+
|
|
41
|
+
Before running any module, detect the project's stack:
|
|
42
|
+
|
|
43
|
+
1. **Read CLAUDE.md** for tech stack, services, ports, test commands
|
|
44
|
+
2. **Scan project files** if CLAUDE.md is incomplete:
|
|
45
|
+
|
|
46
|
+
| File | Detects |
|
|
47
|
+
|------|---------|
|
|
48
|
+
| `package.json` | Node/frontend framework (Next.js, Vite, React) |
|
|
49
|
+
| `requirements.txt` / `pyproject.toml` | Python framework (FastAPI, Django, Flask) |
|
|
50
|
+
| `go.mod` | Go backend |
|
|
51
|
+
| `Cargo.toml` | Rust backend |
|
|
52
|
+
| `docker-compose.yml` | Infrastructure services (DB, Redis, etc.) |
|
|
53
|
+
| `.env.example` / `.env.local` / `.env` | Required credentials |
|
|
54
|
+
| `alembic/` / `prisma/` / `migrations/` | Migration tool |
|
|
55
|
+
| `Dockerfile` / `Procfile` / `railway.json` | Deploy target |
|
|
56
|
+
| `backend/` + `frontend/` | Full-stack layout |
|
|
57
|
+
| `.claude/plans/` | Existing project plans with architecture |
|
|
58
|
+
|
|
59
|
+
3. **Determine env file convention**: Check config/settings for `env_file` path.
|
|
60
|
+
Common patterns: `.env`, `.env.local`, `backend/.env`, `.env.development`
|
|
61
|
+
|
|
62
|
+
## Module Overview
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
0. Prerequisites ─── accounts + software
|
|
66
|
+
1. Repo Structure ── git init + .gitignore + scaffolding
|
|
67
|
+
2. Dependencies ──── language-specific package install
|
|
68
|
+
3. Infrastructure ── Docker (DB + cache + queue)
|
|
69
|
+
4. Database ──────── migrations + seed data
|
|
70
|
+
5. Credentials ───── API keys + env files
|
|
71
|
+
6. Profiles ──────── Bot/service identity (if applicable)
|
|
72
|
+
7. Local Verify ──── start app + smoke tests
|
|
73
|
+
8. Claude Agents ─── toolkit + CLAUDE.md
|
|
74
|
+
9. Arth ──────────── dashboard registration
|
|
75
|
+
10. GitHub CI ─────── lint + test on every PR
|
|
76
|
+
11. Discord ───────── notifications + ChatOps
|
|
77
|
+
12. Secrets Sync ──── push to GitHub + cloud
|
|
78
|
+
13. Deploy ────────── cloud deployment
|
|
79
|
+
14. Prod Verify ───── health + smoke tests
|
|
80
|
+
15. Monitoring ────── error tracking (optional)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
For `/setup` (full), walk through each module in order, skipping any already complete.
|
|
84
|
+
For `/setup <module>`, jump directly to that module.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Module 0: Prerequisites
|
|
89
|
+
|
|
90
|
+
Detect what's needed from the project stack, then check + guide.
|
|
91
|
+
|
|
92
|
+
### Software Detection
|
|
93
|
+
|
|
94
|
+
| If project has... | Require |
|
|
95
|
+
|-------------------|---------|
|
|
96
|
+
| `requirements.txt` | Python 3.11+ (`python3.11 --version`) |
|
|
97
|
+
| `package.json` | Node 20+ (`node --version`) |
|
|
98
|
+
| `go.mod` | Go 1.21+ (`go version`) |
|
|
99
|
+
| `Cargo.toml` | Rust (`rustc --version`) |
|
|
100
|
+
| `docker-compose.yml` | Docker (`docker --version`) |
|
|
101
|
+
| Any git repo | Git (`git --version`) |
|
|
102
|
+
| GitHub remote | GitHub CLI (`gh --version`) |
|
|
103
|
+
| Railway deploy target | Railway CLI (`railway --version`) |
|
|
104
|
+
|
|
105
|
+
### Account Detection
|
|
106
|
+
|
|
107
|
+
Scan `.env.example` or config/settings for required services:
|
|
108
|
+
|
|
109
|
+
| Env var pattern | Account needed | URL |
|
|
110
|
+
|----------------|---------------|-----|
|
|
111
|
+
| `ANTHROPIC_API_KEY` | Anthropic | console.anthropic.com |
|
|
112
|
+
| `OPENAI_API_KEY` | OpenAI | platform.openai.com |
|
|
113
|
+
| `X_BEARER_TOKEN` / `TWITTER_*` | X/Twitter Developer | developer.x.com |
|
|
114
|
+
| `TELEGRAM_BOT_TOKEN` | Telegram (@BotFather) | telegram.org |
|
|
115
|
+
| `STYTCH_*` | Stytch | stytch.com |
|
|
116
|
+
| `LIVEKIT_*` | LiveKit | cloud.livekit.io |
|
|
117
|
+
| `DEEPGRAM_API_KEY` | Deepgram | console.deepgram.com |
|
|
118
|
+
| `STRIPE_*` | Stripe | dashboard.stripe.com |
|
|
119
|
+
| `SENTRY_DSN` | Sentry | sentry.io |
|
|
120
|
+
| `DISCORD_*` | Discord | discord.com |
|
|
121
|
+
| `RAILWAY_TOKEN` | Railway | railway.app |
|
|
122
|
+
|
|
123
|
+
Show status table of what's installed/missing.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Module 1: Repo Structure
|
|
128
|
+
|
|
129
|
+
**Check:** `.git/` exists, `.gitignore` covers secrets and build artifacts.
|
|
130
|
+
|
|
131
|
+
**Actions:**
|
|
132
|
+
```bash
|
|
133
|
+
git init # if no .git/
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Standard .gitignore entries** (append if missing):
|
|
137
|
+
```
|
|
138
|
+
.env .env.local .env.*.local
|
|
139
|
+
__pycache__/ *.pyc .pytest_cache/
|
|
140
|
+
node_modules/ .next/ dist/ build/
|
|
141
|
+
.venv/ venv/
|
|
142
|
+
*.db *.sqlite3
|
|
143
|
+
.DS_Store
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Scaffolding** — detect from CLAUDE.md or project plan, or ask user:
|
|
147
|
+
|
|
148
|
+
| Stack | Structure |
|
|
149
|
+
|-------|-----------|
|
|
150
|
+
| FastAPI | `backend/app/{core,models,services,workers,api}/`, `backend/tests/`, `backend/alembic/` |
|
|
151
|
+
| Django | `backend/<app>/{models,views,serializers,tests}/` |
|
|
152
|
+
| Next.js | `frontend/src/{app,components,lib}/` |
|
|
153
|
+
| Full-stack | both + `docker-compose.yml` |
|
|
154
|
+
| Go | `cmd/`, `internal/`, `pkg/` |
|
|
155
|
+
| Rust | `src/`, `tests/` |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Module 2: Dependencies
|
|
160
|
+
|
|
161
|
+
Detect stack and install:
|
|
162
|
+
|
|
163
|
+
### Python
|
|
164
|
+
```bash
|
|
165
|
+
cd backend && python3.11 -m venv .venv && source .venv/bin/activate
|
|
166
|
+
pip install -r requirements.txt
|
|
167
|
+
pip install greenlet 2>/dev/null # often missing, needed by SQLAlchemy async
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Node
|
|
171
|
+
```bash
|
|
172
|
+
cd frontend && npm install
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Go
|
|
176
|
+
```bash
|
|
177
|
+
go mod download
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Rust
|
|
181
|
+
```bash
|
|
182
|
+
cargo build
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### ML Models
|
|
186
|
+
|
|
187
|
+
If `requirements.txt` contains ML packages, pre-download models:
|
|
188
|
+
|
|
189
|
+
| Package | Model to pre-download |
|
|
190
|
+
|---------|----------------------|
|
|
191
|
+
| `sentence-transformers` | `python3 -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('<model-name>')"` |
|
|
192
|
+
| `fasttext-langdetect` | `python3 -c "from ftlangdetect import detect; detect('hello')"` |
|
|
193
|
+
| `transformers` | Check code for `from_pretrained()` calls |
|
|
194
|
+
|
|
195
|
+
### Validate
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
# Python
|
|
199
|
+
source backend/.venv/bin/activate && python3 -c "import app; print('OK')"
|
|
200
|
+
# Node
|
|
201
|
+
cd frontend && npm run build
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Module 3: Infrastructure (Docker)
|
|
207
|
+
|
|
208
|
+
**Check:** `docker-compose.yml` exists, services are running.
|
|
209
|
+
|
|
210
|
+
Detect services from docker-compose.yml and verify each:
|
|
211
|
+
|
|
212
|
+
| Service | Health Check |
|
|
213
|
+
|---------|-------------|
|
|
214
|
+
| PostgreSQL | `docker compose exec <svc> pg_isready` |
|
|
215
|
+
| Redis | `docker compose exec <svc> redis-cli ping` |
|
|
216
|
+
| MySQL | `docker compose exec <svc> mysqladmin ping` |
|
|
217
|
+
| MongoDB | `docker compose exec <svc> mongosh --eval "db.adminCommand('ping')"` |
|
|
218
|
+
|
|
219
|
+
**Start:**
|
|
220
|
+
```bash
|
|
221
|
+
docker compose up -d && docker compose ps
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Module 4: Database Setup
|
|
227
|
+
|
|
228
|
+
Detect migration tool and run:
|
|
229
|
+
|
|
230
|
+
| Tool | Detect | Run |
|
|
231
|
+
|------|--------|-----|
|
|
232
|
+
| Alembic | `alembic/` dir | `alembic upgrade head` |
|
|
233
|
+
| Prisma | `prisma/` dir | `npx prisma migrate deploy` |
|
|
234
|
+
| Django | `manage.py` | `python manage.py migrate` |
|
|
235
|
+
| Knex | `knexfile.*` | `npx knex migrate:latest` |
|
|
236
|
+
| Drizzle | `drizzle/` dir | `npx drizzle-kit push` |
|
|
237
|
+
|
|
238
|
+
**Seed data:** Look for seed scripts:
|
|
239
|
+
- `scripts/seed*.py` → `python -m scripts.<name>`
|
|
240
|
+
- `prisma/seed.ts` → `npx prisma db seed`
|
|
241
|
+
- `manage.py` → `python manage.py loaddata`
|
|
242
|
+
- `seeds/` directory
|
|
243
|
+
|
|
244
|
+
**Verify:** Query row counts on key tables.
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Module 5: Credentials
|
|
249
|
+
|
|
250
|
+
### Workflow
|
|
251
|
+
|
|
252
|
+
1. Detect env file convention from project config/settings
|
|
253
|
+
2. Create from template: `cp -n .env.example <env-file>`
|
|
254
|
+
3. Auto-generate what we can (secret keys, webhook secrets):
|
|
255
|
+
```bash
|
|
256
|
+
python3 -c "import secrets; print(secrets.token_urlsafe(32))"
|
|
257
|
+
```
|
|
258
|
+
4. Check for placeholders: grep for `=...`, `=sk-ant-...`, `=AAAA...`, `=change-me`
|
|
259
|
+
5. Show status table (per credential)
|
|
260
|
+
6. Guide user through each missing credential
|
|
261
|
+
7. Validate each with API call where possible
|
|
262
|
+
8. Final check: import settings/config to verify all loads
|
|
263
|
+
|
|
264
|
+
**IMPORTANT:** Never store credentials yourself. Ask the user to paste values. Never echo credentials back.
|
|
265
|
+
|
|
266
|
+
### Universal Credential Guides
|
|
267
|
+
|
|
268
|
+
Pick the guides relevant to the project's `.env.example`:
|
|
269
|
+
|
|
270
|
+
#### Anthropic API Key
|
|
271
|
+
- **Get:** console.anthropic.com → API Keys → Create Key (starts with `sk-ant-`)
|
|
272
|
+
- **Cost:** Pay-per-use (~$30/mo at 10K requests)
|
|
273
|
+
- **Validate:**
|
|
274
|
+
```bash
|
|
275
|
+
curl -s -H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: 2023-06-01" \
|
|
276
|
+
-H "content-type: application/json" \
|
|
277
|
+
https://api.anthropic.com/v1/messages \
|
|
278
|
+
-d '{"model":"claude-sonnet-4-5","max_tokens":1,"messages":[{"role":"user","content":"hi"}]}' \
|
|
279
|
+
| python3 -c "import sys,json; r=json.load(sys.stdin); print('OK' if 'content' in r else f'FAIL: {r}')"
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
#### OpenAI API Key
|
|
283
|
+
- **Get:** platform.openai.com → API Keys → Create Key (starts with `sk-`)
|
|
284
|
+
- **Cost:** Pay-per-use
|
|
285
|
+
- **Var:** `OPENAI_API_KEY`
|
|
286
|
+
- **Validate:**
|
|
287
|
+
```bash
|
|
288
|
+
curl -s -H "Authorization: Bearer $OPENAI_API_KEY" \
|
|
289
|
+
https://api.openai.com/v1/models \
|
|
290
|
+
| python3 -c "import sys,json; r=json.load(sys.stdin); print('OK' if 'data' in r else f'FAIL: {r}')"
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
#### Twitter/X API (6 Keys)
|
|
294
|
+
|
|
295
|
+
**Step-by-step:**
|
|
296
|
+
1. Go to developer.x.com → sign in → accept developer agreement
|
|
297
|
+
2. Create Project + App inside it
|
|
298
|
+
3. App → Settings → User authentication settings → Set **Read and Write** permissions
|
|
299
|
+
4. App → Keys and Tokens:
|
|
300
|
+
- Consumer Keys → Regenerate → `X_API_KEY`, `X_API_SECRET`
|
|
301
|
+
- Bearer Token → Regenerate → `X_BEARER_TOKEN`
|
|
302
|
+
- Access Token → Generate (AFTER setting permissions) → `X_ACCESS_TOKEN`, `X_ACCESS_SECRET`
|
|
303
|
+
5. Get user ID:
|
|
304
|
+
```bash
|
|
305
|
+
curl -s -H "Authorization: Bearer $X_BEARER_TOKEN" \
|
|
306
|
+
"https://api.x.com/2/users/by/username/$X_BOT_USERNAME" \
|
|
307
|
+
| python3 -c "import sys,json; print(json.load(sys.stdin)['data']['id'])"
|
|
308
|
+
```
|
|
309
|
+
6. Purchase API credits at developer.x.com → Credits ($5-$500, pay-per-use, never expire)
|
|
310
|
+
|
|
311
|
+
**Validate:**
|
|
312
|
+
```bash
|
|
313
|
+
curl -s -H "Authorization: Bearer $X_BEARER_TOKEN" "https://api.x.com/2/users/me" \
|
|
314
|
+
| python3 -c "import sys,json; r=json.load(sys.stdin); print(f'OK: @{r[\"data\"][\"username\"]}' if 'data' in r else f'FAIL: {r}')"
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
#### Telegram Bot Token (Free)
|
|
318
|
+
- **Get:** Telegram → @BotFather → `/newbot` → choose name + username (must end in `bot`)
|
|
319
|
+
- **Validate:**
|
|
320
|
+
```bash
|
|
321
|
+
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getMe" \
|
|
322
|
+
| python3 -c "import sys,json; r=json.load(sys.stdin); print(f'OK: @{r[\"result\"][\"username\"]}' if r.get('ok') else f'FAIL: {r}')"
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
#### Stytch Auth
|
|
326
|
+
- **Get:** stytch.com → Project → API Keys
|
|
327
|
+
- **Vars:** `STYTCH_PROJECT_ID`, `STYTCH_SECRET`, `NEXT_PUBLIC_STYTCH_PUBLIC_TOKEN`
|
|
328
|
+
- **Validate:** Import Stytch client and call a test endpoint
|
|
329
|
+
|
|
330
|
+
#### LiveKit (Real-time Voice/Video)
|
|
331
|
+
- **Get:** cloud.livekit.io → Project → Keys
|
|
332
|
+
- **Vars:** `LIVEKIT_URL`, `LIVEKIT_API_KEY`, `LIVEKIT_API_SECRET`
|
|
333
|
+
- **Validate:**
|
|
334
|
+
```bash
|
|
335
|
+
curl -s "$LIVEKIT_URL" && echo "OK"
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
#### Deepgram (Speech-to-Text)
|
|
339
|
+
- **Get:** console.deepgram.com → API Keys
|
|
340
|
+
- **Var:** `DEEPGRAM_API_KEY`
|
|
341
|
+
- **Validate:**
|
|
342
|
+
```bash
|
|
343
|
+
curl -s -H "Authorization: Token $DEEPGRAM_API_KEY" \
|
|
344
|
+
https://api.deepgram.com/v1/projects \
|
|
345
|
+
| python3 -c "import sys,json; r=json.load(sys.stdin); print('OK' if 'projects' in r else f'FAIL: {r}')"
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
#### Stripe
|
|
349
|
+
- **Get:** dashboard.stripe.com → Developers → API Keys
|
|
350
|
+
- **Vars:** `STRIPE_SECRET_KEY`, `STRIPE_PUBLISHABLE_KEY`, `STRIPE_WEBHOOK_SECRET`
|
|
351
|
+
- **Validate:**
|
|
352
|
+
```bash
|
|
353
|
+
curl -s -u "$STRIPE_SECRET_KEY:" https://api.stripe.com/v1/balance \
|
|
354
|
+
| python3 -c "import sys,json; r=json.load(sys.stdin); print('OK' if 'available' in r else f'FAIL: {r}')"
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
#### Sentry (Optional)
|
|
358
|
+
- **Get:** sentry.io → Create project → copy DSN
|
|
359
|
+
- **Var:** `SENTRY_DSN=https://...@sentry.io/...`
|
|
360
|
+
- **Cost:** Free tier (5K errors/mo)
|
|
361
|
+
|
|
362
|
+
### Final Config Validation
|
|
363
|
+
|
|
364
|
+
Attempt to import the project's settings/config module to verify all env vars load:
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
# Python (Pydantic Settings)
|
|
368
|
+
python3 -c "from app.core.config import settings; print('Config OK')"
|
|
369
|
+
|
|
370
|
+
# Node (dotenv)
|
|
371
|
+
node -e "require('dotenv').config(); console.log('Config OK')"
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
## Module 6: Bot/Service Profiles (If Applicable)
|
|
377
|
+
|
|
378
|
+
Only run if the project includes bot/service integrations. Detect from env vars.
|
|
379
|
+
|
|
380
|
+
### Twitter/X Profile
|
|
381
|
+
- Display name, bio (160 chars), avatar, header image
|
|
382
|
+
- Username change (note: rate limited, 24-48h cooldown on 429)
|
|
383
|
+
- Follow relevant accounts for the project's domain
|
|
384
|
+
|
|
385
|
+
### Telegram Bot Profile (via @BotFather)
|
|
386
|
+
- `/setdescription` — bot description
|
|
387
|
+
- `/setabouttext` — about text
|
|
388
|
+
- `/setcommands` — command menu
|
|
389
|
+
- `/setuserpic` — profile photo
|
|
390
|
+
|
|
391
|
+
### Discord Bot Profile
|
|
392
|
+
- Display name, avatar via Developer Portal
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## Module 7: Local Startup & Verification
|
|
397
|
+
|
|
398
|
+
Detect start commands from CLAUDE.md or project files:
|
|
399
|
+
|
|
400
|
+
| Stack | Start Command |
|
|
401
|
+
|-------|--------------|
|
|
402
|
+
| FastAPI | `uvicorn app.main:app --reload --port 8000` |
|
|
403
|
+
| Django | `python manage.py runserver` |
|
|
404
|
+
| Next.js | `npm run dev` |
|
|
405
|
+
| Vite | `npm run dev` |
|
|
406
|
+
| Go | `go run cmd/server/main.go` |
|
|
407
|
+
|
|
408
|
+
**Health checks:** Hit health endpoints from CLAUDE.md or common patterns (`/health`, `/api/health`, `/healthz`).
|
|
409
|
+
|
|
410
|
+
**Tests:**
|
|
411
|
+
|
|
412
|
+
| Stack | Test Command |
|
|
413
|
+
|-------|-------------|
|
|
414
|
+
| Python | `pytest --cov -v` |
|
|
415
|
+
| Node | `npm test` |
|
|
416
|
+
| Go | `go test ./...` |
|
|
417
|
+
| Rust | `cargo test` |
|
|
418
|
+
|
|
419
|
+
---
|
|
420
|
+
|
|
421
|
+
## Module 8: Claude Agents + CLAUDE.md
|
|
422
|
+
|
|
423
|
+
**Check:** `.claude/` directory exists, `CLAUDE.md` has no `<!-- TODO -->` placeholders.
|
|
424
|
+
|
|
425
|
+
**First-time install:**
|
|
426
|
+
```bash
|
|
427
|
+
~/.claude-agents/install.sh --init .
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
**Existing project refresh:**
|
|
431
|
+
```bash
|
|
432
|
+
~/.claude-agents/install.sh .
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
**Populate CLAUDE.md:** Run `/scan` to auto-detect stack, ports, test commands, services.
|
|
436
|
+
|
|
437
|
+
**Verify:** Grep CLAUDE.md for remaining `<!-- TODO -->` — fill any critical sections manually.
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## Module 9: Arth Registration
|
|
442
|
+
|
|
443
|
+
**Check:** `.arth.json` exists in project root.
|
|
444
|
+
|
|
445
|
+
**Register:** Run `/arth add`.
|
|
446
|
+
|
|
447
|
+
**Verify:** Visit http://localhost:3333, confirm project appears.
|
|
448
|
+
|
|
449
|
+
---
|
|
450
|
+
|
|
451
|
+
## Module 10: GitHub CI Workflows
|
|
452
|
+
|
|
453
|
+
**Check:** `.github/workflows/ci.yml` exists.
|
|
454
|
+
|
|
455
|
+
Generate CI workflow based on detected stack. The template should include:
|
|
456
|
+
|
|
457
|
+
1. **Services** — mirror docker-compose.yml services as GitHub Actions service containers
|
|
458
|
+
2. **Install** — language-specific dependency install
|
|
459
|
+
3. **Lint** — project's lint command
|
|
460
|
+
4. **Type check** — if applicable (mypy, tsc)
|
|
461
|
+
5. **Test** — project's test command with coverage
|
|
462
|
+
6. **Env vars** — fake values for all external API keys (tests should mock these)
|
|
463
|
+
|
|
464
|
+
Detect test env vars from `.env.example` and generate fake values.
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
## Module 11: Discord (CI/Deploy Tracking + ChatOps)
|
|
469
|
+
|
|
470
|
+
### 11a. Create Discord Server + Channels
|
|
471
|
+
|
|
472
|
+
Recommended channels:
|
|
473
|
+
- `#deployments` — automated CI/CD + deploy notifications (webhook)
|
|
474
|
+
- `#claude-ops` — ChatOps commands for remote Claude Code control
|
|
475
|
+
- `#general` — manual posts, PR summaries, discussions
|
|
476
|
+
- `#alerts` — production errors, health check failures
|
|
477
|
+
|
|
478
|
+
### 11b. Create Discord Bot
|
|
479
|
+
|
|
480
|
+
1. discord.com/developers/applications → New Application
|
|
481
|
+
2. Bot tab → Add Bot → copy token
|
|
482
|
+
3. Enable Message Content Intent
|
|
483
|
+
4. OAuth2 → URL Generator → scope: `bot` → permissions: Send Messages, Read History, Embed Links
|
|
484
|
+
5. Invite to server
|
|
485
|
+
|
|
486
|
+
### 11c. GitHub Webhook → #deployments
|
|
487
|
+
|
|
488
|
+
1. Discord: right-click `#deployments` → Integrations → Webhooks → New Webhook → copy URL
|
|
489
|
+
2. GitHub: repo → Settings → Webhooks → Add webhook
|
|
490
|
+
- URL: `<discord-webhook-url>/github`
|
|
491
|
+
- Events: Pull requests, Push, Workflow runs, Deployments, Issues
|
|
492
|
+
|
|
493
|
+
### 11d. ChatOps via discord-mcp
|
|
494
|
+
|
|
495
|
+
Configure `~/discord-mcp/.env`:
|
|
496
|
+
```env
|
|
497
|
+
DISCORD_TOKEN=<bot token>
|
|
498
|
+
DISCORD_AUTHORIZED_USER_IDS=<your Discord user ID>
|
|
499
|
+
DISCORD_OPS_CHANNEL=claude-ops
|
|
500
|
+
CLAUDE_WORKING_DIR=<project-root>
|
|
501
|
+
CLAUDE_PATH=claude
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
Start: `cd ~/discord-mcp && node build/index.js`
|
|
505
|
+
|
|
506
|
+
Key commands: `fix ci`, `ci status`, `run tests`, `git status`, `pr status`, `check prod health`
|
|
507
|
+
|
|
508
|
+
---
|
|
509
|
+
|
|
510
|
+
## Module 12: Secrets Sync
|
|
511
|
+
|
|
512
|
+
After all credentials are configured locally, sync to GitHub Secrets and cloud provider.
|
|
513
|
+
|
|
514
|
+
### Detect What to Sync
|
|
515
|
+
|
|
516
|
+
Read env file and identify real values (skip placeholders like `=...`, `=AAAA...`, `=change-me`).
|
|
517
|
+
|
|
518
|
+
**Rules:**
|
|
519
|
+
- Only sync secrets with real values — skip placeholders
|
|
520
|
+
- Never sync local-only values (`DATABASE_URL`, `REDIS_URL`) — cloud providers auto-set these
|
|
521
|
+
- Always confirm with user before pushing to remote platforms
|
|
522
|
+
- Show confirmation table after syncing
|
|
523
|
+
|
|
524
|
+
### GitHub Secrets
|
|
525
|
+
```bash
|
|
526
|
+
for var in <SECRET_LIST>; do
|
|
527
|
+
value=$(grep "^${var}=" <env-file> | cut -d= -f2-)
|
|
528
|
+
if [ -n "$value" ] && [ "$value" != "..." ]; then
|
|
529
|
+
echo "$value" | gh secret set "$var" --repo OWNER/REPO
|
|
530
|
+
fi
|
|
531
|
+
done
|
|
532
|
+
gh secret list --repo OWNER/REPO
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
### Cloud Provider
|
|
536
|
+
```bash
|
|
537
|
+
# Railway
|
|
538
|
+
railway variables set VAR_NAME="$VALUE"
|
|
539
|
+
|
|
540
|
+
# Vercel
|
|
541
|
+
vercel env add VAR_NAME production < <(echo "$VALUE")
|
|
542
|
+
|
|
543
|
+
# AWS
|
|
544
|
+
aws ssm put-parameter --name "/app/VAR_NAME" --value "$VALUE" --type SecureString
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
---
|
|
548
|
+
|
|
549
|
+
## Module 13: Cloud Deployment
|
|
550
|
+
|
|
551
|
+
Detect deploy target from project files:
|
|
552
|
+
|
|
553
|
+
| Signal | Platform | Setup |
|
|
554
|
+
|--------|----------|-------|
|
|
555
|
+
| `railway.json` / `Procfile` | Railway | `railway login && railway init && railway up` |
|
|
556
|
+
| `vercel.json` / `next.config.*` | Vercel | `vercel && vercel --prod` |
|
|
557
|
+
| `Dockerfile` + no platform | Railway or Fly.io | Ask user preference |
|
|
558
|
+
| `serverless.yml` | AWS Serverless | `serverless deploy` |
|
|
559
|
+
| `app.yaml` | Google Cloud | `gcloud app deploy` |
|
|
560
|
+
|
|
561
|
+
### Railway (Common)
|
|
562
|
+
1. `railway login && railway init`
|
|
563
|
+
2. Add plugins: `railway add --plugin postgresql && railway add --plugin redis`
|
|
564
|
+
3. Set env vars (Module 12)
|
|
565
|
+
4. Deploy: `railway up`
|
|
566
|
+
5. Get URL: `railway domain`
|
|
567
|
+
|
|
568
|
+
### Post-Deploy
|
|
569
|
+
- Run migrations on production
|
|
570
|
+
- Seed data if first deploy
|
|
571
|
+
- Register webhooks (Telegram, Stripe, etc.) with production URL
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
## Module 14: Production Verification
|
|
576
|
+
|
|
577
|
+
After deploying:
|
|
578
|
+
|
|
579
|
+
1. **Health check:** `curl -s $PROD_URL/health`
|
|
580
|
+
2. **End-to-end tests:** Test core user flows against production
|
|
581
|
+
3. **Check logs:** `railway logs` / cloud provider log viewer
|
|
582
|
+
4. **Verify webhooks:** Send test events, confirm they arrive
|
|
583
|
+
|
|
584
|
+
---
|
|
585
|
+
|
|
586
|
+
## Module 15: Monitoring (Optional)
|
|
587
|
+
|
|
588
|
+
### Sentry
|
|
589
|
+
- sentry.io → Create project for your language → copy DSN
|
|
590
|
+
- Set `SENTRY_DSN` in cloud provider env vars
|
|
591
|
+
- Free tier: 5K errors/mo
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
## Status Check (`/setup status`)
|
|
596
|
+
|
|
597
|
+
Show a readiness table:
|
|
598
|
+
|
|
599
|
+
```
|
|
600
|
+
| # | Module | Status | Notes |
|
|
601
|
+
|----|-------------------|--------|--------------------------|
|
|
602
|
+
| 0 | Prerequisites | ✅/❌ | software + accounts |
|
|
603
|
+
| 1 | Repo | ✅/❌ | git initialized |
|
|
604
|
+
| 2 | Dependencies | ✅/❌ | packages installed |
|
|
605
|
+
| 3 | Infrastructure | ✅/❌ | Docker services running |
|
|
606
|
+
| 4 | Database | ✅/❌ | migrations + seed data |
|
|
607
|
+
| 5 | Credentials | ✅/⚠️ | X of Y configured |
|
|
608
|
+
| 6 | Profiles | ✅/❌ | bot profiles set up |
|
|
609
|
+
| 7 | Local Verify | ✅/❌ | app starts, tests pass |
|
|
610
|
+
| 8 | Claude Agents | ✅/❌ | toolkit installed |
|
|
611
|
+
| 9 | Arth | ✅/❌ | registered |
|
|
612
|
+
| 10 | GitHub CI | ✅/❌ | ci.yml exists |
|
|
613
|
+
| 11 | Discord | ✅/❌ | server + bot + webhooks |
|
|
614
|
+
| 12 | Secrets Sync | ✅/❌ | GitHub + cloud synced |
|
|
615
|
+
| 13 | Deploy | ✅/❌ | deployed + healthy |
|
|
616
|
+
| 14 | Prod Verify | ✅/❌ | smoke tests pass |
|
|
617
|
+
| 15 | Monitoring | ⏭️ | optional |
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
### How to Check Each
|
|
621
|
+
|
|
622
|
+
```bash
|
|
623
|
+
# 0. Prerequisites
|
|
624
|
+
python3.11 --version 2>/dev/null; node --version 2>/dev/null; docker --version 2>/dev/null; gh --version 2>/dev/null
|
|
625
|
+
|
|
626
|
+
# 1. Repo
|
|
627
|
+
test -d .git && echo "OK"
|
|
628
|
+
|
|
629
|
+
# 2. Dependencies
|
|
630
|
+
test -d backend/.venv 2>/dev/null || test -d node_modules 2>/dev/null || test -d .venv 2>/dev/null
|
|
631
|
+
|
|
632
|
+
# 3. Infrastructure
|
|
633
|
+
docker compose ps --format json 2>/dev/null | python3 -c "import sys,json; [print(json.loads(l)['Service'], json.loads(l).get('State','?')) for l in sys.stdin]"
|
|
634
|
+
|
|
635
|
+
# 4. Database — attempt to query a table
|
|
636
|
+
# (project-specific — detect from migrations)
|
|
637
|
+
|
|
638
|
+
# 5. Credentials
|
|
639
|
+
grep -cE '=\.\.\.|=change-me|=AAAA\.\.\.|=sk-ant-\.\.\.' <env-file> 2>/dev/null
|
|
640
|
+
|
|
641
|
+
# 6. Profiles — manual check
|
|
642
|
+
|
|
643
|
+
# 7. Local Verify
|
|
644
|
+
curl -s http://localhost:<port>/health 2>/dev/null
|
|
645
|
+
|
|
646
|
+
# 8. Claude Agents
|
|
647
|
+
ls -la .claude/agents/ 2>/dev/null | wc -l
|
|
648
|
+
|
|
649
|
+
# 9. Arth
|
|
650
|
+
test -f .arth.json
|
|
651
|
+
|
|
652
|
+
# 10. GitHub CI
|
|
653
|
+
test -f .github/workflows/ci.yml
|
|
654
|
+
|
|
655
|
+
# 11. Discord
|
|
656
|
+
test -d ~/discord-mcp && test -f ~/discord-mcp/.env
|
|
657
|
+
|
|
658
|
+
# 12. Secrets Sync
|
|
659
|
+
gh secret list --repo OWNER/REPO 2>/dev/null | wc -l
|
|
660
|
+
|
|
661
|
+
# 13. Deploy
|
|
662
|
+
railway status 2>/dev/null || vercel ls 2>/dev/null
|
|
663
|
+
|
|
664
|
+
# 14. Prod Verify
|
|
665
|
+
curl -s $PROD_URL/health 2>/dev/null
|
|
666
|
+
|
|
667
|
+
# 15. Monitoring
|
|
668
|
+
grep -q 'SENTRY_DSN=https' <env-file>
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
---
|
|
672
|
+
|
|
673
|
+
## Common Issues
|
|
674
|
+
|
|
675
|
+
| Symptom | Cause | Fix |
|
|
676
|
+
|---------|-------|-----|
|
|
677
|
+
| `ValidationError` on startup | Missing env vars | `/setup credentials` |
|
|
678
|
+
| `ConnectionRefusedError` :5432 | Postgres not running | `docker compose up -d` |
|
|
679
|
+
| `ConnectionRefusedError` :6379 | Redis not running | `docker compose up -d` |
|
|
680
|
+
| `ModuleNotFoundError: greenlet` | Missing SQLAlchemy async dep | `pip install greenlet` |
|
|
681
|
+
| ML model download hangs | Large model on slow network | Retry, model cached after first download |
|
|
682
|
+
| `alembic upgrade` fails | Tables already exist | `alembic stamp head` then re-run |
|
|
683
|
+
| X API 429 errors | Rate limited | Wait, check daily limits |
|
|
684
|
+
| X username change 429 | Rate limited on settings endpoint | Wait 24-48h, do NOT retry |
|
|
685
|
+
| Telegram webhook fails | Wrong URL or token | Re-register webhook with production URL |
|
|
686
|
+
| `No module named 'app'` | Wrong working directory | Run from correct directory |
|
|
687
|
+
| CI fails service health | Container not ready | Add health check options to workflow |
|
|
688
|
+
| Deploy fails | Missing Procfile or env vars | Check cloud provider logs |
|
|
689
|
+
| pgvector missing | Wrong Postgres image | Use `ankane/pgvector:latest` |
|
|
690
|
+
| `npm ERR! ERESOLVE` | Dependency conflict | `npm install --legacy-peer-deps` |
|
|
691
|
+
| `install.sh` permission denied | Not executable | `chmod +x ~/.claude-agents/install.sh` |
|