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,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: refactor
|
|
3
|
+
description: Refactor code across the codebase using parallel Snipper agents. Use when user wants to rename methods, update patterns, fix code smells, or apply consistent changes across multiple files.
|
|
4
|
+
argument-hint: <search-pattern-or-description>
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Refactor
|
|
8
|
+
|
|
9
|
+
Refactor code matching `$ARGUMENTS` across the codebase using parallel Snipper agents for maximum speed.
|
|
10
|
+
|
|
11
|
+
## Process
|
|
12
|
+
|
|
13
|
+
### Phase 1: Discovery
|
|
14
|
+
|
|
15
|
+
1. **Parse the refactor request** from `$ARGUMENTS`
|
|
16
|
+
- Identify: method name, component name, pattern, or code smell
|
|
17
|
+
- Choose search strategy: Grep for code patterns, Glob for file patterns
|
|
18
|
+
|
|
19
|
+
2. **Find all affected files**
|
|
20
|
+
- Use Grep/Glob to search the codebase
|
|
21
|
+
- Exclude: node_modules, .git, dist, build
|
|
22
|
+
- If >15 files found, ask user to confirm or narrow scope
|
|
23
|
+
|
|
24
|
+
### Phase 2: Create Instructions
|
|
25
|
+
|
|
26
|
+
3. **Create task folder**: `.claude/tasks/refactor-{timestamp}/`
|
|
27
|
+
|
|
28
|
+
4. **Create ONE instruction file** at `instructions.md`:
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
# Refactor: {title}
|
|
32
|
+
|
|
33
|
+
## Objective
|
|
34
|
+
{What to refactor - derived from $ARGUMENTS}
|
|
35
|
+
|
|
36
|
+
## Pattern to Find
|
|
37
|
+
{Exact code pattern or structure to locate}
|
|
38
|
+
|
|
39
|
+
## Transformation
|
|
40
|
+
{How to transform - be specific and adaptive}
|
|
41
|
+
|
|
42
|
+
## Examples
|
|
43
|
+
Before:
|
|
44
|
+
{current code}
|
|
45
|
+
|
|
46
|
+
After:
|
|
47
|
+
{refactored code}
|
|
48
|
+
|
|
49
|
+
## Constraints
|
|
50
|
+
- Only modify code matching the pattern
|
|
51
|
+
- Preserve all existing functionality
|
|
52
|
+
- Follow codebase conventions
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Phase 3: Execute in Parallel
|
|
56
|
+
|
|
57
|
+
5. **Group files** into batches of max 3 files each
|
|
58
|
+
|
|
59
|
+
6. **Launch Snipper agents in parallel** - ALL batches in a SINGLE message:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Using instructions in .claude/tasks/refactor-{id}/instructions.md, refactor:
|
|
63
|
+
- {file_1}
|
|
64
|
+
- {file_2}
|
|
65
|
+
- {file_3}
|
|
66
|
+
|
|
67
|
+
Read instructions first, then apply the refactor to each file.
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Phase 4: Verification
|
|
71
|
+
|
|
72
|
+
7. **Validate changes**
|
|
73
|
+
- Run `pnpm lint` (if available)
|
|
74
|
+
- Run `pnpm tsc` (if TypeScript)
|
|
75
|
+
|
|
76
|
+
8. **Report summary**
|
|
77
|
+
- Files modified
|
|
78
|
+
- Errors encountered
|
|
79
|
+
- Next steps if needed
|
|
80
|
+
|
|
81
|
+
## Example
|
|
82
|
+
|
|
83
|
+
User: `/refactor rename getUserData to fetchUserProfile`
|
|
84
|
+
|
|
85
|
+
1. Grep finds 12 files containing "getUserData"
|
|
86
|
+
2. Creates `.claude/tasks/refactor-1702489200/instructions.md`
|
|
87
|
+
3. Groups into 4 batches of 3 files
|
|
88
|
+
4. Launches 4 Snipper agents in parallel
|
|
89
|
+
5. Runs lint, reports: "Refactored 12 files"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: save-docs
|
|
3
|
+
description: Fetch library documentation using Context7 MCP and save to .claude/output/docs/
|
|
4
|
+
allowed-tools: Write, Bash(mkdir :*)
|
|
5
|
+
argument-hint: <library> <topic>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Save Docs
|
|
9
|
+
|
|
10
|
+
Fetch documentation for a library/topic and save it locally for future reference.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
1. **PARSE REQUEST**: Extract library and topic
|
|
15
|
+
- Example: `shadcn ui button` → library: `shadcn`, topic: `button`
|
|
16
|
+
- Example: `react hooks` → library: `react`, topic: `hooks`
|
|
17
|
+
|
|
18
|
+
2. **RESOLVE LIBRARY**: Use `mcp__context7__resolve-library-id`
|
|
19
|
+
- Search for the library name
|
|
20
|
+
- Get the Context7-compatible library ID
|
|
21
|
+
- Example: `shadcn` → `/shadcn-ui/ui`
|
|
22
|
+
|
|
23
|
+
3. **FETCH DOCS**: Use `mcp__context7__query-docs`
|
|
24
|
+
- Query with the resolved library ID
|
|
25
|
+
- Include the specific topic in the query
|
|
26
|
+
- Request comprehensive documentation with examples
|
|
27
|
+
|
|
28
|
+
4. **CREATE OUTPUT DIRECTORY**:
|
|
29
|
+
```bash
|
|
30
|
+
mkdir -p .claude/output/docs
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
5. **SAVE DOCUMENTATION**: Write to file
|
|
34
|
+
- Filename: `{library}-{topic}.md` (kebab-case)
|
|
35
|
+
- Example: `.claude/output/docs/shadcn-button.md`
|
|
36
|
+
- Include: API reference, usage examples, configuration options
|
|
37
|
+
|
|
38
|
+
## File Format
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
# {Library} - {Topic}
|
|
42
|
+
|
|
43
|
+
> Source: Context7 documentation
|
|
44
|
+
|
|
45
|
+
## Overview
|
|
46
|
+
[Brief description]
|
|
47
|
+
|
|
48
|
+
## Usage
|
|
49
|
+
[Code examples]
|
|
50
|
+
|
|
51
|
+
## API Reference
|
|
52
|
+
[Props, methods, options]
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
[Working code snippets]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Examples
|
|
59
|
+
|
|
60
|
+
| Command | Output File |
|
|
61
|
+
|---------|-------------|
|
|
62
|
+
| `/save-docs shadcn button` | `.claude/output/docs/shadcn-button.md` |
|
|
63
|
+
| `/save-docs react useEffect` | `.claude/output/docs/react-useeffect.md` |
|
|
64
|
+
| `/save-docs nextjs app router` | `.claude/output/docs/nextjs-app-router.md` |
|
|
65
|
+
|
|
66
|
+
## Rules
|
|
67
|
+
|
|
68
|
+
- ALWAYS resolve library ID first with `resolve-library-id`
|
|
69
|
+
- ALWAYS create output directory before writing
|
|
70
|
+
- Use kebab-case for filenames
|
|
71
|
+
- Include code examples from documentation
|
|
72
|
+
- Keep documentation concise but complete
|
|
73
|
+
|
|
74
|
+
User: $ARGUMENTS
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ultrathink
|
|
3
|
+
description: Deep thinking mode - approach problems like a craftsman, obsess over details, and create elegant solutions
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ultrathink
|
|
7
|
+
|
|
8
|
+
Take a deep breath. We're not here to write code. We're here to make a dent in the universe.
|
|
9
|
+
|
|
10
|
+
## The Approach
|
|
11
|
+
|
|
12
|
+
1. **Think Different** - Question every assumption. Why does it have to work that way? What would the most elegant solution look like?
|
|
13
|
+
|
|
14
|
+
2. **Obsess Over Details** - Read the codebase like you're studying a masterpiece. Understand the patterns, the philosophy, the _soul_ of this code.
|
|
15
|
+
|
|
16
|
+
3. **Plan Like Da Vinci** - Before writing a single line, sketch the architecture. Create a plan so clear anyone could understand it.
|
|
17
|
+
|
|
18
|
+
4. **Craft, Don't Code** - Every function name should sing. Every abstraction should feel natural. Every edge case handled with grace.
|
|
19
|
+
|
|
20
|
+
5. **Iterate Relentlessly** - The first version is never good enough. Run tests. Compare results. Refine until it's _insanely great_.
|
|
21
|
+
|
|
22
|
+
6. **Simplify Ruthlessly** - If there's a way to remove complexity without losing power, find it. Elegance is achieved when there's nothing left to take away.
|
|
23
|
+
|
|
24
|
+
## Your Tools Are Instruments
|
|
25
|
+
|
|
26
|
+
- Use bash tools, MCP servers, and custom commands like a virtuoso
|
|
27
|
+
- Git history tells the story—read it, learn from it, honor it
|
|
28
|
+
- Multiple Claude instances aren't redundancy—they're collaboration between perspectives
|
|
29
|
+
|
|
30
|
+
## The Integration
|
|
31
|
+
|
|
32
|
+
Technology alone is not enough. Your code should:
|
|
33
|
+
- Work seamlessly with the human's workflow
|
|
34
|
+
- Feel intuitive, not mechanical
|
|
35
|
+
- Solve the _real_ problem, not just the stated one
|
|
36
|
+
- Leave the codebase better than you found it
|
|
37
|
+
|
|
38
|
+
## Reality Distortion Field
|
|
39
|
+
|
|
40
|
+
When something seems impossible, that's your cue to ultrathink harder. The people crazy enough to think they can change the world are the ones who do.
|
|
41
|
+
|
|
42
|
+
Don't just tell me how you'll solve it. _Show me_ why this solution is the only one that makes sense.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: apex
|
|
3
|
+
description: Systematic implementation using APEX methodology (Analyze-Plan-Execute-eXamine) with parallel agents, self-validation, and optional adversarial review. Use when implementing features, fixing bugs, or making code changes that benefit from structured workflow.
|
|
4
|
+
argument-hint: "[-a] [-x] [-s] [-t] [-b] [-pr] [-i] [-m] [-r <task-id>] <task description>"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<objective>
|
|
8
|
+
Execute systematic implementation workflows using the APEX methodology with progressive step loading.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<quick_start>
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
/apex add authentication middleware # Basic
|
|
15
|
+
/apex -a -s implement user registration # Autonomous + save
|
|
16
|
+
/apex -a -x -s fix login bug # With adversarial review
|
|
17
|
+
/apex -a -m implement full auth system # Agent Teams (parallel)
|
|
18
|
+
/apex -a -x -s -t add auth middleware # Full workflow with tests
|
|
19
|
+
/apex -a -pr add auth middleware # With PR creation
|
|
20
|
+
/apex -r 01-auth-middleware # Resume previous task
|
|
21
|
+
/apex -e add auth middleware # Economy mode (save tokens)
|
|
22
|
+
/apex -i add auth middleware # Interactive flag config
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
</quick_start>
|
|
26
|
+
|
|
27
|
+
<flags>
|
|
28
|
+
**Enable (lowercase ON) / Disable (UPPERCASE OFF):**
|
|
29
|
+
|
|
30
|
+
| ON | OFF | Long | Description |
|
|
31
|
+
|----|-----|------|-------------|
|
|
32
|
+
| `-a` | `-A` | `--auto` | Skip confirmations, auto-approve |
|
|
33
|
+
| `-x` | `-X` | `--examine` | Adversarial code review |
|
|
34
|
+
| `-s` | `-S` | `--save` | Save outputs to `.claude/output/apex/` |
|
|
35
|
+
| `-t` | `-T` | `--test` | Include test creation + runner |
|
|
36
|
+
| `-e` | `-E` | `--economy` | No subagents, save tokens |
|
|
37
|
+
| `-b` | `-B` | `--branch` | Verify not on main, create branch |
|
|
38
|
+
| `-pr` | `-PR` | `--pull-request` | Create PR at end (enables -b) |
|
|
39
|
+
| `-i` | | `--interactive` | Configure flags via menu |
|
|
40
|
+
| `-k` | `-K` | `--tasks` | Task breakdown with dependencies |
|
|
41
|
+
| `-m` | `-M` | `--teams` | Agent Teams parallel execution (enables -k) |
|
|
42
|
+
| `-r` | | `--resume` | Resume from previous task ID |
|
|
43
|
+
|
|
44
|
+
**Parsing:** Defaults from `steps/step-00-init.md`, flags override, remainder = `{task_description}`, ID = `NN-kebab-case`.
|
|
45
|
+
</flags>
|
|
46
|
+
|
|
47
|
+
<workflow>
|
|
48
|
+
1. **Init** → Parse flags, setup state
|
|
49
|
+
2. **Analyze** → Context gathering (1-10 parallel agents)
|
|
50
|
+
3. **Plan** → File-by-file strategy + TaskList creation
|
|
51
|
+
4. **Tasks** → Task breakdown (if -k or -m)
|
|
52
|
+
5. **Execute** → Implementation (standard or Agent Teams if -m)
|
|
53
|
+
6. **Validate** → Typecheck, lint, tests
|
|
54
|
+
7. **Tests** → Create + run tests (if -t)
|
|
55
|
+
8. **Examine** → Adversarial review (if -x)
|
|
56
|
+
9. **Resolve** → Fix findings (if examine found issues)
|
|
57
|
+
10. **Finish** → Create PR (if -pr)
|
|
58
|
+
</workflow>
|
|
59
|
+
|
|
60
|
+
<step_files>
|
|
61
|
+
|
|
62
|
+
| Step | File | Purpose |
|
|
63
|
+
|------|------|---------|
|
|
64
|
+
| 00 | `steps/step-00-init.md` | Parse flags, initialize state |
|
|
65
|
+
| 00b | `steps/step-00b-save.md` | Setup save output structure (if -s) |
|
|
66
|
+
| 00b | `steps/step-00b-branch.md` | Git branch setup (if -b) |
|
|
67
|
+
| 00b | `steps/step-00b-economy.md` | Economy mode overrides (if -e) |
|
|
68
|
+
| 00b | `steps/step-00b-interactive.md` | Interactive flag config (if -i) |
|
|
69
|
+
| 01 | `steps/step-01-analyze.md` | Smart context gathering |
|
|
70
|
+
| 02 | `steps/step-02-plan.md` | File-by-file plan + TaskList |
|
|
71
|
+
| 02b | `steps/step-02b-tasks.md` | Task breakdown (if -k/-m) |
|
|
72
|
+
| 03 | `steps/step-03-execute.md` | Todo-driven implementation |
|
|
73
|
+
| 03t | `steps/step-03-execute-teams.md` | Agent Team execution (if -m) |
|
|
74
|
+
| 04 | `steps/step-04-validate.md` | Self-check and validation |
|
|
75
|
+
| 05 | `steps/step-05-examine.md` | Adversarial code review |
|
|
76
|
+
| 06 | `steps/step-06-resolve.md` | Finding resolution |
|
|
77
|
+
| 07 | `steps/step-07-tests.md` | Test analysis and creation |
|
|
78
|
+
| 08 | `steps/step-08-run-tests.md` | Test runner loop |
|
|
79
|
+
| 09 | `steps/step-09-finish.md` | Create pull request |
|
|
80
|
+
|
|
81
|
+
</step_files>
|
|
82
|
+
|
|
83
|
+
<state_variables>
|
|
84
|
+
|
|
85
|
+
| Variable | Type | Set by |
|
|
86
|
+
|----------|------|--------|
|
|
87
|
+
| `{task_description}` | string | step-00 |
|
|
88
|
+
| `{feature_name}` | string | step-00 |
|
|
89
|
+
| `{task_id}` | string | step-00 / step-00b-save |
|
|
90
|
+
| `{acceptance_criteria}` | list | step-01 |
|
|
91
|
+
| `{auto_mode}` | boolean | step-00 |
|
|
92
|
+
| `{examine_mode}` | boolean | step-00 |
|
|
93
|
+
| `{save_mode}` | boolean | step-00 |
|
|
94
|
+
| `{test_mode}` | boolean | step-00 |
|
|
95
|
+
| `{economy_mode}` | boolean | step-00 |
|
|
96
|
+
| `{branch_mode}` | boolean | step-00 |
|
|
97
|
+
| `{pr_mode}` | boolean | step-00 |
|
|
98
|
+
| `{tasks_mode}` | boolean | step-00 |
|
|
99
|
+
| `{teams_mode}` | boolean | step-00 |
|
|
100
|
+
| `{output_dir}` | string | step-00b-save |
|
|
101
|
+
| `{branch_name}` | string | step-00b-branch |
|
|
102
|
+
|
|
103
|
+
</state_variables>
|
|
104
|
+
|
|
105
|
+
<execution_rules>
|
|
106
|
+
- **Load one step at a time** (progressive loading)
|
|
107
|
+
- **ULTRA THINK** before major decisions
|
|
108
|
+
- **Persist state variables** across all steps
|
|
109
|
+
- **Follow next_step directive** at end of each step
|
|
110
|
+
- **Save outputs** if `{save_mode}` = true (each step appends to its file)
|
|
111
|
+
- **Use parallel agents** for independent exploration (step-01)
|
|
112
|
+
</execution_rules>
|
|
113
|
+
|
|
114
|
+
<entry_point>
|
|
115
|
+
**FIRST ACTION:** Load `steps/step-00-init.md`
|
|
116
|
+
</entry_point>
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# APEX Template Setup Script
|
|
3
|
+
# Creates output directory structure and initializes template files
|
|
4
|
+
#
|
|
5
|
+
# Usage: setup-templates.sh "feature-name" [other args...]
|
|
6
|
+
# The script auto-generates the task ID with the next available number.
|
|
7
|
+
|
|
8
|
+
set -e
|
|
9
|
+
|
|
10
|
+
# Arguments - first arg is now just the feature name (kebab-case)
|
|
11
|
+
FEATURE_NAME="$1"
|
|
12
|
+
TASK_DESCRIPTION="$2"
|
|
13
|
+
AUTO_MODE="${3:-false}"
|
|
14
|
+
EXAMINE_MODE="${4:-false}"
|
|
15
|
+
SAVE_MODE="${5:-false}"
|
|
16
|
+
TEST_MODE="${6:-false}"
|
|
17
|
+
ECONOMY_MODE="${7:-false}"
|
|
18
|
+
BRANCH_MODE="${8:-false}"
|
|
19
|
+
PR_MODE="${9:-false}"
|
|
20
|
+
INTERACTIVE_MODE="${10:-false}"
|
|
21
|
+
TASKS_MODE="${11:-false}"
|
|
22
|
+
BRANCH_NAME="${12:-}"
|
|
23
|
+
ORIGINAL_INPUT="${13:-}"
|
|
24
|
+
|
|
25
|
+
# Validate required arguments
|
|
26
|
+
if [[ -z "$FEATURE_NAME" ]]; then
|
|
27
|
+
echo "Error: FEATURE_NAME is required"
|
|
28
|
+
exit 1
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
if [[ -z "$TASK_DESCRIPTION" ]]; then
|
|
32
|
+
echo "Error: TASK_DESCRIPTION is required"
|
|
33
|
+
exit 1
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
# Get current timestamp
|
|
37
|
+
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
38
|
+
|
|
39
|
+
# Use current working directory as project root
|
|
40
|
+
PROJECT_ROOT=$(pwd)
|
|
41
|
+
APEX_OUTPUT_DIR="${PROJECT_ROOT}/.claude/output/apex"
|
|
42
|
+
|
|
43
|
+
# Create apex output directory if it doesn't exist
|
|
44
|
+
mkdir -p "$APEX_OUTPUT_DIR"
|
|
45
|
+
|
|
46
|
+
# Find the next available number
|
|
47
|
+
NEXT_NUM=1
|
|
48
|
+
if [[ -d "$APEX_OUTPUT_DIR" ]]; then
|
|
49
|
+
# Find highest existing number prefix
|
|
50
|
+
HIGHEST=$(ls -1 "$APEX_OUTPUT_DIR" 2>/dev/null | grep -oE '^[0-9]+' | sort -n | tail -1)
|
|
51
|
+
if [[ -n "$HIGHEST" ]]; then
|
|
52
|
+
# Force base-10 interpretation (leading zeros would be treated as octal)
|
|
53
|
+
NEXT_NUM=$((10#$HIGHEST + 1))
|
|
54
|
+
fi
|
|
55
|
+
fi
|
|
56
|
+
|
|
57
|
+
# Format with leading zeros (2 digits)
|
|
58
|
+
TASK_NUM=$(printf "%02d" "$NEXT_NUM")
|
|
59
|
+
|
|
60
|
+
# Build full task ID
|
|
61
|
+
TASK_ID="${TASK_NUM}-${FEATURE_NAME}"
|
|
62
|
+
|
|
63
|
+
OUTPUT_DIR="${APEX_OUTPUT_DIR}/${TASK_ID}"
|
|
64
|
+
|
|
65
|
+
# Get skill directory
|
|
66
|
+
SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
67
|
+
TEMPLATE_DIR="${SKILL_DIR}/templates"
|
|
68
|
+
|
|
69
|
+
# Create output directory
|
|
70
|
+
mkdir -p "$OUTPUT_DIR"
|
|
71
|
+
|
|
72
|
+
# Function to replace template variables
|
|
73
|
+
render_template() {
|
|
74
|
+
local template_file="$1"
|
|
75
|
+
local output_file="$2"
|
|
76
|
+
|
|
77
|
+
# Determine status strings based on flags
|
|
78
|
+
local examine_status="⏭ Skip"
|
|
79
|
+
[[ "$EXAMINE_MODE" == "true" ]] && examine_status="⏸ Pending"
|
|
80
|
+
|
|
81
|
+
local test_status="⏭ Skip"
|
|
82
|
+
[[ "$TEST_MODE" == "true" ]] && test_status="⏸ Pending"
|
|
83
|
+
|
|
84
|
+
local pr_status="⏭ Skip"
|
|
85
|
+
[[ "$PR_MODE" == "true" ]] && pr_status="⏸ Pending"
|
|
86
|
+
|
|
87
|
+
local tasks_status="⏭ Skip"
|
|
88
|
+
[[ "$TASKS_MODE" == "true" ]] && tasks_status="⏸ Pending"
|
|
89
|
+
|
|
90
|
+
# Read template and replace variables
|
|
91
|
+
sed -e "s|{{task_id}}|${TASK_ID}|g" \
|
|
92
|
+
-e "s|{{task_description}}|${TASK_DESCRIPTION}|g" \
|
|
93
|
+
-e "s|{{timestamp}}|${TIMESTAMP}|g" \
|
|
94
|
+
-e "s|{{auto_mode}}|${AUTO_MODE}|g" \
|
|
95
|
+
-e "s|{{examine_mode}}|${EXAMINE_MODE}|g" \
|
|
96
|
+
-e "s|{{save_mode}}|${SAVE_MODE}|g" \
|
|
97
|
+
-e "s|{{test_mode}}|${TEST_MODE}|g" \
|
|
98
|
+
-e "s|{{economy_mode}}|${ECONOMY_MODE}|g" \
|
|
99
|
+
-e "s|{{branch_mode}}|${BRANCH_MODE}|g" \
|
|
100
|
+
-e "s|{{pr_mode}}|${PR_MODE}|g" \
|
|
101
|
+
-e "s|{{interactive_mode}}|${INTERACTIVE_MODE}|g" \
|
|
102
|
+
-e "s|{{tasks_mode}}|${TASKS_MODE}|g" \
|
|
103
|
+
-e "s|{{branch_name}}|${BRANCH_NAME}|g" \
|
|
104
|
+
-e "s|{{original_input}}|${ORIGINAL_INPUT}|g" \
|
|
105
|
+
-e "s|{{examine_status}}|${examine_status}|g" \
|
|
106
|
+
-e "s|{{test_status}}|${test_status}|g" \
|
|
107
|
+
-e "s|{{tasks_status}}|${tasks_status}|g" \
|
|
108
|
+
-e "s|{{pr_status}}|${pr_status}|g" \
|
|
109
|
+
"$template_file" > "$output_file"
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
# Initialize 00-context.md
|
|
113
|
+
render_template "${TEMPLATE_DIR}/00-context.md" "${OUTPUT_DIR}/00-context.md"
|
|
114
|
+
|
|
115
|
+
# Initialize other step files (only headers, content appended during execution)
|
|
116
|
+
render_template "${TEMPLATE_DIR}/01-analyze.md" "${OUTPUT_DIR}/01-analyze.md"
|
|
117
|
+
render_template "${TEMPLATE_DIR}/02-plan.md" "${OUTPUT_DIR}/02-plan.md"
|
|
118
|
+
render_template "${TEMPLATE_DIR}/03-execute.md" "${OUTPUT_DIR}/03-execute.md"
|
|
119
|
+
render_template "${TEMPLATE_DIR}/04-validate.md" "${OUTPUT_DIR}/04-validate.md"
|
|
120
|
+
|
|
121
|
+
# Conditional templates
|
|
122
|
+
if [[ "$EXAMINE_MODE" == "true" ]]; then
|
|
123
|
+
render_template "${TEMPLATE_DIR}/05-examine.md" "${OUTPUT_DIR}/05-examine.md"
|
|
124
|
+
render_template "${TEMPLATE_DIR}/06-resolve.md" "${OUTPUT_DIR}/06-resolve.md"
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
if [[ "$TEST_MODE" == "true" ]]; then
|
|
128
|
+
render_template "${TEMPLATE_DIR}/07-tests.md" "${OUTPUT_DIR}/07-tests.md"
|
|
129
|
+
render_template "${TEMPLATE_DIR}/08-run-tests.md" "${OUTPUT_DIR}/08-run-tests.md"
|
|
130
|
+
fi
|
|
131
|
+
|
|
132
|
+
if [[ "$TASKS_MODE" == "true" ]]; then
|
|
133
|
+
mkdir -p "${OUTPUT_DIR}/tasks"
|
|
134
|
+
fi
|
|
135
|
+
|
|
136
|
+
if [[ "$PR_MODE" == "true" ]]; then
|
|
137
|
+
render_template "${TEMPLATE_DIR}/09-finish.md" "${OUTPUT_DIR}/09-finish.md"
|
|
138
|
+
fi
|
|
139
|
+
|
|
140
|
+
# Output the generated task_id for capture by caller
|
|
141
|
+
echo "TASK_ID=${TASK_ID}"
|
|
142
|
+
echo "OUTPUT_DIR=${OUTPUT_DIR}"
|
|
143
|
+
echo "✓ APEX templates initialized: ${OUTPUT_DIR}"
|
|
144
|
+
exit 0
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# APEX Progress Update Script
|
|
3
|
+
# Updates 00-context.md progress table
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
# Arguments
|
|
8
|
+
TASK_ID="$1"
|
|
9
|
+
STEP_NUMBER="$2"
|
|
10
|
+
STEP_NAME="$3"
|
|
11
|
+
STATUS="$4" # "in_progress" or "complete"
|
|
12
|
+
|
|
13
|
+
# Validate required arguments
|
|
14
|
+
if [[ -z "$TASK_ID" ]] || [[ -z "$STEP_NUMBER" ]] || [[ -z "$STEP_NAME" ]] || [[ -z "$STATUS" ]]; then
|
|
15
|
+
echo "Usage: $0 <task_id> <step_number> <step_name> <status>"
|
|
16
|
+
echo "Example: $0 01-add-auth 01 analyze complete"
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
# Find project root
|
|
21
|
+
PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
|
|
22
|
+
CONTEXT_FILE="${PROJECT_ROOT}/.claude/output/apex/${TASK_ID}/00-context.md"
|
|
23
|
+
|
|
24
|
+
# Validate context file exists
|
|
25
|
+
if [[ ! -f "$CONTEXT_FILE" ]]; then
|
|
26
|
+
echo "Error: Context file not found: $CONTEXT_FILE"
|
|
27
|
+
exit 1
|
|
28
|
+
fi
|
|
29
|
+
|
|
30
|
+
# Get timestamp
|
|
31
|
+
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
32
|
+
|
|
33
|
+
# Determine status symbol
|
|
34
|
+
if [[ "$STATUS" == "in_progress" ]]; then
|
|
35
|
+
STATUS_SYMBOL="⏳ In Progress"
|
|
36
|
+
elif [[ "$STATUS" == "complete" ]]; then
|
|
37
|
+
STATUS_SYMBOL="✓ Complete"
|
|
38
|
+
else
|
|
39
|
+
echo "Error: Invalid status. Use 'in_progress' or 'complete'"
|
|
40
|
+
exit 1
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
# Create temp file
|
|
44
|
+
TEMP_FILE=$(mktemp)
|
|
45
|
+
|
|
46
|
+
# Update the progress table
|
|
47
|
+
awk -v step="${STEP_NUMBER}-${STEP_NAME}" \
|
|
48
|
+
-v status="$STATUS_SYMBOL" \
|
|
49
|
+
-v timestamp="$TIMESTAMP" '
|
|
50
|
+
BEGIN { in_table = 0; found = 0 }
|
|
51
|
+
{
|
|
52
|
+
# Detect progress table start
|
|
53
|
+
if ($0 ~ /^## Progress/) {
|
|
54
|
+
in_table = 1
|
|
55
|
+
print $0
|
|
56
|
+
next
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
# If in table and found the matching step
|
|
60
|
+
if (in_table && $0 ~ "\\| " step " \\|") {
|
|
61
|
+
printf "| %s | %s | %s |\n", step, status, timestamp
|
|
62
|
+
found = 1
|
|
63
|
+
next
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
# Print line as-is
|
|
67
|
+
print $0
|
|
68
|
+
}
|
|
69
|
+
END {
|
|
70
|
+
if (!found) {
|
|
71
|
+
print "Warning: Step not found in progress table" > "/dev/stderr"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
' "$CONTEXT_FILE" > "$TEMP_FILE"
|
|
75
|
+
|
|
76
|
+
# Replace original file
|
|
77
|
+
mv "$TEMP_FILE" "$CONTEXT_FILE"
|
|
78
|
+
|
|
79
|
+
echo "✓ Progress updated: ${STEP_NUMBER}-${STEP_NAME} → ${STATUS_SYMBOL}"
|
|
80
|
+
exit 0
|