nemonix-cli 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/LICENSE +21 -0
- package/README.md +186 -0
- package/dist/cli.js +6870 -0
- package/package.json +48 -0
- package/src/config/claude-code-config/.claude/commands/setup-tmux.md +0 -0
- package/src/config/claude-code-config/CHANGELOG.md +261 -0
- package/src/config/claude-code-config/README.md +1 -0
- package/src/config/claude-code-config/agents/action.md +36 -0
- package/src/config/claude-code-config/agents/clean-code-runner.md +61 -0
- package/src/config/claude-code-config/agents/code-reviewer.md +172 -0
- package/src/config/claude-code-config/agents/code-simplifier.md +49 -0
- package/src/config/claude-code-config/agents/explore-codebase.md +65 -0
- package/src/config/claude-code-config/agents/explore-docs.md +65 -0
- package/src/config/claude-code-config/agents/explore-fast.md +22 -0
- package/src/config/claude-code-config/agents/implementer.md +181 -0
- package/src/config/claude-code-config/agents/snipper.md +36 -0
- package/src/config/claude-code-config/agents/websearch.md +42 -0
- package/src/config/claude-code-config/commands/prompts/create-vitejs-app.md +272 -0
- package/src/config/claude-code-config/commands/prompts/nextjs-add-prisma-db.md +136 -0
- package/src/config/claude-code-config/commands/prompts/nextjs-setup-better-auth.md +173 -0
- package/src/config/claude-code-config/commands/prompts/nextjs-setup-project.md +200 -0
- package/src/config/claude-code-config/commands/prompts/prompt.md +55 -0
- package/src/config/claude-code-config/commands/prompts/saas-challenge-idea.md +135 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-architecture.md +242 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-headline.md +132 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-landing-copywritting.md +267 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-legals-docs.md +176 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-logos.md +240 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-prd.md +195 -0
- package/src/config/claude-code-config/commands/prompts/saas-create-tasks.md +240 -0
- package/src/config/claude-code-config/commands/prompts/saas-define-pricing.md +293 -0
- package/src/config/claude-code-config/commands/prompts/saas-find-domain-name.md +190 -0
- package/src/config/claude-code-config/commands/prompts/saas-implement-landing-page.md +257 -0
- package/src/config/claude-code-config/commands/prompts/setup-tmux.md +160 -0
- package/src/config/claude-code-config/commands/prompts/tools.md +148 -0
- package/src/config/claude-code-config/hooks/hook-post-file.ts +162 -0
- package/src/config/claude-code-config/scripts/.claude/skills/fix-on-my-computer/SKILL.md +81 -0
- package/src/config/claude-code-config/scripts/CLAUDE.md +50 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/CLAUDE.md +59 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/__tests__/shared.test.ts +185 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/__tests__/title-generation.test.ts +44 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/sample-transcript.jsonl +3 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/transcript-short-message.jsonl +2 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/fixtures/transcript-with-title.jsonl +3 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/src/index.ts +113 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/src/rename-all.ts +148 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/src/shared.ts +157 -0
- package/src/config/claude-code-config/scripts/auto-rename-session/src/worker.ts +58 -0
- package/src/config/claude-code-config/scripts/biome.json +37 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/CLAUDE.md +84 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/__tests__/claude.test.ts +19 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/__tests__/paths.test.ts +68 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/claude.ts +56 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/cli.ts +46 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/helper/credentials.ts +76 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/helper/index.ts +9 -0
- package/src/config/claude-code-config/scripts/claude-code-ai/helper/paths.ts +51 -0
- package/src/config/claude-code-config/scripts/command-validator/CLAUDE.md +112 -0
- package/src/config/claude-code-config/scripts/command-validator/README.md +147 -0
- package/src/config/claude-code-config/scripts/command-validator/src/__tests__/validator.test.ts +99 -0
- package/src/config/claude-code-config/scripts/command-validator/src/cli.ts +121 -0
- package/src/config/claude-code-config/scripts/command-validator/src/lib/security-rules.ts +174 -0
- package/src/config/claude-code-config/scripts/command-validator/src/lib/types.ts +34 -0
- package/src/config/claude-code-config/scripts/command-validator/src/lib/validator.ts +90 -0
- package/src/config/claude-code-config/scripts/package.json +43 -0
- package/src/config/claude-code-config/scripts/statusline/CLAUDE.md +205 -0
- package/src/config/claude-code-config/scripts/statusline/README.md +193 -0
- package/src/config/claude-code-config/scripts/statusline/__tests__/context.test.ts +229 -0
- package/src/config/claude-code-config/scripts/statusline/__tests__/formatters.test.ts +108 -0
- package/src/config/claude-code-config/scripts/statusline/__tests__/statusline.test.ts +309 -0
- package/src/config/claude-code-config/scripts/statusline/data/.gitkeep +0 -0
- package/src/config/claude-code-config/scripts/statusline/defaults.json +82 -0
- package/src/config/claude-code-config/scripts/statusline/docs/ARCHITECTURE.md +166 -0
- package/src/config/claude-code-config/scripts/statusline/fixtures/mock-transcript.jsonl +4 -0
- package/src/config/claude-code-config/scripts/statusline/fixtures/test-input.json +35 -0
- package/src/config/claude-code-config/scripts/statusline/src/analyze-daily-usage.ts +151 -0
- package/src/config/claude-code-config/scripts/statusline/src/commands/interactive-config.ts +515 -0
- package/src/config/claude-code-config/scripts/statusline/src/debug-payloads.ts +195 -0
- package/src/config/claude-code-config/scripts/statusline/src/index.ts +224 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/config-types.ts +110 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/config.ts +21 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/context.ts +103 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/limits/commands/weekly-analysis.ts +108 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/limits/index.ts +111 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/limits/types.ts +15 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/migrate-to-sqlite.ts +136 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/spend-day.ts +79 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/spend-month.ts +66 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/commands/spend-project.ts +85 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/database.ts +395 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/index.ts +178 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/payload-logger.ts +161 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/features/spend/types.ts +37 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/formatters.ts +426 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/git.ts +100 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/menu-factories.ts +224 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/presets.ts +177 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/render-pure.ts +516 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/types.ts +36 -0
- package/src/config/claude-code-config/scripts/statusline/src/lib/utils.ts +15 -0
- package/src/config/claude-code-config/scripts/statusline/src/stats.ts +119 -0
- package/src/config/claude-code-config/scripts/statusline/src/tests/spend-v2.test.ts +377 -0
- package/src/config/claude-code-config/scripts/statusline/src/tools/fixed-cost-calc.ts +317 -0
- package/src/config/claude-code-config/scripts/statusline/statusline.config.free.json +79 -0
- package/src/config/claude-code-config/scripts/statusline/statusline.config.json +100 -0
- package/src/config/claude-code-config/scripts/statusline/test-with-fixtures.ts +37 -0
- package/src/config/claude-code-config/scripts/statusline/test.ts +20 -0
- package/src/config/claude-code-config/scripts/statusline/tsconfig.json +27 -0
- package/src/config/claude-code-config/scripts/tsconfig.json +27 -0
- package/src/config/claude-code-config/settings.json +92 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/SKILL.md +176 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/architecture-template.md +436 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/challenge-framework.md +289 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/discovery-framework.md +338 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/prd-template.md +452 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/task-template.md +263 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/references/tools.md +132 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/scripts/rename-project.sh +42 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/scripts/setup.sh +104 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-00-init.md +174 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-01-discovery.md +342 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-02-brainstorm.md +230 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-03-validate.md +372 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-04-prd.md +364 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-05-architecture.md +904 -0
- package/src/config/claude-code-config/skills/aibuilder-create-saas/steps/step-06-tasks.md +446 -0
- package/src/config/claude-code-config/skills/explore/SKILL.md +119 -0
- package/src/config/claude-code-config/skills/frontend-design/LICENSE.txt +177 -0
- package/src/config/claude-code-config/skills/frontend-design/SKILL.md +42 -0
- package/src/config/claude-code-config/skills/git-commit/SKILL.md +42 -0
- package/src/config/claude-code-config/skills/git-create-pr/SKILL.md +53 -0
- package/src/config/claude-code-config/skills/git-fix-pr-comments/SKILL.md +51 -0
- package/src/config/claude-code-config/skills/git-merge/SKILL.md +68 -0
- package/src/config/claude-code-config/skills/marketing-copywriting/SKILL.md +72 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/SKILL.md +694 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/references/comprehensive-example.md +175 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/references/project-patterns.md +334 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/references/prompting-techniques.md +411 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/references/rules-directory-guide.md +298 -0
- package/src/config/claude-code-config/skills/meta-claude-memory/references/section-templates.md +347 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/SKILL.md +357 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/command-vs-prompt.md +287 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/examples.md +689 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/hook-types.md +495 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/input-output-schemas.md +503 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/matchers.md +517 -0
- package/src/config/claude-code-config/skills/meta-hooks-creator/references/troubleshooting.md +653 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/SKILL.md +285 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/anthropic-best-practices.md +126 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/anti-patterns.md +57 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/clarity-principles.md +54 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/context-management.md +389 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/few-shot-patterns.md +47 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/openai-best-practices.md +50 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/prompt-templates.md +110 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/reasoning-techniques.md +52 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/system-prompt-patterns.md +48 -0
- package/src/config/claude-code-config/skills/meta-prompt-creator/references/xml-structure.md +36 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/LICENSE.txt +202 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/SKILL.md +421 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/package.json +5 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/output-patterns.md +82 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/progressive-disclosure-patterns.md +374 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/prompting-integration.md +363 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/real-world-examples.md +513 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/script-patterns.md +385 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/workflows.md +28 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/references/xml-tag-guide.md +606 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/scripts/init-skill.ts +214 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/scripts/package-skill.ts +146 -0
- package/src/config/claude-code-config/skills/meta-skill-creator/scripts/validate.ts +138 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/SKILL.md +390 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/ask-patterns.md +225 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/prompt-engineering.md +377 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/state-management.md +275 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/step-template.md +334 -0
- package/src/config/claude-code-config/skills/meta-skill-workflow-creator/references/workflow-patterns.md +300 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/SKILL.md +451 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/context-management.md +567 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/debugging-agents.md +714 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/error-handling-and-recovery.md +502 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/evaluation-and-testing.md +374 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/orchestration-patterns.md +591 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/subagents.md +599 -0
- package/src/config/claude-code-config/skills/meta-subagent-creator/references/writing-subagent-prompts.md +513 -0
- package/src/config/claude-code-config/skills/ralph-loop/SKILL.md +117 -0
- package/src/config/claude-code-config/skills/ralph-loop/scripts/setup.sh +278 -0
- package/src/config/claude-code-config/skills/ralph-loop/steps/step-00-init.md +215 -0
- package/src/config/claude-code-config/skills/ralph-loop/steps/step-01-interactive-prd.md +366 -0
- package/src/config/claude-code-config/skills/ralph-loop/steps/step-02-create-stories.md +273 -0
- package/src/config/claude-code-config/skills/ralph-loop/steps/step-03-finish.md +245 -0
- package/src/config/claude-code-config/skills/ralph-tasks/SKILL.md +88 -0
- package/src/config/claude-code-config/skills/ralph-tasks/scripts/add-task.sh +36 -0
- package/src/config/claude-code-config/skills/ralph-tasks/scripts/list-tasks.sh +66 -0
- package/src/config/claude-code-config/skills/ralph-tasks/scripts/remove-task.sh +47 -0
- package/src/config/claude-code-config/skills/ralph-tasks/scripts/setup.sh +201 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-add-search.md +131 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-add.md +46 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-init.md +123 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-list.md +58 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-remove.md +48 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-setup.md +46 -0
- package/src/config/claude-code-config/skills/ralph-tasks/steps/action-wake-up.md +62 -0
- package/src/config/claude-code-config/skills/utils-fix-errors/SKILL.md +61 -0
- package/src/config/claude-code-config/skills/utils-fix-grammar/SKILL.md +59 -0
- package/src/config/claude-code-config/skills/utils-oneshot/SKILL.md +56 -0
- package/src/config/claude-code-config/skills/utils-refactor/SKILL.md +89 -0
- package/src/config/claude-code-config/skills/utils-save-docs/SKILL.md +74 -0
- package/src/config/claude-code-config/skills/utils-ultrathink/SKILL.md +42 -0
- package/src/config/claude-code-config/skills/workflow-apex/SKILL.md +116 -0
- package/src/config/claude-code-config/skills/workflow-apex/scripts/setup-templates.sh +144 -0
- package/src/config/claude-code-config/skills/workflow-apex/scripts/update-progress.sh +80 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-00-init.md +273 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-branch.md +126 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-economy.md +244 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-interactive.md +165 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-00b-save.md +123 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-01-analyze.md +361 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-02-plan.md +422 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-02b-tasks.md +301 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-03-execute-teams.md +297 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-03-execute.md +239 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-04-validate.md +264 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-05-examine.md +294 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-06-resolve.md +237 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-07-tests.md +250 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-08-run-tests.md +308 -0
- package/src/config/claude-code-config/skills/workflow-apex/steps/step-09-finish.md +193 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/00-context.md +53 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/01-analyze.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/02-plan.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/03-execute.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/04-validate.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/05-examine.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/06-resolve.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/07-tests.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/08-run-tests.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/09-finish.md +10 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/README.md +195 -0
- package/src/config/claude-code-config/skills/workflow-apex/templates/step-complete.md +7 -0
- package/src/config/claude-code-config/skills/workflow-brainstorm/SKILL.md +127 -0
- package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-01-explore.md +230 -0
- package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-02-challenge.md +238 -0
- package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-03-synthesize.md +337 -0
- package/src/config/claude-code-config/skills/workflow-brainstorm/steps/step-04-action.md +285 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/SKILL.md +150 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/references/cli-commands.md +122 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/references/github-cli.md +243 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/references/troubleshooting.md +362 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/references/vercel-cli.md +192 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-00-init.md +157 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-01-watch-ci.md +192 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-02-analyze-errors.md +263 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-03-fix-locally.md +312 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-04-commit-push.md +206 -0
- package/src/config/claude-code-config/skills/workflow-ci-fixer/steps/step-05-cleanup.md +196 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/SKILL.md +129 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/references/general-clean-code.md +347 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/references/nextjs-clean-code.md +458 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/references/react-clean-code.md +406 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/references/tanstack-query-best-practices.md +516 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/references/zustand-best-practices.md +491 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/steps/step-01-scan.md +137 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/steps/step-02-apply.md +152 -0
- package/src/config/claude-code-config/skills/workflow-clean-code/steps/step-03-verify.md +143 -0
- package/src/config/claude-code-config/skills/workflow-debug/SKILL.md +126 -0
- package/src/config/claude-code-config/skills/workflow-debug/references/log-technique.md +285 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-00-init.md +94 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-01-analyze.md +180 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-01b-log-instrumentation.md +271 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-02-find-solutions.md +141 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-03-propose.md +142 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-04-fix.md +176 -0
- package/src/config/claude-code-config/skills/workflow-debug/steps/step-05-verify.md +279 -0
- package/src/config/claude-code-config/skills/workflow-review-code/SKILL.md +219 -0
- package/src/config/claude-code-config/skills/workflow-review-code/references/clean-code-principles.md +140 -0
- package/src/config/claude-code-config/skills/workflow-review-code/references/code-quality-metrics.md +174 -0
- package/src/config/claude-code-config/skills/workflow-review-code/references/feedback-patterns.md +149 -0
- package/src/config/claude-code-config/skills/workflow-review-code/references/security-checklist.md +127 -0
- package/src/config/claude-code-config/song/finish.mp3 +0 -0
- package/src/config/claude-code-config/song/need-human.mp3 +0 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# Vercel CLI Complete Reference
|
|
2
|
+
|
|
3
|
+
<deployment_commands>
|
|
4
|
+
## List Deployments
|
|
5
|
+
```bash
|
|
6
|
+
vercel ls # List all deployments
|
|
7
|
+
vercel ls --prod # Production only
|
|
8
|
+
vercel ls --meta key=value # Filter by metadata
|
|
9
|
+
vercel ls --output json # JSON output
|
|
10
|
+
vercel ls --scope team-slug # Specific team
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Inspect Deployment
|
|
14
|
+
```bash
|
|
15
|
+
vercel inspect <deployment-url> # Full deployment details
|
|
16
|
+
vercel inspect <deployment-url> --json # JSON output
|
|
17
|
+
|
|
18
|
+
# Output includes:
|
|
19
|
+
# - Build command and output
|
|
20
|
+
# - Environment variables used
|
|
21
|
+
# - Functions and routes
|
|
22
|
+
# - Error messages if failed
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Runtime Logs
|
|
26
|
+
```bash
|
|
27
|
+
vercel logs <deployment-url> # Stream logs (5 min max)
|
|
28
|
+
vercel logs <deployment-url> --json # JSON format
|
|
29
|
+
vercel logs <deployment-url> | jq 'select(.level == "warning")' # Filter warnings
|
|
30
|
+
```
|
|
31
|
+
</deployment_commands>
|
|
32
|
+
|
|
33
|
+
<build_commands>
|
|
34
|
+
## Local Build
|
|
35
|
+
```bash
|
|
36
|
+
vercel build # Build with preview env
|
|
37
|
+
vercel build --prod # Build with production env
|
|
38
|
+
vercel build --debug # Verbose output
|
|
39
|
+
vercel build --yes # Skip prompts, auto-pull env
|
|
40
|
+
vercel build --target staging # Custom environment
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Build Output
|
|
44
|
+
Build artifacts are placed in `.vercel/output/` following Build Output API v3:
|
|
45
|
+
```
|
|
46
|
+
.vercel/output/
|
|
47
|
+
├── config.json
|
|
48
|
+
├── static/ # Static files
|
|
49
|
+
└── functions/ # Serverless functions
|
|
50
|
+
```
|
|
51
|
+
</build_commands>
|
|
52
|
+
|
|
53
|
+
<deploy_commands>
|
|
54
|
+
## Deploy Options
|
|
55
|
+
```bash
|
|
56
|
+
vercel deploy # Deploy to preview
|
|
57
|
+
vercel deploy --prod # Deploy to production
|
|
58
|
+
vercel deploy --prebuilt # Deploy pre-built output
|
|
59
|
+
vercel deploy --force # Skip build cache
|
|
60
|
+
vercel deploy --with-cache # Keep cache with --force
|
|
61
|
+
vercel deploy --logs # Show build logs
|
|
62
|
+
vercel deploy --no-wait # Don't wait for completion
|
|
63
|
+
vercel deploy --archive tgz # Compress for large projects
|
|
64
|
+
vercel deploy -e KEY=value # Runtime env var
|
|
65
|
+
vercel deploy --build-env KEY=value # Build-time env var
|
|
66
|
+
vercel deploy --regions iad1 # Specify function region
|
|
67
|
+
vercel deploy --target staging # Custom environment
|
|
68
|
+
vercel deploy --skip-domain # Don't assign domains (with --prod)
|
|
69
|
+
vercel deploy --meta key=value # Add metadata
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Deploy from CI
|
|
73
|
+
```bash
|
|
74
|
+
# In CI, use token
|
|
75
|
+
VERCEL_TOKEN=xxx vercel deploy --token=$VERCEL_TOKEN
|
|
76
|
+
|
|
77
|
+
# Or with project linking
|
|
78
|
+
vercel link --yes
|
|
79
|
+
vercel deploy --yes
|
|
80
|
+
```
|
|
81
|
+
</deploy_commands>
|
|
82
|
+
|
|
83
|
+
<environment_commands>
|
|
84
|
+
## Environment Variables
|
|
85
|
+
```bash
|
|
86
|
+
vercel env ls # List all env vars
|
|
87
|
+
vercel env ls production # Production only
|
|
88
|
+
vercel env add # Add interactively
|
|
89
|
+
vercel env add SECRET production # Add to specific env
|
|
90
|
+
vercel env rm SECRET # Remove
|
|
91
|
+
vercel env pull # Pull to .env.local
|
|
92
|
+
vercel env pull .env # Pull to specific file
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Pull Project Settings
|
|
96
|
+
```bash
|
|
97
|
+
vercel pull # Pull env vars + settings
|
|
98
|
+
vercel pull --yes # Skip confirmation
|
|
99
|
+
vercel pull --environment production # Specific environment
|
|
100
|
+
```
|
|
101
|
+
</environment_commands>
|
|
102
|
+
|
|
103
|
+
<project_commands>
|
|
104
|
+
## Project Management
|
|
105
|
+
```bash
|
|
106
|
+
vercel project ls # List projects
|
|
107
|
+
vercel project add # Create project
|
|
108
|
+
vercel project rm <name> # Remove project
|
|
109
|
+
vercel link # Link current directory
|
|
110
|
+
vercel link --yes # Auto-confirm
|
|
111
|
+
vercel unlink # Unlink project
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Domain Management
|
|
115
|
+
```bash
|
|
116
|
+
vercel domains ls # List domains
|
|
117
|
+
vercel domains add <domain> # Add domain
|
|
118
|
+
vercel domains rm <domain> # Remove domain
|
|
119
|
+
vercel domains inspect <domain> # Domain details
|
|
120
|
+
vercel alias <deployment> <domain> # Alias deployment
|
|
121
|
+
```
|
|
122
|
+
</project_commands>
|
|
123
|
+
|
|
124
|
+
<debugging_commands>
|
|
125
|
+
## Debug Build Issues
|
|
126
|
+
```bash
|
|
127
|
+
# 1. Pull latest settings
|
|
128
|
+
vercel pull --yes
|
|
129
|
+
|
|
130
|
+
# 2. Build locally with debug
|
|
131
|
+
vercel build --debug 2>&1 | tee build.log
|
|
132
|
+
|
|
133
|
+
# 3. Check for specific errors
|
|
134
|
+
grep -i "error\|failed\|warning" build.log
|
|
135
|
+
|
|
136
|
+
# 4. Check memory usage during build
|
|
137
|
+
VERCEL_DEBUG_MEMORY_REPORT=1 vercel build
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Debug Runtime Issues
|
|
141
|
+
```bash
|
|
142
|
+
# Stream logs and filter errors
|
|
143
|
+
vercel logs <url> --json | jq 'select(.level == "error")'
|
|
144
|
+
|
|
145
|
+
# Get deployment events
|
|
146
|
+
vercel inspect <url> --json | jq '.events'
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Force Fresh Build
|
|
150
|
+
```bash
|
|
151
|
+
# Skip all caches
|
|
152
|
+
vercel deploy --force
|
|
153
|
+
|
|
154
|
+
# Or set env var
|
|
155
|
+
VERCEL_FORCE_NO_BUILD_CACHE=1 vercel deploy
|
|
156
|
+
```
|
|
157
|
+
</debugging_commands>
|
|
158
|
+
|
|
159
|
+
<global_options>
|
|
160
|
+
## Global Options (apply to all commands)
|
|
161
|
+
```bash
|
|
162
|
+
--cwd <dir> # Set working directory
|
|
163
|
+
--debug # Debug output
|
|
164
|
+
--global-config <dir> # Global config directory
|
|
165
|
+
--help # Show help
|
|
166
|
+
--local-config <file> # Local config file
|
|
167
|
+
--no-color # Disable colors
|
|
168
|
+
--scope <team> # Team scope
|
|
169
|
+
--token <token> # Auth token
|
|
170
|
+
```
|
|
171
|
+
</global_options>
|
|
172
|
+
|
|
173
|
+
<ci_integration>
|
|
174
|
+
## CI/CD Integration
|
|
175
|
+
```bash
|
|
176
|
+
# GitHub Actions example
|
|
177
|
+
- name: Deploy to Vercel
|
|
178
|
+
run: |
|
|
179
|
+
npm i -g vercel
|
|
180
|
+
vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
|
|
181
|
+
vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
|
|
182
|
+
vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}
|
|
183
|
+
|
|
184
|
+
# Or use official action
|
|
185
|
+
- uses: amondnet/vercel-action@v25
|
|
186
|
+
with:
|
|
187
|
+
vercel-token: ${{ secrets.VERCEL_TOKEN }}
|
|
188
|
+
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
|
|
189
|
+
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
|
|
190
|
+
vercel-args: '--prod'
|
|
191
|
+
```
|
|
192
|
+
</ci_integration>
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-00-init
|
|
3
|
+
description: Initialize ci-fixer workflow - parse flags, detect branch, setup state
|
|
4
|
+
next_step: steps/step-01-watch-ci.md
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 0: Initialization
|
|
8
|
+
|
|
9
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
10
|
+
|
|
11
|
+
- 🛑 NEVER skip flag parsing
|
|
12
|
+
- ✅ ALWAYS detect the current git branch
|
|
13
|
+
- 📋 Parse ALL flags before any other action
|
|
14
|
+
- 💬 FOCUS on initialization only - don't start watching CI yet
|
|
15
|
+
- 🚫 FORBIDDEN to proceed without proper state setup
|
|
16
|
+
|
|
17
|
+
## EXECUTION PROTOCOLS:
|
|
18
|
+
|
|
19
|
+
- 🎯 Parse flags first, then setup state
|
|
20
|
+
- 💾 Initialize all state variables
|
|
21
|
+
- 📖 Complete this step fully before loading next
|
|
22
|
+
- 🚫 FORBIDDEN to load step-01 until init complete
|
|
23
|
+
|
|
24
|
+
## YOUR TASK:
|
|
25
|
+
|
|
26
|
+
Initialize the workflow by parsing flags, detecting the current branch, and setting up the execution environment.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## DEFAULTS CONFIGURATION:
|
|
31
|
+
|
|
32
|
+
```yaml
|
|
33
|
+
auto_mode: false # -a, --auto: Skip confirmations
|
|
34
|
+
max_attempts: 5 # -m N, --max-attempts=N: Max fix attempts
|
|
35
|
+
current_attempt: 0 # Starts at 0
|
|
36
|
+
fixes_applied: [] # Empty list
|
|
37
|
+
local_verified: false # Not verified yet
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## INITIALIZATION SEQUENCE:
|
|
43
|
+
|
|
44
|
+
### 1. Parse Flags and Input
|
|
45
|
+
|
|
46
|
+
**Step 1: Load defaults from config above**
|
|
47
|
+
|
|
48
|
+
**Step 2: Parse user input and override defaults:**
|
|
49
|
+
```
|
|
50
|
+
Enable flags:
|
|
51
|
+
-a, --auto → {auto_mode} = true
|
|
52
|
+
|
|
53
|
+
Set values:
|
|
54
|
+
-m N, --max-attempts=N → {max_attempts} = N
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 2. Detect Current Branch
|
|
58
|
+
|
|
59
|
+
Run this command to get the current branch:
|
|
60
|
+
```bash
|
|
61
|
+
git branch --show-current
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Store result in `{branch}`.
|
|
65
|
+
|
|
66
|
+
**If no branch detected (detached HEAD):**
|
|
67
|
+
→ Use `git rev-parse --short HEAD` as identifier
|
|
68
|
+
→ Warn user: "Running in detached HEAD mode"
|
|
69
|
+
|
|
70
|
+
### 3. Verify Git Status
|
|
71
|
+
|
|
72
|
+
Run:
|
|
73
|
+
```bash
|
|
74
|
+
git status --porcelain
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**If there are uncommitted changes:**
|
|
78
|
+
→ Warn user: "You have uncommitted changes. They may interfere with CI fixes."
|
|
79
|
+
|
|
80
|
+
**If `{auto_mode}` = false:**
|
|
81
|
+
Use AskUserQuestion:
|
|
82
|
+
```yaml
|
|
83
|
+
questions:
|
|
84
|
+
- header: "Changes"
|
|
85
|
+
question: "You have uncommitted changes. How should we proceed?"
|
|
86
|
+
options:
|
|
87
|
+
- label: "Continue anyway (Recommended)"
|
|
88
|
+
description: "Proceed with uncommitted changes"
|
|
89
|
+
- label: "Stash changes"
|
|
90
|
+
description: "Stash changes before proceeding (git stash)"
|
|
91
|
+
- label: "Cancel"
|
|
92
|
+
description: "Stop and handle changes manually"
|
|
93
|
+
multiSelect: false
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 4. Initialize State
|
|
97
|
+
|
|
98
|
+
Set all state variables:
|
|
99
|
+
```yaml
|
|
100
|
+
auto_mode: {parsed value}
|
|
101
|
+
max_attempts: {parsed value}
|
|
102
|
+
current_attempt: 0
|
|
103
|
+
branch: {detected branch}
|
|
104
|
+
run_id: null
|
|
105
|
+
error_source: null
|
|
106
|
+
error_logs: null
|
|
107
|
+
fixes_applied: []
|
|
108
|
+
local_verified: false
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 5. Confirm Start
|
|
112
|
+
|
|
113
|
+
**If `{auto_mode}` = true:**
|
|
114
|
+
→ Proceed directly to step-01
|
|
115
|
+
|
|
116
|
+
**If `{auto_mode}` = false:**
|
|
117
|
+
Use AskUserQuestion:
|
|
118
|
+
```yaml
|
|
119
|
+
questions:
|
|
120
|
+
- header: "Start"
|
|
121
|
+
question: "CI Fixer ready. Watch CI on branch '{branch}'?"
|
|
122
|
+
options:
|
|
123
|
+
- label: "Start watching (Recommended)"
|
|
124
|
+
description: "Begin monitoring CI pipeline"
|
|
125
|
+
- label: "Change settings"
|
|
126
|
+
description: "Modify configuration before starting"
|
|
127
|
+
- label: "Cancel"
|
|
128
|
+
description: "Don't start the workflow"
|
|
129
|
+
multiSelect: false
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## SUCCESS METRICS:
|
|
135
|
+
|
|
136
|
+
✅ All flags correctly parsed
|
|
137
|
+
✅ Current branch detected
|
|
138
|
+
✅ Git status checked
|
|
139
|
+
✅ State variables initialized
|
|
140
|
+
✅ User confirmed start (if not auto_mode)
|
|
141
|
+
|
|
142
|
+
## FAILURE MODES:
|
|
143
|
+
|
|
144
|
+
❌ Not detecting the current branch
|
|
145
|
+
❌ Proceeding with git errors
|
|
146
|
+
❌ Missing state variables
|
|
147
|
+
❌ Not warning about uncommitted changes
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## NEXT STEP:
|
|
152
|
+
|
|
153
|
+
After initialization, load `./step-01-watch-ci.md`
|
|
154
|
+
|
|
155
|
+
<critical>
|
|
156
|
+
Remember: Init is ONLY about setup - don't start watching CI here!
|
|
157
|
+
</critical>
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-01-watch-ci
|
|
3
|
+
description: Find CI run and monitor status - no upfront wait
|
|
4
|
+
prev_step: steps/step-00-init.md
|
|
5
|
+
next_step_success: steps/step-05-cleanup.md
|
|
6
|
+
next_step_failure: steps/step-02-analyze-errors.md
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Step 1: Watch CI
|
|
10
|
+
|
|
11
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
12
|
+
|
|
13
|
+
- 🛑 NEVER sleep upfront - check for CI immediately
|
|
14
|
+
- ✅ ALWAYS check for CI run first, only wait if not found
|
|
15
|
+
- 📋 YOU ARE A CI MONITOR, not a fixer (that comes later)
|
|
16
|
+
- 💬 FOCUS on detecting CI status only
|
|
17
|
+
- 🚫 FORBIDDEN to start fixing before CI has run
|
|
18
|
+
|
|
19
|
+
## EXECUTION PROTOCOLS:
|
|
20
|
+
|
|
21
|
+
- 🎯 Check immediately → Wait only if needed → Watch → Report
|
|
22
|
+
- 💾 Store run_id when found
|
|
23
|
+
- 📖 Complete monitoring before loading next step
|
|
24
|
+
- 🚫 FORBIDDEN to load step-02 until CI status is known
|
|
25
|
+
|
|
26
|
+
## CONTEXT BOUNDARIES:
|
|
27
|
+
|
|
28
|
+
From step-00-init:
|
|
29
|
+
|
|
30
|
+
| Variable | Description |
|
|
31
|
+
|----------|-------------|
|
|
32
|
+
| `{auto_mode}` | Skip confirmations |
|
|
33
|
+
| `{max_attempts}` | Max fix attempts |
|
|
34
|
+
| `{current_attempt}` | Current attempt number |
|
|
35
|
+
| `{branch}` | Current git branch |
|
|
36
|
+
| `{last_commit_sha}` | SHA of the commit we're watching |
|
|
37
|
+
| `{artifacts_dir}` | Path to artifacts (may exist from previous attempts) |
|
|
38
|
+
|
|
39
|
+
## YOUR TASK:
|
|
40
|
+
|
|
41
|
+
Find the CI run for the current branch, wait only if not triggered yet (max 1 minute), then monitor until completion.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## EXECUTION SEQUENCE:
|
|
46
|
+
|
|
47
|
+
### 1. Get Current Commit SHA
|
|
48
|
+
|
|
49
|
+
First, capture the commit we're watching:
|
|
50
|
+
```bash
|
|
51
|
+
git rev-parse HEAD
|
|
52
|
+
```
|
|
53
|
+
Store as `{last_commit_sha}` (short: first 7 chars).
|
|
54
|
+
|
|
55
|
+
### 2. Check for CI Run (Immediate - No Sleep)
|
|
56
|
+
|
|
57
|
+
**Check immediately for a workflow run:**
|
|
58
|
+
```bash
|
|
59
|
+
gh run list --branch {branch} --limit 5 --json databaseId,status,conclusion,name,headSha
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Find run matching our commit:**
|
|
63
|
+
- Look for a run where `headSha` starts with `{last_commit_sha}`
|
|
64
|
+
- If found → Extract `databaseId` as `{run_id}`, go to step 3
|
|
65
|
+
- If NOT found → Go to wait loop (step 2b)
|
|
66
|
+
|
|
67
|
+
### 2b. Wait Loop (Only If No CI Found)
|
|
68
|
+
|
|
69
|
+
**If no CI run found for our commit:**
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
wait_seconds = 0
|
|
73
|
+
max_wait = 60 # 1 minute max
|
|
74
|
+
|
|
75
|
+
WHILE wait_seconds < max_wait:
|
|
76
|
+
Display: "No CI run found yet. Waiting... ({wait_seconds}s / 60s)"
|
|
77
|
+
|
|
78
|
+
sleep 10
|
|
79
|
+
wait_seconds += 10
|
|
80
|
+
|
|
81
|
+
# Check again
|
|
82
|
+
gh run list --branch {branch} --limit 5 --json databaseId,status,conclusion,name,headSha
|
|
83
|
+
|
|
84
|
+
IF run found for {last_commit_sha}:
|
|
85
|
+
→ Extract run_id, BREAK loop
|
|
86
|
+
→ Go to step 3
|
|
87
|
+
|
|
88
|
+
IF wait_seconds >= 60 AND still no run:
|
|
89
|
+
→ Display: "⚠️ No CI configured for this repository"
|
|
90
|
+
→ Display: "No GitHub Actions workflow triggered after 1 minute"
|
|
91
|
+
→ Load step-05-cleanup.md (cleanup and exit)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 3. Monitor Run Progress
|
|
95
|
+
|
|
96
|
+
**If status = "in_progress" or "queued":**
|
|
97
|
+
```bash
|
|
98
|
+
gh run watch {run_id}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
This command blocks until the run completes.
|
|
102
|
+
|
|
103
|
+
**Display:**
|
|
104
|
+
- "Watching run #{run_id} for commit {last_commit_sha}..."
|
|
105
|
+
- Show job statuses as they complete
|
|
106
|
+
|
|
107
|
+
### 4. Determine Outcome
|
|
108
|
+
|
|
109
|
+
After run completes, check final status:
|
|
110
|
+
```bash
|
|
111
|
+
gh run view {run_id} --json conclusion,jobs
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**If conclusion = "success":**
|
|
115
|
+
→ Display: "✅ CI passed! All checks green."
|
|
116
|
+
→ Load `step-05-cleanup.md` (cleanup and summary)
|
|
117
|
+
|
|
118
|
+
**If conclusion = "failure":**
|
|
119
|
+
→ Display: "❌ CI failed. Analyzing errors..."
|
|
120
|
+
→ Increment `{current_attempt}`
|
|
121
|
+
→ Proceed to step-02
|
|
122
|
+
|
|
123
|
+
**If conclusion = "cancelled":**
|
|
124
|
+
→ Display: "⚠️ CI was cancelled"
|
|
125
|
+
→ Ask user what to do
|
|
126
|
+
|
|
127
|
+
### 5. Check Attempt Limit
|
|
128
|
+
|
|
129
|
+
**If `{current_attempt}` >= `{max_attempts}`:**
|
|
130
|
+
→ Display: "Maximum attempts ({max_attempts}) reached."
|
|
131
|
+
|
|
132
|
+
**If `{auto_mode}` = false:**
|
|
133
|
+
Use AskUserQuestion:
|
|
134
|
+
```yaml
|
|
135
|
+
questions:
|
|
136
|
+
- header: "Max Attempts"
|
|
137
|
+
question: "Reached {max_attempts} attempts. What should we do?"
|
|
138
|
+
options:
|
|
139
|
+
- label: "Continue trying"
|
|
140
|
+
description: "Keep attempting to fix (reset counter)"
|
|
141
|
+
- label: "Stop here"
|
|
142
|
+
description: "Stop and show summary"
|
|
143
|
+
multiSelect: false
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**If user chooses "Stop here" OR `{auto_mode}` = true:**
|
|
147
|
+
→ Load `step-05-cleanup.md` (cleanup and summary)
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## SUCCESS METRICS:
|
|
152
|
+
|
|
153
|
+
✅ Checked for CI immediately (no upfront sleep)
|
|
154
|
+
✅ Run ID captured for correct commit
|
|
155
|
+
✅ Run monitored to completion
|
|
156
|
+
✅ Status correctly determined (success/failure)
|
|
157
|
+
✅ Attempt counter updated
|
|
158
|
+
✅ Detected "no CI" after 1 minute if applicable
|
|
159
|
+
✅ Routes to step-05 on success or stop
|
|
160
|
+
|
|
161
|
+
## FAILURE MODES:
|
|
162
|
+
|
|
163
|
+
❌ Sleeping before checking for CI
|
|
164
|
+
❌ Waiting longer than 1 minute for non-existent CI
|
|
165
|
+
❌ Missing run ID
|
|
166
|
+
❌ Not matching run to correct commit SHA
|
|
167
|
+
❌ Not incrementing attempt counter
|
|
168
|
+
❌ Not routing to cleanup on success
|
|
169
|
+
|
|
170
|
+
## WATCH PROTOCOLS:
|
|
171
|
+
|
|
172
|
+
- Check immediately, don't assume CI needs time
|
|
173
|
+
- Only wait if no run found (CI might be slow to trigger)
|
|
174
|
+
- Max wait: 1 minute, then conclude no CI configured
|
|
175
|
+
- Always match run to our specific commit SHA
|
|
176
|
+
- Use `gh run watch` for real-time monitoring
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## NEXT STEP:
|
|
181
|
+
|
|
182
|
+
**If CI passed:** Load `./step-05-cleanup.md`
|
|
183
|
+
|
|
184
|
+
**If no CI configured:** Load `./step-05-cleanup.md`
|
|
185
|
+
|
|
186
|
+
**If max attempts reached and user stops:** Load `./step-05-cleanup.md`
|
|
187
|
+
|
|
188
|
+
**If CI failed and attempts remaining:** Load `./step-02-analyze-errors.md`
|
|
189
|
+
|
|
190
|
+
<critical>
|
|
191
|
+
Remember: Check first, wait only if needed. Route to cleanup (step-05) on success or stop!
|
|
192
|
+
</critical>
|