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,257 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Implement a production-ready landing page from specification using shadcn/ui components
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<objective>
|
|
6
|
+
Implement a complete, production-ready landing page from a markdown specification file using high-quality Shadcn UI components.
|
|
7
|
+
|
|
8
|
+
This comes AFTER the PRD, ARCHI, and LANDING_PAGE copywriting. Transform the specification into a fully functional, modern landing page using the Shadcn UI ecosystem.
|
|
9
|
+
</objective>
|
|
10
|
+
|
|
11
|
+
<role>
|
|
12
|
+
You are a senior frontend developer and design systems specialist with 10+ years experience building production-ready landing pages using modern UI components and design patterns.
|
|
13
|
+
</role>
|
|
14
|
+
|
|
15
|
+
<context>
|
|
16
|
+
Project structure: !`ls -la`
|
|
17
|
+
Existing components: !`ls src/components/ 2>/dev/null || ls components/ 2>/dev/null || echo "No components folder"`
|
|
18
|
+
CSS variables: !`cat app/globals.css 2>/dev/null | head -50 || cat src/app/globals.css 2>/dev/null | head -50 || echo "No globals.css"`
|
|
19
|
+
</context>
|
|
20
|
+
|
|
21
|
+
<process>
|
|
22
|
+
## Phase 1: Read Specification
|
|
23
|
+
|
|
24
|
+
1. **Ask for spec file location**:
|
|
25
|
+
> "Please provide the path to your landing page specification file (LANDING_PAGE.md)."
|
|
26
|
+
|
|
27
|
+
2. **Read and extract from spec**:
|
|
28
|
+
- Sections needed (Hero, Features, Pricing, FAQ, etc.)
|
|
29
|
+
- Content (headlines, descriptions, CTAs, images)
|
|
30
|
+
- Design preferences (colors, style, brand)
|
|
31
|
+
- Target audience
|
|
32
|
+
|
|
33
|
+
3. **STOP if spec is missing** - Ask user for complete specification
|
|
34
|
+
|
|
35
|
+
## Phase 2: Analyze Project
|
|
36
|
+
|
|
37
|
+
4. **Ask for project location** if not provided
|
|
38
|
+
|
|
39
|
+
5. **Explore project structure** (use Glob):
|
|
40
|
+
- `**/*.tsx` - existing components
|
|
41
|
+
- `**/globals.css` - styling and CSS variables
|
|
42
|
+
- `**/tsconfig.json` - path aliases
|
|
43
|
+
- `components.json` - shadcn setup
|
|
44
|
+
|
|
45
|
+
6. **Read key config files**:
|
|
46
|
+
- `tsconfig.json` - path aliases (@/*)
|
|
47
|
+
- `app/globals.css` - CSS variables and theme
|
|
48
|
+
|
|
49
|
+
7. **Document findings**:
|
|
50
|
+
- Framework version (Next.js 14/15)
|
|
51
|
+
- Component organization pattern
|
|
52
|
+
- Existing UI components
|
|
53
|
+
- Path aliases and imports
|
|
54
|
+
|
|
55
|
+
## Phase 3: Research Components
|
|
56
|
+
|
|
57
|
+
8. **Use MCP Context7** to research Shadcn UI:
|
|
58
|
+
- `mcp__context7__resolve-library-id` with "shadcn-ui"
|
|
59
|
+
- `mcp__context7__get-library-docs` for component patterns
|
|
60
|
+
|
|
61
|
+
9. **Component source hierarchy** (priority order):
|
|
62
|
+
- **Official Shadcn UI** (ui.shadcn.com) - Base components
|
|
63
|
+
- **Shadcn UI Blocks** (shadcn-ui-blocks.akashmoradiya.com) - Pre-built sections
|
|
64
|
+
- **Coss.com** (coss.com/origin) - Modern components
|
|
65
|
+
- **Aceternity UI** (ui.aceternity.com) - Advanced effects (selective use)
|
|
66
|
+
|
|
67
|
+
10. **Create `landing-page-components.md`** documenting:
|
|
68
|
+
- Component source for each section
|
|
69
|
+
- Installation command
|
|
70
|
+
- Customization notes
|
|
71
|
+
|
|
72
|
+
## Phase 4: Configure Theme
|
|
73
|
+
|
|
74
|
+
11. **Configure CSS variables** in `app/globals.css` based on spec brand colors:
|
|
75
|
+
```css
|
|
76
|
+
:root {
|
|
77
|
+
--primary: /* brand primary */;
|
|
78
|
+
--secondary: /* brand secondary */;
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
12. **Ensure contrast** - 4.5:1 for text (WCAG AA)
|
|
83
|
+
|
|
84
|
+
## Phase 5: Install Components
|
|
85
|
+
|
|
86
|
+
13. **Install base components**:
|
|
87
|
+
```bash
|
|
88
|
+
npx shadcn@latest add button card input label badge separator
|
|
89
|
+
npx shadcn@latest add navigation-menu dropdown-menu sheet
|
|
90
|
+
npx shadcn@latest add accordion dialog
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
14. **Install section-specific components** from blocks:
|
|
94
|
+
```bash
|
|
95
|
+
npx shadcn add https://shadcn-ui-blocks.akashmoradiya.com/r/hero-03.json
|
|
96
|
+
npx shadcn add https://shadcn-ui-blocks.akashmoradiya.com/r/features-01.json
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Phase 6: Build Sections
|
|
100
|
+
|
|
101
|
+
15. **Create component files** in `src/features/landing/` (or match existing structure):
|
|
102
|
+
|
|
103
|
+
**Navigation** (`navbar.tsx`):
|
|
104
|
+
- Logo, nav links, mobile menu
|
|
105
|
+
- Sticky header with backdrop blur
|
|
106
|
+
- CTA button
|
|
107
|
+
|
|
108
|
+
**Hero** (`hero.tsx`):
|
|
109
|
+
- Headline from spec (H1)
|
|
110
|
+
- Subheadline (H2)
|
|
111
|
+
- Primary/secondary CTAs
|
|
112
|
+
- Hero image with next/image
|
|
113
|
+
|
|
114
|
+
**Features** (`features.tsx`):
|
|
115
|
+
- Section headline
|
|
116
|
+
- Feature cards with icons (lucide-react)
|
|
117
|
+
- Grid layout (3 columns desktop)
|
|
118
|
+
|
|
119
|
+
**Social Proof** (`testimonials.tsx`) - if in spec:
|
|
120
|
+
- Testimonial cards
|
|
121
|
+
- Logo cloud
|
|
122
|
+
- Statistics
|
|
123
|
+
|
|
124
|
+
**Pricing** (`pricing.tsx`) - if in spec:
|
|
125
|
+
- Pricing tiers with Card component
|
|
126
|
+
- Feature lists with checkmarks
|
|
127
|
+
- Popular tier highlight
|
|
128
|
+
- CTA buttons
|
|
129
|
+
|
|
130
|
+
**FAQ** (`faq.tsx`) - if in spec:
|
|
131
|
+
- Accordion component
|
|
132
|
+
- All questions from spec
|
|
133
|
+
|
|
134
|
+
**CTA** (`cta.tsx`):
|
|
135
|
+
- Compelling headline
|
|
136
|
+
- Action buttons
|
|
137
|
+
- Background styling
|
|
138
|
+
|
|
139
|
+
**Footer** (`footer.tsx`):
|
|
140
|
+
- Navigation columns
|
|
141
|
+
- Social links (lucide-react icons)
|
|
142
|
+
- Legal links
|
|
143
|
+
- Copyright
|
|
144
|
+
|
|
145
|
+
## Phase 7: Assemble Page
|
|
146
|
+
|
|
147
|
+
16. **Update `app/page.tsx`**:
|
|
148
|
+
```typescript
|
|
149
|
+
import { Navbar } from "@/features/landing/navbar"
|
|
150
|
+
import { Hero } from "@/features/landing/hero"
|
|
151
|
+
import { Features } from "@/features/landing/features"
|
|
152
|
+
// ... other imports
|
|
153
|
+
|
|
154
|
+
export default function HomePage() {
|
|
155
|
+
return (
|
|
156
|
+
<>
|
|
157
|
+
<Navbar />
|
|
158
|
+
<main>
|
|
159
|
+
<Hero />
|
|
160
|
+
<Features />
|
|
161
|
+
{/* Other sections */}
|
|
162
|
+
</main>
|
|
163
|
+
<Footer />
|
|
164
|
+
</>
|
|
165
|
+
)
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
17. **Add smooth scrolling** in `globals.css`:
|
|
170
|
+
```css
|
|
171
|
+
html { scroll-behavior: smooth; }
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Phase 8: Quality Assurance
|
|
175
|
+
|
|
176
|
+
18. **Mobile responsiveness**:
|
|
177
|
+
- Test at 375px (iPhone SE)
|
|
178
|
+
- Verify touch targets (44x44px min)
|
|
179
|
+
- Check text readability (16px min)
|
|
180
|
+
- Test mobile navigation
|
|
181
|
+
|
|
182
|
+
19. **Accessibility audit**:
|
|
183
|
+
- Tab through entire page
|
|
184
|
+
- Verify heading hierarchy (h1 → h2 → h3)
|
|
185
|
+
- Check alt text on images
|
|
186
|
+
- Verify color contrast
|
|
187
|
+
- Add ARIA labels on icon buttons
|
|
188
|
+
|
|
189
|
+
20. **Performance optimization**:
|
|
190
|
+
- Use next/image with width/height
|
|
191
|
+
- Add `priority` to hero image
|
|
192
|
+
- Use `loading="lazy"` below fold
|
|
193
|
+
|
|
194
|
+
21. **Final verification**:
|
|
195
|
+
```bash
|
|
196
|
+
pnpm format
|
|
197
|
+
pnpm lint
|
|
198
|
+
pnpm ts
|
|
199
|
+
pnpm build
|
|
200
|
+
```
|
|
201
|
+
</process>
|
|
202
|
+
|
|
203
|
+
<constraints>
|
|
204
|
+
**DESIGN STANDARDS**:
|
|
205
|
+
- Modern, contemporary design (not dated Bootstrap-style)
|
|
206
|
+
- Mobile-first responsive approach
|
|
207
|
+
- WCAG 2.1 AA accessibility compliance
|
|
208
|
+
- Lighthouse score 90+ target
|
|
209
|
+
|
|
210
|
+
**CODE QUALITY**:
|
|
211
|
+
- Follow existing project conventions
|
|
212
|
+
- Use path aliases (@/components, @/features)
|
|
213
|
+
- TypeScript strict mode
|
|
214
|
+
- No placeholder content - use real spec content
|
|
215
|
+
|
|
216
|
+
**COMPONENT RULES**:
|
|
217
|
+
- Prioritize official Shadcn UI components
|
|
218
|
+
- Use next/image for all images
|
|
219
|
+
- Use next/font for typography
|
|
220
|
+
- Respect existing component patterns
|
|
221
|
+
|
|
222
|
+
**NEVER**:
|
|
223
|
+
- Overwrite existing components without understanding
|
|
224
|
+
- Use placeholder text instead of spec content
|
|
225
|
+
- Skip mobile responsiveness
|
|
226
|
+
- Ignore accessibility requirements
|
|
227
|
+
- Add unused dependencies
|
|
228
|
+
</constraints>
|
|
229
|
+
|
|
230
|
+
<output>
|
|
231
|
+
**Files created in `src/features/landing/`** (or matching structure):
|
|
232
|
+
- `navbar.tsx` - Navigation header
|
|
233
|
+
- `hero.tsx` - Hero section
|
|
234
|
+
- `features.tsx` - Features grid
|
|
235
|
+
- `pricing.tsx` - Pricing tiers (if in spec)
|
|
236
|
+
- `faq.tsx` - FAQ accordion (if in spec)
|
|
237
|
+
- `cta.tsx` - Call-to-action sections
|
|
238
|
+
- `footer.tsx` - Footer navigation
|
|
239
|
+
|
|
240
|
+
**Documentation**:
|
|
241
|
+
- `landing-page-components.md` - Component sources and customizations
|
|
242
|
+
|
|
243
|
+
**Updated files**:
|
|
244
|
+
- `app/page.tsx` - Assembled landing page
|
|
245
|
+
- `app/globals.css` - Theme variables and brand colors
|
|
246
|
+
</output>
|
|
247
|
+
|
|
248
|
+
<success_criteria>
|
|
249
|
+
- All spec sections implemented with real content (not placeholders)
|
|
250
|
+
- Mobile responsive on all breakpoints (375px, 768px, 1024px, 1440px)
|
|
251
|
+
- WCAG 2.1 AA accessible (keyboard nav, contrast, alt text)
|
|
252
|
+
- Lighthouse performance score 90+
|
|
253
|
+
- All links and CTAs functional
|
|
254
|
+
- No console errors
|
|
255
|
+
- Build passes without warnings
|
|
256
|
+
- Matches spec design preferences and brand colors
|
|
257
|
+
</success_criteria>
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
Install and configure tmux with Ghostty on macOS. This sets up a minimalist tmux with direct keyboard shortcuts (no prefix needed for common actions), auto-naming tabs, session persistence, and a clean status bar.
|
|
2
|
+
|
|
3
|
+
## Step 1: Install tmux
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
brew install tmux
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Step 2: Install TPM (plugin manager)
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Step 3: Write `~/.tmux.conf`
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
# Mouse
|
|
19
|
+
set -g mouse on
|
|
20
|
+
|
|
21
|
+
# Start at 1
|
|
22
|
+
set -g base-index 1
|
|
23
|
+
setw -g pane-base-index 1
|
|
24
|
+
|
|
25
|
+
# Prefix = Ctrl+A
|
|
26
|
+
unbind C-b
|
|
27
|
+
set -g prefix C-a
|
|
28
|
+
bind C-a send-prefix
|
|
29
|
+
|
|
30
|
+
# Visual feedback when prefix is pressed
|
|
31
|
+
set -g status-left '#{?client_prefix,#[fg=green bold] TMUX ,}'
|
|
32
|
+
|
|
33
|
+
# Actions (Ctrl+A puis...)
|
|
34
|
+
bind c new-window -c "#{pane_current_path}"
|
|
35
|
+
bind s split-window -h -c "#{pane_current_path}"
|
|
36
|
+
bind d split-window -v -c "#{pane_current_path}"
|
|
37
|
+
bind w kill-pane
|
|
38
|
+
bind r command-prompt -I "#W" "rename-window '%%'"
|
|
39
|
+
bind f copy-mode
|
|
40
|
+
bind h list-keys
|
|
41
|
+
|
|
42
|
+
# Switch panes (no prefix)
|
|
43
|
+
bind -n M-Left select-pane -L
|
|
44
|
+
bind -n M-Right select-pane -R
|
|
45
|
+
bind -n M-Up select-pane -U
|
|
46
|
+
bind -n M-Down select-pane -D
|
|
47
|
+
|
|
48
|
+
# Switch windows (no prefix)
|
|
49
|
+
bind -n S-Left previous-window
|
|
50
|
+
bind -n S-Right next-window
|
|
51
|
+
|
|
52
|
+
# Settings
|
|
53
|
+
set -g history-limit 50000
|
|
54
|
+
set -sg escape-time 0
|
|
55
|
+
set -g default-terminal "screen-256color"
|
|
56
|
+
set -ag terminal-overrides ",xterm-256color:RGB"
|
|
57
|
+
set -g renumber-windows on
|
|
58
|
+
|
|
59
|
+
# Minimal status bar
|
|
60
|
+
set -g status-position bottom
|
|
61
|
+
set -g status-style 'bg=default fg=#555555'
|
|
62
|
+
set -g status-right '#[fg=#555555]#S'
|
|
63
|
+
set -g allow-rename on
|
|
64
|
+
set -g set-titles on
|
|
65
|
+
set -g set-titles-string '#{pane_title}'
|
|
66
|
+
setw -g automatic-rename on
|
|
67
|
+
setw -g automatic-rename-format '#{pane_title}'
|
|
68
|
+
setw -g window-status-format '#[fg=#555555] #I:#W'
|
|
69
|
+
setw -g window-status-current-format '#[fg=white,bold] #I:#W'
|
|
70
|
+
set -g status-justify left
|
|
71
|
+
|
|
72
|
+
# Pane borders
|
|
73
|
+
set -g pane-border-style 'fg=#333333'
|
|
74
|
+
set -g pane-active-border-style 'fg=#555555'
|
|
75
|
+
|
|
76
|
+
# Plugins
|
|
77
|
+
set -g @plugin 'tmux-plugins/tpm'
|
|
78
|
+
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
|
79
|
+
set -g @plugin 'tmux-plugins/tmux-continuum'
|
|
80
|
+
set -g @plugin 'tmux-plugins/tmux-yank'
|
|
81
|
+
|
|
82
|
+
set -g @resurrect-capture-pane-contents 'on'
|
|
83
|
+
set -g @continuum-restore 'on'
|
|
84
|
+
|
|
85
|
+
run '~/.tmux/plugins/tpm/tpm'
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Step 4: Add Ghostty keybinds
|
|
89
|
+
|
|
90
|
+
Add these lines to `~/Library/Application Support/com.mitchellh.ghostty/config`:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
keybind = ctrl+shift+t=text:\x01c
|
|
94
|
+
keybind = ctrl+shift+s=text:\x01s
|
|
95
|
+
keybind = ctrl+shift+d=text:\x01d
|
|
96
|
+
keybind = ctrl+shift+w=text:\x01w
|
|
97
|
+
keybind = ctrl+shift+r=text:\x01r
|
|
98
|
+
macos-option-as-alt = left
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
`macos-option-as-alt = left` is required for Alt+Arrow pane switching to work.
|
|
102
|
+
|
|
103
|
+
## Step 5: Install plugins
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
~/.tmux/plugins/tpm/bin/install_plugins
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Step 6: Reload
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
tmux source-file ~/.tmux.conf
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Then restart Ghostty (Cmd+Q and reopen).
|
|
116
|
+
|
|
117
|
+
## Shortcuts
|
|
118
|
+
|
|
119
|
+
### Direct shortcuts (no prefix)
|
|
120
|
+
|
|
121
|
+
| Action | Shortcut |
|
|
122
|
+
| --- | --- |
|
|
123
|
+
| New tab | `Ctrl+Shift+T` |
|
|
124
|
+
| Split côte à côte | `Ctrl+Shift+S` |
|
|
125
|
+
| Split haut/bas | `Ctrl+Shift+D` |
|
|
126
|
+
| Fermer pane | `Ctrl+Shift+W` |
|
|
127
|
+
| Renommer tab | `Ctrl+Shift+R` |
|
|
128
|
+
| Changer de pane | `Alt + Flèches` |
|
|
129
|
+
| Changer de tab | `Shift + Left/Right` |
|
|
130
|
+
| Scroll | Molette souris |
|
|
131
|
+
|
|
132
|
+
### Prefix shortcuts (Ctrl+A puis...)
|
|
133
|
+
|
|
134
|
+
When you press Ctrl+A, " TMUX " appears in green = tmux is listening.
|
|
135
|
+
|
|
136
|
+
| Touche | Action |
|
|
137
|
+
| --- | --- |
|
|
138
|
+
| `c` | nouveau tab |
|
|
139
|
+
| `s` | split côte à côte |
|
|
140
|
+
| `d` | split haut/bas |
|
|
141
|
+
| `w` | fermer pane |
|
|
142
|
+
| `r` | renommer tab |
|
|
143
|
+
| `f` | mode scroll |
|
|
144
|
+
| `h` | voir tous les raccourcis |
|
|
145
|
+
| `1-9` | aller au tab N |
|
|
146
|
+
|
|
147
|
+
### Sessions
|
|
148
|
+
|
|
149
|
+
| Action | Command |
|
|
150
|
+
| --- | --- |
|
|
151
|
+
| Nouvelle session | `tmux new -s nom` |
|
|
152
|
+
| Lister sessions | `tmux ls` |
|
|
153
|
+
| Se rattacher | `tmux a` |
|
|
154
|
+
| Détacher | `Ctrl+A` puis `d` |
|
|
155
|
+
|
|
156
|
+
## Plugins installed
|
|
157
|
+
|
|
158
|
+
- **tmux-resurrect**: save/restore sessions (survives reboot)
|
|
159
|
+
- **tmux-continuum**: auto-restore last session on launch
|
|
160
|
+
- **tmux-yank**: copy in tmux goes to system clipboard
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Reference document listing all recommended tools and libraries for AIBlueprint development
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# AIBlueprint Tools & Libraries Reference
|
|
6
|
+
|
|
7
|
+
This document lists all recommended tools and libraries for development with the AIBlueprint stack. Use this as a reference when making architecture decisions.
|
|
8
|
+
|
|
9
|
+
## Quick Reference Table
|
|
10
|
+
|
|
11
|
+
| Name | Description | Tags |
|
|
12
|
+
|------|-------------|------|
|
|
13
|
+
| [Next.js](https://nextjs.org/) | Main React framework with App Router | `framework`, `frontend`, `backend` |
|
|
14
|
+
| [TanStack Query](https://tanstack.com/query) | Data fetching & caching for API routes | `frontend`, `library` |
|
|
15
|
+
| [Zustand](https://zustand.docs.pmnd.rs/) | Client-side state management | `frontend`, `library` |
|
|
16
|
+
| [nuqs](https://nuqs.47ng.com/) | URL state management | `frontend`, `library` |
|
|
17
|
+
| [shadcn/ui](https://ui.shadcn.com/) | Customizable React components | `frontend`, `library` |
|
|
18
|
+
| [Convex](https://www.convex.dev/) | Realtime database & backend | `backend`, `database`, `realtime` |
|
|
19
|
+
| [Liveblocks](https://liveblocks.io/) | Multiplayer collaboration features | `frontend`, `backend`, `realtime` |
|
|
20
|
+
| [Neon](https://neon.tech/) | Serverless PostgreSQL | `backend`, `database`, `sql` |
|
|
21
|
+
| [Supabase](https://supabase.com/) | PostgreSQL + Backend as a Service | `backend`, `database`, `sql` |
|
|
22
|
+
| [Prisma](https://prisma.io/) | Type-safe ORM (recommended for teams) | `backend`, `database`, `orm` |
|
|
23
|
+
| [Drizzle ORM](https://orm.drizzle.team/) | Lightweight type-safe ORM | `backend`, `database`, `orm` |
|
|
24
|
+
| [Better Auth](https://www.better-auth.com/) | Complete authentication solution | `backend`, `library` |
|
|
25
|
+
| [Inngest](https://www.inngest.com/) | Background jobs & workflows | `backend`, `service` |
|
|
26
|
+
| [Next Safe Action](https://next-safe-action.dev/) | Secure Server Actions | `backend`, `library` |
|
|
27
|
+
| [next-zod-route](https://github.com/Melvynx/next-zod-route) | Secure API Routes | `backend`, `library` |
|
|
28
|
+
| [Zod](https://zod.dev/) | Runtime validation (v4) | `library`, `validation` |
|
|
29
|
+
| [AI SDK](https://ai-sdk.dev/) | LLM integration wrapper | `backend`, `frontend`, `library` |
|
|
30
|
+
| [up-fetch](https://github.com/L-Blondy/up-fetch) | Modern fetch wrapper | `backend`, `frontend`, `library` |
|
|
31
|
+
| [Vitest](https://vitest.dev/) | Fast unit testing | `testing`, `library` |
|
|
32
|
+
| [Playwright](https://playwright.dev/) | E2E testing | `testing`, `library` |
|
|
33
|
+
| [Sentry](https://sentry.io/) | Error tracking & monitoring | `monitoring`, `service` |
|
|
34
|
+
| [Resend](https://resend.com/) | Developer email service | `email`, `service` |
|
|
35
|
+
| [React Email](https://react.email/) | Email templates in React | `email`, `library` |
|
|
36
|
+
| [AWS SES](https://aws.amazon.com/ses/) | High-volume email | `email`, `service` |
|
|
37
|
+
| [Stripe](https://stripe.com/) | Complete payment solution | `payment`, `service` |
|
|
38
|
+
| [Lemon Squeezy](https://lemonsqueezy.com/) | Payments with tax handling | `payment`, `service` |
|
|
39
|
+
| [PostHog](https://posthog.com/) | Product analytics | `analytics`, `service` |
|
|
40
|
+
| [Plausible](https://plausible.io/) | Simple web analytics | `analytics`, `service` |
|
|
41
|
+
| [React Hook Form](https://react-hook-form.com/) | Form management (recommended) | `frontend`, `library`, `forms` |
|
|
42
|
+
| [TanStack Form](https://tanstack.com/form) | Headless form management | `frontend`, `library`, `forms` |
|
|
43
|
+
| [Uploadthing](https://uploadthing.com/) | Simple file uploads | `upload`, `images`, `service` |
|
|
44
|
+
| [Cloudflare R2](https://developers.cloudflare.com/r2/) | S3-compatible storage | `backend`, `images`, `storage` |
|
|
45
|
+
| [AWS S3](https://aws.amazon.com/s3/) | Object storage standard | `storage`, `images`, `infra` |
|
|
46
|
+
|
|
47
|
+
## Categories
|
|
48
|
+
|
|
49
|
+
### Framework & Frontend
|
|
50
|
+
- **Next.js** - Main framework
|
|
51
|
+
- **TanStack Query** - Data fetching & cache
|
|
52
|
+
- **Zustand** - Client state management
|
|
53
|
+
- **nuqs** - URL state
|
|
54
|
+
- **shadcn/ui** - UI components
|
|
55
|
+
|
|
56
|
+
### Backend & API
|
|
57
|
+
- **Next Safe Action** - Secure Server Actions
|
|
58
|
+
- **next-zod-route** - Secure API Routes
|
|
59
|
+
- **Better Auth** - Authentication
|
|
60
|
+
- **AI SDK** - LLM integration
|
|
61
|
+
- **up-fetch** - HTTP client
|
|
62
|
+
|
|
63
|
+
### Database & ORM
|
|
64
|
+
- **Neon** - Serverless PostgreSQL (recommended)
|
|
65
|
+
- **Supabase** - PostgreSQL + BaaS
|
|
66
|
+
- **Prisma** - Type-safe ORM (recommended for teams)
|
|
67
|
+
- **Drizzle ORM** - Lightweight ORM (recommended for performance)
|
|
68
|
+
|
|
69
|
+
### Realtime & Collaboration
|
|
70
|
+
- **Convex** - Realtime database + backend (recommended for realtime apps)
|
|
71
|
+
- **Liveblocks** - Multiplayer collaboration (cursors, presence, comments)
|
|
72
|
+
|
|
73
|
+
### Validation & Forms
|
|
74
|
+
- **Zod** - Data validation (v4)
|
|
75
|
+
- **React Hook Form** - Form management (recommended)
|
|
76
|
+
- **TanStack Form** - Modern alternative
|
|
77
|
+
|
|
78
|
+
### Testing
|
|
79
|
+
- **Vitest** - Unit tests
|
|
80
|
+
- **Playwright** - E2E tests
|
|
81
|
+
|
|
82
|
+
### Monitoring & Analytics
|
|
83
|
+
- **Sentry** - Error tracking & performance
|
|
84
|
+
- **PostHog** - Product analytics (recommended)
|
|
85
|
+
- **Plausible** - Simple web analytics
|
|
86
|
+
|
|
87
|
+
### Payments
|
|
88
|
+
- **Stripe** - Complete solution (recommended for flexibility)
|
|
89
|
+
- **Lemon Squeezy** - Simple + handles taxes (recommended for solopreneurs)
|
|
90
|
+
|
|
91
|
+
### Email
|
|
92
|
+
- **Resend** - Transactional emails (recommended)
|
|
93
|
+
- **React Email** - Email templates in React
|
|
94
|
+
- **AWS SES** - High volume
|
|
95
|
+
|
|
96
|
+
### Images & Upload
|
|
97
|
+
- **Uploadthing** - Simple Next.js uploads (recommended)
|
|
98
|
+
- **Cloudflare R2** - Cheap object storage
|
|
99
|
+
- **AWS S3** - Standard object storage
|
|
100
|
+
|
|
101
|
+
### Services & Infrastructure
|
|
102
|
+
- **Inngest** - Async jobs & workflows
|
|
103
|
+
- **Cloudflare Browser Rendering** - Serverless scraping
|
|
104
|
+
|
|
105
|
+
## Recommended Stack
|
|
106
|
+
|
|
107
|
+
### Frontend
|
|
108
|
+
- Next.js + TanStack Query + Zustand + shadcn/ui
|
|
109
|
+
- React Hook Form + Zod
|
|
110
|
+
|
|
111
|
+
### Backend
|
|
112
|
+
- Neon (DB) + Prisma or Drizzle (ORM)
|
|
113
|
+
- Next Safe Action + Better Auth
|
|
114
|
+
- Resend + React Email
|
|
115
|
+
|
|
116
|
+
### Services
|
|
117
|
+
- Stripe (payments)
|
|
118
|
+
- Uploadthing (upload)
|
|
119
|
+
- Cloudflare R2 (storage)
|
|
120
|
+
- PostHog (analytics)
|
|
121
|
+
- Sentry (monitoring)
|
|
122
|
+
|
|
123
|
+
### Testing
|
|
124
|
+
- Vitest + Playwright
|
|
125
|
+
|
|
126
|
+
## Decision Guide
|
|
127
|
+
|
|
128
|
+
| Decision | Recommendation |
|
|
129
|
+
|----------|----------------|
|
|
130
|
+
| Database | Neon + Prisma to start, Drizzle for performance |
|
|
131
|
+
| Realtime | Convex for full realtime, Liveblocks for collaboration only |
|
|
132
|
+
| Email | Resend to start, AWS SES for >100k/month |
|
|
133
|
+
| Payments | Stripe for flexibility, Lemon Squeezy for tax simplicity |
|
|
134
|
+
| Analytics | PostHog for product analytics, Plausible for simple web analytics |
|
|
135
|
+
| Forms | React Hook Form (standard), TanStack Form (more control) |
|
|
136
|
+
| ORM | Prisma (better DX), Drizzle (better perf, 2-3x faster) |
|
|
137
|
+
| Upload | Uploadthing (simple), R2/S3 (more control) |
|
|
138
|
+
| Testing | Vitest (unit), Playwright (E2E, more reliable than Cypress) |
|
|
139
|
+
|
|
140
|
+
## Important Notes
|
|
141
|
+
|
|
142
|
+
- **Zod**: Now v4, specify version to AI
|
|
143
|
+
- **Supabase Auth**: Prefer Better-Auth for flexibility
|
|
144
|
+
- **Convex vs Neon+Liveblocks**: Convex if entire app is realtime, Neon+Liveblocks if only some features need collaboration
|
|
145
|
+
- **AWS S3**: Watch egress costs, prefer R2 for serving assets
|
|
146
|
+
- **Stripe Tax**: Enable for automatic tax handling
|
|
147
|
+
- **Sentry**: Configure source maps for real stack traces
|
|
148
|
+
- **Prisma vs Drizzle**: Prisma = better DX, Drizzle = better perf
|