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,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Setup Prisma ORM with PostgreSQL in a Next.js project with schema, migrations, and seed data
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<objective>
|
|
6
|
+
Setup Prisma in the current Next.js project with a production-ready database configuration.
|
|
7
|
+
|
|
8
|
+
This creates a complete database layer including schema, migrations, client helper, seed script, and API routes for verification. Designed for projects using Neon PostgreSQL.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<context>
|
|
12
|
+
Project structure: !`ls -la`
|
|
13
|
+
Package manager: !`cat package.json | grep -A2 '"packageManager"'`
|
|
14
|
+
Existing prisma config: !`ls prisma/ 2>/dev/null || echo "No prisma folder yet"`
|
|
15
|
+
TypeScript config: !`cat tsconfig.json | head -30`
|
|
16
|
+
</context>
|
|
17
|
+
|
|
18
|
+
<process>
|
|
19
|
+
## Phase 1: Information Gathering
|
|
20
|
+
|
|
21
|
+
1. **Ask for table structure** - Prompt user to describe ONE simple table to verify Prisma works:
|
|
22
|
+
- Table name and purpose
|
|
23
|
+
- Fields with types (String, Int, DateTime, Boolean)
|
|
24
|
+
- Example: "Post table with id, title, content, published, createdAt"
|
|
25
|
+
|
|
26
|
+
2. **Inspect existing structure** - Before coding:
|
|
27
|
+
- Check if `src/` folder exists
|
|
28
|
+
- Read `tsconfig.json` for path aliases
|
|
29
|
+
- Identify where `lib/` folder should be created
|
|
30
|
+
|
|
31
|
+
## Phase 2: Installation
|
|
32
|
+
|
|
33
|
+
3. **Install dependencies**:
|
|
34
|
+
```bash
|
|
35
|
+
pnpm add prisma @prisma/client
|
|
36
|
+
pnpm add -D tsx
|
|
37
|
+
npx prisma init
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
4. **Configure database provider** - Update `prisma/schema.prisma`:
|
|
41
|
+
- Set provider to "postgresql"
|
|
42
|
+
- Configure generator output path based on project structure
|
|
43
|
+
|
|
44
|
+
## Phase 3: Schema & Configuration
|
|
45
|
+
|
|
46
|
+
5. **Create schema** - Add the user-defined table with:
|
|
47
|
+
- `id` as String with `@id @default(cuid())`
|
|
48
|
+
- User-specified fields
|
|
49
|
+
- `createdAt DateTime @default(now())`
|
|
50
|
+
- `updatedAt DateTime @updatedAt`
|
|
51
|
+
|
|
52
|
+
6. **Configure exclusions**:
|
|
53
|
+
- Add generated folder to `.eslintignore`
|
|
54
|
+
- Add generated folder to `tsconfig.json` exclude array
|
|
55
|
+
|
|
56
|
+
7. **Create Prisma client helper** - Create singleton pattern in `lib/prisma.ts`:
|
|
57
|
+
```typescript
|
|
58
|
+
import { PrismaClient } from "@/generated/client";
|
|
59
|
+
|
|
60
|
+
const globalForPrisma = globalThis as unknown as {
|
|
61
|
+
prisma: PrismaClient | undefined;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export const prisma = globalForPrisma.prisma ?? new PrismaClient();
|
|
65
|
+
|
|
66
|
+
if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
8. **Create prisma.config.ts** - Root configuration:
|
|
70
|
+
```typescript
|
|
71
|
+
import path from "node:path";
|
|
72
|
+
import { defineConfig } from "prisma/config";
|
|
73
|
+
|
|
74
|
+
export default defineConfig({
|
|
75
|
+
schema: path.join("prisma", "schema.prisma"),
|
|
76
|
+
migrations: {
|
|
77
|
+
seed: `tsx prisma/seed.ts`,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Phase 4: Data & Verification
|
|
83
|
+
|
|
84
|
+
9. **Create seed script** - `prisma/seed.ts` with 5-10 realistic records
|
|
85
|
+
|
|
86
|
+
10. **Run migrations**:
|
|
87
|
+
```bash
|
|
88
|
+
npx prisma generate
|
|
89
|
+
npx prisma migrate dev --name init
|
|
90
|
+
npx prisma db seed
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
11. **Create example API route** - `app/api/example/route.ts`:
|
|
94
|
+
- GET endpoint fetching all records
|
|
95
|
+
- POST endpoint creating new record
|
|
96
|
+
- Proper error handling
|
|
97
|
+
|
|
98
|
+
12. **Add package.json scripts**:
|
|
99
|
+
```json
|
|
100
|
+
{
|
|
101
|
+
"db:generate": "prisma generate",
|
|
102
|
+
"db:push": "prisma db push",
|
|
103
|
+
"db:migrate": "prisma migrate dev",
|
|
104
|
+
"db:studio": "prisma studio",
|
|
105
|
+
"db:seed": "prisma db seed"
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Phase 5: Documentation
|
|
110
|
+
|
|
111
|
+
13. **Update CLAUDE.md** with:
|
|
112
|
+
- Database provider and connection info
|
|
113
|
+
- Schema overview
|
|
114
|
+
- Available db scripts
|
|
115
|
+
</process>
|
|
116
|
+
|
|
117
|
+
<constraints>
|
|
118
|
+
**FORBIDDEN - Do not create**:
|
|
119
|
+
- User, Account, Session, VerificationToken tables (auth tables)
|
|
120
|
+
- Any user-related fields or foreign keys
|
|
121
|
+
- More than ONE table (keep it minimal for verification)
|
|
122
|
+
|
|
123
|
+
**REQUIRED**:
|
|
124
|
+
- Adapt paths to existing project structure
|
|
125
|
+
- Use cuid() for IDs, not uuid or auto-increment
|
|
126
|
+
- Configure generator output path correctly
|
|
127
|
+
- Create seed data with realistic values
|
|
128
|
+
</constraints>
|
|
129
|
+
|
|
130
|
+
<success_criteria>
|
|
131
|
+
- `pnpm prisma generate` completes without errors
|
|
132
|
+
- `pnpm prisma migrate dev` creates migration successfully
|
|
133
|
+
- `pnpm prisma db seed` populates database
|
|
134
|
+
- API route returns data when called
|
|
135
|
+
- No TypeScript or ESLint errors in generated files
|
|
136
|
+
</success_criteria>
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Setup Better Auth with Email OTP authentication and shadcn/ui components in a Next.js project
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<objective>
|
|
6
|
+
Setup Better Auth in the current Next.js project with Email OTP authentication flow.
|
|
7
|
+
|
|
8
|
+
This creates a production-ready authentication system with Resend email delivery, a beautiful sign-in page using shadcn/ui, and an account management page. Uses Prisma adapter for database integration.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<context>
|
|
12
|
+
Project structure: !`ls -la`
|
|
13
|
+
Prisma schema: !`cat prisma/schema.prisma 2>/dev/null | head -40 || echo "No Prisma schema"`
|
|
14
|
+
Existing auth: !`ls src/lib/auth* 2>/dev/null || ls lib/auth* 2>/dev/null || echo "No auth files"`
|
|
15
|
+
Path aliases: !`cat tsconfig.json | grep -A5 '"paths"'`
|
|
16
|
+
</context>
|
|
17
|
+
|
|
18
|
+
<process>
|
|
19
|
+
## Phase 1: Prerequisites
|
|
20
|
+
|
|
21
|
+
1. **Ask for Resend API Key** - Prompt user:
|
|
22
|
+
> "I need your Resend API key to send OTP emails. Get it from https://resend.com/api-keys"
|
|
23
|
+
|
|
24
|
+
2. **Verify Prisma is configured**:
|
|
25
|
+
- Check `prisma/schema.prisma` exists
|
|
26
|
+
- Identify Prisma client import path (custom output or default)
|
|
27
|
+
- Confirm `lib/prisma.ts` singleton exists
|
|
28
|
+
|
|
29
|
+
## Phase 2: Installation
|
|
30
|
+
|
|
31
|
+
3. **Install dependencies**:
|
|
32
|
+
```bash
|
|
33
|
+
pnpm add better-auth resend
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
4. **Install shadcn/ui components**:
|
|
37
|
+
```bash
|
|
38
|
+
pnpm dlx shadcn@latest add input label card button tabs input-otp
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
5. **Get reference components** (study then delete):
|
|
42
|
+
```bash
|
|
43
|
+
pnpm dlx shadcn@latest add https://coss.com/origin/r/comp-326.json
|
|
44
|
+
pnpm dlx shadcn@latest add https://coss.com/origin/r/comp-324.json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Phase 3: Configuration
|
|
48
|
+
|
|
49
|
+
6. **Configure environment variables** - Add to `.env`:
|
|
50
|
+
```
|
|
51
|
+
BETTER_AUTH_SECRET="[generate with: openssl rand -base64 32]"
|
|
52
|
+
BETTER_AUTH_URL="http://localhost:3000"
|
|
53
|
+
RESEND_API_KEY="[user-provided]"
|
|
54
|
+
RESEND_FROM_EMAIL="onboarding@resend.dev"
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
7. **Create Better Auth instance** - `src/lib/auth.ts`:
|
|
58
|
+
```typescript
|
|
59
|
+
import { betterAuth } from "better-auth";
|
|
60
|
+
import { prismaAdapter } from "better-auth/adapters/prisma";
|
|
61
|
+
import { emailOTP } from "better-auth/plugins";
|
|
62
|
+
import { prisma } from "./prisma";
|
|
63
|
+
import { Resend } from "resend";
|
|
64
|
+
|
|
65
|
+
const resend = new Resend(process.env.RESEND_API_KEY);
|
|
66
|
+
|
|
67
|
+
export const auth = betterAuth({
|
|
68
|
+
database: prismaAdapter(prisma, { provider: "postgresql" }),
|
|
69
|
+
emailAndPassword: { enabled: false },
|
|
70
|
+
plugins: [
|
|
71
|
+
emailOTP({
|
|
72
|
+
async sendVerificationOTP({ email, otp, type }) {
|
|
73
|
+
await resend.emails.send({
|
|
74
|
+
from: process.env.RESEND_FROM_EMAIL!,
|
|
75
|
+
to: email,
|
|
76
|
+
subject: type === "sign-in" ? "Sign in to your account" : "Verify your email",
|
|
77
|
+
html: `<p>Your verification code is: <strong>${otp}</strong></p><p>This code will expire in 5 minutes.</p>`,
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
otpLength: 6,
|
|
81
|
+
expiresIn: 300,
|
|
82
|
+
}),
|
|
83
|
+
],
|
|
84
|
+
secret: process.env.BETTER_AUTH_SECRET!,
|
|
85
|
+
baseURL: process.env.BETTER_AUTH_URL!,
|
|
86
|
+
});
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
8. **Generate Prisma schema** using Better Auth CLI:
|
|
90
|
+
```bash
|
|
91
|
+
npx @better-auth/cli generate --config src/lib/auth.ts
|
|
92
|
+
npx prisma migrate dev --name add_better_auth
|
|
93
|
+
npx prisma generate
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
9. **Create API route handler** - `app/api/auth/[...all]/route.ts`:
|
|
97
|
+
```typescript
|
|
98
|
+
import { auth } from "@/lib/auth";
|
|
99
|
+
import { toNextJsHandler } from "better-auth/next-js";
|
|
100
|
+
|
|
101
|
+
export const { GET, POST } = toNextJsHandler(auth.handler);
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
10. **Create auth client** - `src/lib/auth-client.ts`:
|
|
105
|
+
```typescript
|
|
106
|
+
import { createAuthClient } from "better-auth/react";
|
|
107
|
+
import { emailOTPClient } from "better-auth/client/plugins";
|
|
108
|
+
|
|
109
|
+
export const authClient = createAuthClient({
|
|
110
|
+
baseURL: process.env.NEXT_PUBLIC_BETTER_AUTH_URL || "http://localhost:3000",
|
|
111
|
+
plugins: [emailOTPClient()],
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
export const { signIn, signOut, useSession } = authClient;
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Phase 4: UI Implementation
|
|
118
|
+
|
|
119
|
+
11. **Study reference components** - Read comp-326 and comp-324 patterns:
|
|
120
|
+
- Note form layouts, validation patterns, UX flows
|
|
121
|
+
- Understand OTP input behavior
|
|
122
|
+
|
|
123
|
+
12. **Create sign-in page** - `app/sign-in/page.tsx`:
|
|
124
|
+
- Two-step flow: email input → OTP verification
|
|
125
|
+
- Use `InputOTP` component with 6 slots
|
|
126
|
+
- Auto-submit on complete with `onComplete` handler
|
|
127
|
+
- Loading states and error handling with `text-destructive`
|
|
128
|
+
- Redirect to `/account` on success
|
|
129
|
+
|
|
130
|
+
13. **Create account page** - `app/account/page.tsx`:
|
|
131
|
+
- Protected route (redirect if no session)
|
|
132
|
+
- Tabs for Profile and Security
|
|
133
|
+
- Profile form with name update
|
|
134
|
+
- Sign out button
|
|
135
|
+
- Session info display
|
|
136
|
+
|
|
137
|
+
14. **Delete reference components** - Remove comp-326 and comp-324 files
|
|
138
|
+
|
|
139
|
+
## Phase 5: Integration & Testing
|
|
140
|
+
|
|
141
|
+
15. **Update layout** - Add TanStack Query provider if needed for session management
|
|
142
|
+
|
|
143
|
+
16. **Update home page** - Add auth status display with sign-in/account links
|
|
144
|
+
|
|
145
|
+
17. **Test complete flow**:
|
|
146
|
+
- Navigate to `/sign-in`
|
|
147
|
+
- Enter email, receive OTP
|
|
148
|
+
- Verify OTP, redirect to `/account`
|
|
149
|
+
- Update name, sign out
|
|
150
|
+
</process>
|
|
151
|
+
|
|
152
|
+
<constraints>
|
|
153
|
+
**UI RULES**:
|
|
154
|
+
- ONLY use shadcn/ui components and theme colors
|
|
155
|
+
- NEVER use custom colors - only background, foreground, primary, secondary, muted, accent, destructive
|
|
156
|
+
- All styling via Tailwind with theme-aware classes
|
|
157
|
+
- NO hardcoded colors like #000, blue-500, etc.
|
|
158
|
+
|
|
159
|
+
**FLEXIBILITY**:
|
|
160
|
+
- Check Prisma client location before importing
|
|
161
|
+
- Adapt all paths to project structure
|
|
162
|
+
- Match existing path alias conventions
|
|
163
|
+
</constraints>
|
|
164
|
+
|
|
165
|
+
<success_criteria>
|
|
166
|
+
- Sign-in page renders with email input
|
|
167
|
+
- OTP email is sent via Resend
|
|
168
|
+
- OTP verification signs user in
|
|
169
|
+
- Account page shows session data
|
|
170
|
+
- Name update persists to database
|
|
171
|
+
- Sign out clears session and redirects
|
|
172
|
+
- No TypeScript or linting errors
|
|
173
|
+
</success_criteria>
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Setup a complete Next.js project with TypeScript, Tailwind, shadcn/ui, TanStack Query, and theme support
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<objective>
|
|
6
|
+
Setup a production-ready Next.js project in the current directory with the complete AIBlueprint stack.
|
|
7
|
+
|
|
8
|
+
This creates a Next.js 15 App Router project with TypeScript, Tailwind CSS, shadcn/ui components, TanStack Query, dark/light theme toggle, dialog manager, server toast, and a landing page with navbar.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<context>
|
|
12
|
+
Current directory: !`pwd`
|
|
13
|
+
Directory contents: !`ls -la`
|
|
14
|
+
Existing package.json: !`cat package.json 2>/dev/null | head -10 || echo "No package.json"`
|
|
15
|
+
</context>
|
|
16
|
+
|
|
17
|
+
<process>
|
|
18
|
+
## Phase 1: Project Initialization
|
|
19
|
+
|
|
20
|
+
1. **Create Next.js project**:
|
|
21
|
+
```bash
|
|
22
|
+
npx create-next-app@latest . --typescript --tailwind --eslint --app --no-src-dir --import-alias "@/*" --yes
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
2. **Create src directory structure**:
|
|
26
|
+
```bash
|
|
27
|
+
mkdir -p src/components src/lib src/features/landing
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
3. **Update tsconfig.json** - Configure path aliases:
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"compilerOptions": {
|
|
34
|
+
"baseUrl": ".",
|
|
35
|
+
"paths": {
|
|
36
|
+
"@/*": ["./src/*"]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
4. **Clean default files** - Replace `app/page.tsx` with simple placeholder
|
|
43
|
+
|
|
44
|
+
## Phase 2: Core Libraries
|
|
45
|
+
|
|
46
|
+
5. **Install TanStack Query**:
|
|
47
|
+
```bash
|
|
48
|
+
pnpm add @tanstack/react-query
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
6. **Create providers** - `app/providers.tsx`:
|
|
52
|
+
```typescript
|
|
53
|
+
"use client";
|
|
54
|
+
|
|
55
|
+
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
56
|
+
import { ThemeProvider } from "next-themes";
|
|
57
|
+
import { useState } from "react";
|
|
58
|
+
|
|
59
|
+
export function Providers({ children }: { children: React.ReactNode }) {
|
|
60
|
+
const [queryClient] = useState(
|
|
61
|
+
() => new QueryClient({
|
|
62
|
+
defaultOptions: {
|
|
63
|
+
queries: { staleTime: 60 * 1000 },
|
|
64
|
+
},
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
return (
|
|
69
|
+
<QueryClientProvider client={queryClient}>
|
|
70
|
+
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
|
|
71
|
+
{children}
|
|
72
|
+
</ThemeProvider>
|
|
73
|
+
</QueryClientProvider>
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
7. **Wrap layout with providers** - Update `app/layout.tsx`
|
|
79
|
+
|
|
80
|
+
## Phase 3: UI Components
|
|
81
|
+
|
|
82
|
+
8. **Initialize shadcn/ui**:
|
|
83
|
+
```bash
|
|
84
|
+
pnpm dlx shadcn@latest init
|
|
85
|
+
```
|
|
86
|
+
Configure paths: Components `@/components`, Utils `@/lib/utils`
|
|
87
|
+
|
|
88
|
+
9. **Install base components**:
|
|
89
|
+
```bash
|
|
90
|
+
pnpm dlx shadcn@latest add button input card
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
10. **Install next-themes**:
|
|
94
|
+
```bash
|
|
95
|
+
pnpm add next-themes
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
11. **Create theme toggle** - `src/components/theme-toggle.tsx`:
|
|
99
|
+
- Use `useTheme` from next-themes
|
|
100
|
+
- Handle mounted state for hydration
|
|
101
|
+
- Toggle between dark and light
|
|
102
|
+
|
|
103
|
+
## Phase 4: UI Utilities
|
|
104
|
+
|
|
105
|
+
12. **Install dialog manager**:
|
|
106
|
+
```bash
|
|
107
|
+
pnpm dlx shadcn@latest add https://ui.nowts.app/r/dialog-manager.json
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
13. **Install server toast**:
|
|
111
|
+
```bash
|
|
112
|
+
pnpm dlx shadcn@latest add https://ui.nowts.app/r/server-toast.json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
14. **Update layout** - Add to `app/layout.tsx`:
|
|
116
|
+
```typescript
|
|
117
|
+
import { DialogManagerRenderer } from "@/lib/dialog-manager/dialog-manager-renderer";
|
|
118
|
+
import { ServerToaster } from "@/components/server-toast/server-toast.server";
|
|
119
|
+
import { Suspense } from "react";
|
|
120
|
+
|
|
121
|
+
// Inside body after Providers:
|
|
122
|
+
<DialogManagerRenderer />
|
|
123
|
+
<Suspense>
|
|
124
|
+
<ServerToaster />
|
|
125
|
+
</Suspense>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Phase 5: Landing Page
|
|
129
|
+
|
|
130
|
+
15. **Install navbar**:
|
|
131
|
+
```bash
|
|
132
|
+
pnpm dlx shadcn@latest add https://coss.com/origin/r/comp-577.json
|
|
133
|
+
```
|
|
134
|
+
Rename to `navbar.tsx` with semantic component name
|
|
135
|
+
|
|
136
|
+
16. **Install landing sections**:
|
|
137
|
+
```bash
|
|
138
|
+
pnpm dlx shadcn@latest add https://shadcn-ui-blocks.akashmoradiya.com/r/hero-03.json
|
|
139
|
+
pnpm dlx shadcn@latest add https://shadcn-ui-blocks.akashmoradiya.com/r/footer-05.json
|
|
140
|
+
pnpm dlx shadcn@latest add https://shadcn-ui-blocks.akashmoradiya.com/r/faq-02.json
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
17. **Organize landing components**:
|
|
144
|
+
- Move to `src/features/landing/`
|
|
145
|
+
- Rename: `hero.tsx`, `footer.tsx`, `faq.tsx`
|
|
146
|
+
- Update component names inside files
|
|
147
|
+
|
|
148
|
+
18. **Assemble landing page** - Update `app/page.tsx`:
|
|
149
|
+
- Import all landing components
|
|
150
|
+
- Navbar with logo, signin link, theme toggle
|
|
151
|
+
- Hero, FAQ, Footer sections
|
|
152
|
+
|
|
153
|
+
## Phase 6: Quality & Documentation
|
|
154
|
+
|
|
155
|
+
19. **Add quality scripts** to `package.json`:
|
|
156
|
+
```json
|
|
157
|
+
{
|
|
158
|
+
"lint": "eslint .",
|
|
159
|
+
"ts": "tsc --noEmit"
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
20. **Run quality checks**:
|
|
164
|
+
```bash
|
|
165
|
+
pnpm lint
|
|
166
|
+
pnpm ts
|
|
167
|
+
```
|
|
168
|
+
Fix any errors before completing
|
|
169
|
+
|
|
170
|
+
21. **Create CLAUDE.md** with:
|
|
171
|
+
- Stack overview (Next.js 15, TanStack Query, shadcn/ui)
|
|
172
|
+
- Directory structure explanation
|
|
173
|
+
- UI Utilities section (dialog manager, server toast usage)
|
|
174
|
+
- Project structure section
|
|
175
|
+
|
|
176
|
+
22. **Create AGENTS.md** as symlink:
|
|
177
|
+
```bash
|
|
178
|
+
ln -s CLAUDE.md AGENTS.md
|
|
179
|
+
```
|
|
180
|
+
</process>
|
|
181
|
+
|
|
182
|
+
<output>
|
|
183
|
+
**Files created**:
|
|
184
|
+
- `app/` - Next.js App Router pages and layouts
|
|
185
|
+
- `src/components/` - UI components including shadcn/ui
|
|
186
|
+
- `src/lib/` - Utilities and helpers
|
|
187
|
+
- `src/features/landing/` - Landing page components
|
|
188
|
+
- `CLAUDE.md` - Project documentation
|
|
189
|
+
- `AGENTS.md` - Symlink to CLAUDE.md
|
|
190
|
+
</output>
|
|
191
|
+
|
|
192
|
+
<success_criteria>
|
|
193
|
+
- `pnpm dev` starts without errors
|
|
194
|
+
- `pnpm lint` passes
|
|
195
|
+
- `pnpm ts` passes (no TypeScript errors)
|
|
196
|
+
- Landing page renders with navbar, hero, FAQ, footer
|
|
197
|
+
- Theme toggle switches between dark/light mode
|
|
198
|
+
- Dialog manager and server toast are integrated
|
|
199
|
+
- CLAUDE.md contains complete stack documentation
|
|
200
|
+
</success_criteria>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
You are an expert logo designer. I want you to create minimalist SVG logo variations for my app.
|
|
2
|
+
|
|
3
|
+
Use extended thinking to deeply analyze my app and create the best logos possible.
|
|
4
|
+
|
|
5
|
+
App Name: [YOUR APP NAME]
|
|
6
|
+
Description: [WHAT YOUR APP DOES]
|
|
7
|
+
|
|
8
|
+
Before starting, ask me these 4 questions:
|
|
9
|
+
|
|
10
|
+
1. What logo style do you prefer? (Lettermark like Stripe's S, Abstract symbol like Claude, Geometric shape like Airbnb, or Wordmark)
|
|
11
|
+
|
|
12
|
+
2. What brand personality? (Modern & Tech, Playful & Friendly, Professional, Bold & Edgy, or Minimal & Clean)
|
|
13
|
+
|
|
14
|
+
3. Which companies inspire you visually? (Stripe, Google, Linear, Notion, Discord)
|
|
15
|
+
|
|
16
|
+
4. How many logos do you want? (between 1 and 100)
|
|
17
|
+
|
|
18
|
+
Wait for my answers before generating anything.
|
|
19
|
+
|
|
20
|
+
After my answers, create an HTML artifact with all the logos.
|
|
21
|
+
|
|
22
|
+
Artifact constraints (follow exactly):
|
|
23
|
+
|
|
24
|
+
Layout:
|
|
25
|
+
- Responsive grid that takes the full page width
|
|
26
|
+
- No fixed width, adapts to viewport
|
|
27
|
+
- Each cell is square (aspect-ratio: 1)
|
|
28
|
+
- Cells automatically fill available space
|
|
29
|
+
- Light gray border between cells
|
|
30
|
+
- White background
|
|
31
|
+
- Logo centered in each cell
|
|
32
|
+
|
|
33
|
+
Cell content:
|
|
34
|
+
- Number in the corner (1, 2, 3...) so I can easily say "I like 4 and 5"
|
|
35
|
+
- Logo in the center
|
|
36
|
+
- Short description below (1-2 sentences max)
|
|
37
|
+
- Description explains the concept and why it fits the app
|
|
38
|
+
|
|
39
|
+
Page:
|
|
40
|
+
- No title
|
|
41
|
+
- No header
|
|
42
|
+
- No footer
|
|
43
|
+
- Just the grid taking the full page
|
|
44
|
+
|
|
45
|
+
Logos:
|
|
46
|
+
- Black color only
|
|
47
|
+
- No gradients
|
|
48
|
+
- No shadows
|
|
49
|
+
- Opacity allowed (play with transparency for depth)
|
|
50
|
+
- Simple geometric shapes
|
|
51
|
+
- Maximum 3-4 elements per logo
|
|
52
|
+
- Must be recognizable at 16px
|
|
53
|
+
- Clean paths, no complexity
|
|
54
|
+
|
|
55
|
+
After showing the grid, ask me which ones I prefer to create more variations based on my favorites.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Challenge and validate a business idea through competitive research and brutally honest market analysis
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<objective>
|
|
6
|
+
Challenge and validate a business idea through competitive research and market analysis.
|
|
7
|
+
|
|
8
|
+
Provide brutally honest, evidence-based feedback on whether the idea has genuine market potential or should be abandoned/pivoted. Save founders from wasting time on bad ideas.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<process>
|
|
12
|
+
## Phase 1: Gather the Idea
|
|
13
|
+
|
|
14
|
+
1. **If idea not provided**, ask the user:
|
|
15
|
+
> "Tell me about your idea:
|
|
16
|
+
> - What problem does it solve?
|
|
17
|
+
> - Who is it for?
|
|
18
|
+
> - What's your proposed solution?
|
|
19
|
+
> - What makes it different?"
|
|
20
|
+
|
|
21
|
+
2. **Do NOT proceed** until you understand:
|
|
22
|
+
- The specific problem being solved
|
|
23
|
+
- The target user/customer
|
|
24
|
+
- The proposed solution
|
|
25
|
+
- Any claimed differentiation
|
|
26
|
+
|
|
27
|
+
## Phase 2: Research Competitors
|
|
28
|
+
|
|
29
|
+
3. **Use web search** to find existing solutions:
|
|
30
|
+
- Search: "[problem] tool", "[solution] software", "[target user] platform"
|
|
31
|
+
- Check: Product Hunt, Y Combinator portfolio, Crunchbase
|
|
32
|
+
- Search: Reddit discussions, Alternative.to
|
|
33
|
+
|
|
34
|
+
4. **For each competitor**, document:
|
|
35
|
+
- Name and URL
|
|
36
|
+
- What they do (brief description)
|
|
37
|
+
- Pricing model (free/paid/freemium)
|
|
38
|
+
- Revenue signals: funding, team size, visible traction
|
|
39
|
+
- Market positioning
|
|
40
|
+
|
|
41
|
+
5. **Find 5-10 competitors minimum** - both direct and indirect:
|
|
42
|
+
- **Direct**: Same problem, same solution approach
|
|
43
|
+
- **Indirect**: Same problem, different solution approach
|
|
44
|
+
|
|
45
|
+
## Phase 3: Analyze the Market
|
|
46
|
+
|
|
47
|
+
6. **Assess market saturation**:
|
|
48
|
+
- 10+ competitors = Crowded (high risk, need strong differentiation)
|
|
49
|
+
- 3-9 competitors = Moderate (validated demand, need positioning)
|
|
50
|
+
- 1-2 competitors = Sparse (early market or weak demand)
|
|
51
|
+
- 0 competitors = Usually no market (rarely means opportunity)
|
|
52
|
+
|
|
53
|
+
7. **Evaluate revenue signals**:
|
|
54
|
+
- **Strong**: Paid tiers, funding raised, growing teams
|
|
55
|
+
- **Weak**: Free only, abandoned projects, no monetization
|
|
56
|
+
|
|
57
|
+
8. **Check opportunity**:
|
|
58
|
+
- Is there proof people PAY for this?
|
|
59
|
+
- Is there room for another player?
|
|
60
|
+
- What would truly differentiate this idea?
|
|
61
|
+
|
|
62
|
+
## Phase 4: Deliver Honest Feedback
|
|
63
|
+
|
|
64
|
+
9. **Generate validation report** in this format:
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
# Validation: [Idea Name]
|
|
68
|
+
|
|
69
|
+
## Quick Summary
|
|
70
|
+
[1 sentence - what their idea is]
|
|
71
|
+
|
|
72
|
+
## What I Found
|
|
73
|
+
|
|
74
|
+
**Competitors**:
|
|
75
|
+
1. [Name] - [What they do, pricing, traction signals]
|
|
76
|
+
2. [Name] - [What they do, pricing, traction signals]
|
|
77
|
+
3. [Continue for 3-5 key competitors]
|
|
78
|
+
|
|
79
|
+
**Market**: [Crowded/Moderate/Sparse] - [1 sentence why]
|
|
80
|
+
**Revenue proof**: [Yes/No] - [Evidence people pay for this]
|
|
81
|
+
|
|
82
|
+
## Viability Score: [X/10]
|
|
83
|
+
|
|
84
|
+
[2-3 sentences explaining the score - be direct, no fluff]
|
|
85
|
+
|
|
86
|
+
## The Hard Truth
|
|
87
|
+
|
|
88
|
+
**What's actually unique**: [What truly differentiates this, if anything]
|
|
89
|
+
**What's NOT unique**: [What they claim is unique but competitors already do]
|
|
90
|
+
|
|
91
|
+
**Biggest problems**:
|
|
92
|
+
- [Problem 1]
|
|
93
|
+
- [Problem 2]
|
|
94
|
+
- [Problem 3]
|
|
95
|
+
|
|
96
|
+
## My Take
|
|
97
|
+
|
|
98
|
+
**Would I build this?** [Yes/No/Maybe]
|
|
99
|
+
|
|
100
|
+
**Why**: [Honest opinion in 1-2 sentences - don't hold back]
|
|
101
|
+
|
|
102
|
+
**If you proceed**: [Specific advice on how to differentiate]
|
|
103
|
+
**If you pivot**: [Specific pivot suggestion based on research]
|
|
104
|
+
|
|
105
|
+
**Bottom line**: [Final direct recommendation - pursue, pivot, or kill]
|
|
106
|
+
```
|
|
107
|
+
</process>
|
|
108
|
+
|
|
109
|
+
<constraints>
|
|
110
|
+
**BE BRUTALLY HONEST**:
|
|
111
|
+
- Don't sugarcoat bad ideas
|
|
112
|
+
- Be rude if necessary - founders need truth
|
|
113
|
+
- Call out red flags directly
|
|
114
|
+
- Use evidence from research, not opinions
|
|
115
|
+
|
|
116
|
+
**ALWAYS RESEARCH FIRST**:
|
|
117
|
+
- Never give feedback without finding real competitors
|
|
118
|
+
- Challenge claims of "no competitors exist"
|
|
119
|
+
- Focus on whether people actually PAY for solutions
|
|
120
|
+
|
|
121
|
+
**RED FLAGS TO CALL OUT**:
|
|
122
|
+
- "Uber for X" without unique insight
|
|
123
|
+
- Solution looking for a problem
|
|
124
|
+
- Targeting "everyone" (no clear user)
|
|
125
|
+
- Ignoring dominant market leaders
|
|
126
|
+
- Claims no competitors exist (almost always false)
|
|
127
|
+
</constraints>
|
|
128
|
+
|
|
129
|
+
<success_criteria>
|
|
130
|
+
- Found and documented 5+ real competitors with web research
|
|
131
|
+
- Provided specific pricing and revenue signals for competitors
|
|
132
|
+
- Gave honest viability score with clear reasoning
|
|
133
|
+
- Called out what's NOT unique about the idea
|
|
134
|
+
- Provided actionable recommendation: pursue, pivot, or kill
|
|
135
|
+
</success_criteria>
|