ai-qakit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +240 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +208 -0
- package/dist/commands/clean.d.ts +10 -0
- package/dist/commands/clean.js +53 -0
- package/dist/commands/init.d.ts +20 -0
- package/dist/commands/init.js +195 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -0
- package/dist/utils/file-operations.d.ts +18 -0
- package/dist/utils/file-operations.js +79 -0
- package/dist/utils/git.d.ts +4 -0
- package/dist/utils/git.js +27 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/logger.d.ts +22 -0
- package/dist/utils/logger.js +23 -0
- package/dist/utils/manifest.d.ts +37 -0
- package/dist/utils/manifest.js +120 -0
- package/dist/utils/package.d.ts +19 -0
- package/dist/utils/package.js +47 -0
- package/package.json +61 -0
- package/templates/.antigravity/agents/qa-agents.yaml +50 -0
- package/templates/.antigravity/prompts/qa-prompts.md +56 -0
- package/templates/.claude/.scoutignore +33 -0
- package/templates/.claude/CHANGELOG.md +587 -0
- package/templates/.claude/CLAUDE.md +335 -0
- package/templates/.claude/README.md +428 -0
- package/templates/.claude/TROUBLESHOOTING.md +789 -0
- package/templates/.claude/agents/accessibility-tester.md +29 -0
- package/templates/.claude/agents/api-tester.md +29 -0
- package/templates/.claude/agents/automation-engineer.md +30 -0
- package/templates/.claude/agents/brainstormer.md +123 -0
- package/templates/.claude/agents/bug-hunter.md +30 -0
- package/templates/.claude/agents/claude-optimizer.md +221 -0
- package/templates/.claude/agents/code-reviewer.md +176 -0
- package/templates/.claude/agents/code-simplifier.md +103 -0
- package/templates/.claude/agents/coder.md +163 -0
- package/templates/.claude/agents/context-manager.md +110 -0
- package/templates/.claude/agents/cunningham.md +134 -0
- package/templates/.claude/agents/database-admin.md +112 -0
- package/templates/.claude/agents/debugger.md +156 -0
- package/templates/.claude/agents/docs-manager.md +181 -0
- package/templates/.claude/agents/e2e-tester.md +30 -0
- package/templates/.claude/agents/performance-engineer.md +48 -0
- package/templates/.claude/agents/performance-tester.md +29 -0
- package/templates/.claude/agents/planner.md +72 -0
- package/templates/.claude/agents/project-manager.md +152 -0
- package/templates/.claude/agents/qa-scout.md +29 -0
- package/templates/.claude/agents/quality-engineer.md +48 -0
- package/templates/.claude/agents/readme-writer.md +67 -0
- package/templates/.claude/agents/researcher.md +57 -0
- package/templates/.claude/agents/scout.md +125 -0
- package/templates/.claude/agents/security-agent.md +564 -0
- package/templates/.claude/agents/security-tester.md +29 -0
- package/templates/.claude/agents/storage-path-convention.md +102 -0
- package/templates/.claude/agents/tattletale-reporter.md +77 -0
- package/templates/.claude/agents/test-architect.md +32 -0
- package/templates/.claude/agents/test-reviewer.md +29 -0
- package/templates/.claude/agents/tester.md +286 -0
- package/templates/.claude/agents/typescript-pro.md +280 -0
- package/templates/.claude/agents/ui-ux-designer.md +256 -0
- package/templates/.claude/commands/devkit/analyze.md +92 -0
- package/templates/.claude/commands/devkit/ask.md +269 -0
- package/templates/.claude/commands/devkit/backend/create-api.md +220 -0
- package/templates/.claude/commands/devkit/backend/create-migration.md +130 -0
- package/templates/.claude/commands/devkit/backend/create-schema.md +158 -0
- package/templates/.claude/commands/devkit/backend/design-graphql-api.md +302 -0
- package/templates/.claude/commands/devkit/backend/design-rest-api.md +192 -0
- package/templates/.claude/commands/devkit/config/bootstrap.md +137 -0
- package/templates/.claude/commands/devkit/config/init-backend.md +233 -0
- package/templates/.claude/commands/devkit/config/init-frontend.md +911 -0
- package/templates/.claude/commands/devkit/create-test.md +165 -0
- package/templates/.claude/commands/devkit/debug.md +481 -0
- package/templates/.claude/commands/devkit/docs/capture-knowledge.md +424 -0
- package/templates/.claude/commands/devkit/docs/init.md +203 -0
- package/templates/.claude/commands/devkit/docs/summarize.md +33 -0
- package/templates/.claude/commands/devkit/docs/update.md +207 -0
- package/templates/.claude/commands/devkit/fix/fast.md +22 -0
- package/templates/.claude/commands/devkit/fix/hard.md +44 -0
- package/templates/.claude/commands/devkit/fix.md +16 -0
- package/templates/.claude/commands/devkit/frontend/create-api-integration.md +507 -0
- package/templates/.claude/commands/devkit/frontend/create-component.md +461 -0
- package/templates/.claude/commands/devkit/frontend/create-form.md +804 -0
- package/templates/.claude/commands/devkit/frontend/create-page.md +484 -0
- package/templates/.claude/commands/devkit/frontend/create-storybook.md +899 -0
- package/templates/.claude/commands/devkit/frontend/create-table.md +1035 -0
- package/templates/.claude/commands/devkit/help.md +148 -0
- package/templates/.claude/commands/devkit/refactor.md +510 -0
- package/templates/.claude/commands/devkit/research.md +394 -0
- package/templates/.claude/commands/devkit/review/code.md +349 -0
- package/templates/.claude/commands/devkit/review/codebase.md +51 -0
- package/templates/.claude/commands/devkit/scout.md +312 -0
- package/templates/.claude/commands/devkit/skill/add.md +29 -0
- package/templates/.claude/commands/devkit/skill/create.md +22 -0
- package/templates/.claude/commands/devkit/skill/optimize.md +34 -0
- package/templates/.claude/commands/devkit/solve.md +364 -0
- package/templates/.claude/commands/devkit/spec/brainstorm.md +309 -0
- package/templates/.claude/commands/devkit/spec/capture-requirement.md +202 -0
- package/templates/.claude/commands/devkit/spec/cook.md +157 -0
- package/templates/.claude/commands/devkit/spec/deep-capture-requirement.md +393 -0
- package/templates/.claude/commands/devkit/spec/implement.md +350 -0
- package/templates/.claude/commands/devkit/spec/plan.md +269 -0
- package/templates/.claude/commands/devkit/spec/task.md +156 -0
- package/templates/.claude/commands/devkit/spec/test.md +259 -0
- package/templates/.claude/commands/devkit/spec/update-plan.md +263 -0
- package/templates/.claude/commands/devkit/spec/update-requirement.md +239 -0
- package/templates/.claude/commands/devkit/spec-lite/do.md +280 -0
- package/templates/.claude/commands/devkit/spec-lite/plan.md +236 -0
- package/templates/.claude/commands/devkit/spec-lite/task.md +141 -0
- package/templates/.claude/commands/devkit/spec-lite/test.md +171 -0
- package/templates/.claude/commands/devkit/spec-lite/update-plan.md +154 -0
- package/templates/.claude/commands/qakit/a11y/audit.md +38 -0
- package/templates/.claude/commands/qakit/a11y/fix.md +22 -0
- package/templates/.claude/commands/qakit/analyze/full.md +459 -0
- package/templates/.claude/commands/qakit/analyze/quick.md +84 -0
- package/templates/.claude/commands/qakit/api/analyze.md +34 -0
- package/templates/.claude/commands/qakit/api/contract.md +22 -0
- package/templates/.claude/commands/qakit/api/generate.md +20 -0
- package/templates/.claude/commands/qakit/api/run.md +16 -0
- package/templates/.claude/commands/qakit/ask.md +57 -0
- package/templates/.claude/commands/qakit/automation/fix-flaky.md +233 -0
- package/templates/.claude/commands/qakit/automation/health-check.md +192 -0
- package/templates/.claude/commands/qakit/automation/maintenance.md +311 -0
- package/templates/.claude/commands/qakit/automation/scaffold-playwright.md +689 -0
- package/templates/.claude/commands/qakit/automation/scaffold-webdriverio.md +802 -0
- package/templates/.claude/commands/qakit/automation/scaffold.md +447 -0
- package/templates/.claude/commands/qakit/automation/update-deps.md +219 -0
- package/templates/.claude/commands/qakit/bug/investigate.md +96 -0
- package/templates/.claude/commands/qakit/bug/report.md +147 -0
- package/templates/.claude/commands/qakit/bug/reproduce.md +101 -0
- package/templates/.claude/commands/qakit/bug/triage.md +101 -0
- package/templates/.claude/commands/qakit/bug/verify.md +106 -0
- package/templates/.claude/commands/qakit/config/init-qa.md +107 -0
- package/templates/.claude/commands/qakit/confluence/fetch.md +192 -0
- package/templates/.claude/commands/qakit/confluence/search.md +201 -0
- package/templates/.claude/commands/qakit/docs/capture-test-knowledge.md +451 -0
- package/templates/.claude/commands/qakit/docs/update-changelog.md +207 -0
- package/templates/.claude/commands/qakit/docs/update-readme.md +296 -0
- package/templates/.claude/commands/qakit/e2e/generate.md +18 -0
- package/templates/.claude/commands/qakit/e2e/page-object.md +37 -0
- package/templates/.claude/commands/qakit/e2e/run.md +17 -0
- package/templates/.claude/commands/qakit/e2e/scenario.md +20 -0
- package/templates/.claude/commands/qakit/feature/create.md +178 -0
- package/templates/.claude/commands/qakit/feature/enrich-api.md +352 -0
- package/templates/.claude/commands/qakit/feature/enrich-tests.md +243 -0
- package/templates/.claude/commands/qakit/feature/enrich-ui.md +217 -0
- package/templates/.claude/commands/qakit/feature/enrich.md +246 -0
- package/templates/.claude/commands/qakit/feature/from-jira.md +184 -0
- package/templates/.claude/commands/qakit/feature/update.md +136 -0
- package/templates/.claude/commands/qakit/help.md +98 -0
- package/templates/.claude/commands/qakit/jira/analyze.md +329 -0
- package/templates/.claude/commands/qakit/jira/create-tests.md +319 -0
- package/templates/.claude/commands/qakit/kb/add-design.md +258 -0
- package/templates/.claude/commands/qakit/kb/capture.md +325 -0
- package/templates/.claude/commands/qakit/kb/clean.md +157 -0
- package/templates/.claude/commands/qakit/kb/dedupe.md +281 -0
- package/templates/.claude/commands/qakit/kb/init.md +234 -0
- package/templates/.claude/commands/qakit/kb/link.md +124 -0
- package/templates/.claude/commands/qakit/kb/list.md +185 -0
- package/templates/.claude/commands/qakit/kb/resolve.md +234 -0
- package/templates/.claude/commands/qakit/kb/search.md +202 -0
- package/templates/.claude/commands/qakit/kb/sync-confluence.md +474 -0
- package/templates/.claude/commands/qakit/metrics/coverage.md +46 -0
- package/templates/.claude/commands/qakit/metrics/dashboard.md +62 -0
- package/templates/.claude/commands/qakit/metrics/trends.md +42 -0
- package/templates/.claude/commands/qakit/perf/analyze.md +31 -0
- package/templates/.claude/commands/qakit/perf/plan.md +18 -0
- package/templates/.claude/commands/qakit/perf/run.md +17 -0
- package/templates/.claude/commands/qakit/perf/script.md +38 -0
- package/templates/.claude/commands/qakit/rca/analyze.md +166 -0
- package/templates/.claude/commands/qakit/regression/analyze.md +36 -0
- package/templates/.claude/commands/qakit/regression/report.md +30 -0
- package/templates/.claude/commands/qakit/regression/run.md +17 -0
- package/templates/.claude/commands/qakit/regression/select.md +34 -0
- package/templates/.claude/commands/qakit/research/deep.md +328 -0
- package/templates/.claude/commands/qakit/review/coverage.md +116 -0
- package/templates/.claude/commands/qakit/review/quality-gate.md +126 -0
- package/templates/.claude/commands/qakit/review/test-code.md +320 -0
- package/templates/.claude/commands/qakit/review/test-review.md +109 -0
- package/templates/.claude/commands/qakit/scout.md +195 -0
- package/templates/.claude/commands/qakit/setup/confluence.md +140 -0
- package/templates/.claude/commands/qakit/setup/jira.md +154 -0
- package/templates/.claude/commands/qakit/spec/analyze.md +46 -0
- package/templates/.claude/commands/qakit/spec/cook.md +344 -0
- package/templates/.claude/commands/qakit/spec/execute.md +38 -0
- package/templates/.claude/commands/qakit/spec/plan.md +46 -0
- package/templates/.claude/commands/qakit/spec/report.md +40 -0
- package/templates/.claude/commands/qakit/spec/task.md +40 -0
- package/templates/.claude/commands/qakit/test/create-test-case.md +151 -0
- package/templates/.claude/commands/qakit/test/create-test-suite.md +84 -0
- package/templates/.claude/commands/qakit/test/generate-api-tests.md +82 -0
- package/templates/.claude/commands/qakit/test/generate-data.md +114 -0
- package/templates/.claude/commands/qakit/test/generate-e2e.md +99 -0
- package/templates/.claude/commands/qakit/test/generate-ui-tests.md +97 -0
- package/templates/.claude/commands/qakit/testmo/report.md +22 -0
- package/templates/.claude/commands/qakit/testmo/sync.md +31 -0
- package/templates/.claude/doc-templates/bug-report-template.md +247 -0
- package/templates/.claude/doc-templates/code-standards.md +486 -0
- package/templates/.claude/doc-templates/codebase-summary.md +426 -0
- package/templates/.claude/doc-templates/development-rules.md +553 -0
- package/templates/.claude/doc-templates/feature-spec-template.md +167 -0
- package/templates/.claude/doc-templates/performance-report-template.md +49 -0
- package/templates/.claude/doc-templates/project-overview-pdr.md +494 -0
- package/templates/.claude/doc-templates/quality-report-template.md +44 -0
- package/templates/.claude/doc-templates/regression-report-template.md +41 -0
- package/templates/.claude/doc-templates/system-architecture.md +615 -0
- package/templates/.claude/doc-templates/technical-documents.md +127 -0
- package/templates/.claude/doc-templates/test-case-template.md +198 -0
- package/templates/.claude/doc-templates/test-plan-template.md +366 -0
- package/templates/.claude/doc-templates/test-summary-report.md +401 -0
- package/templates/.claude/hooks/dev-rules-reminder.cjs +101 -0
- package/templates/.claude/hooks/dev-rules-reminder.js +96 -0
- package/templates/.claude/hooks/executable_force-agent-skills-eval.sh +38 -0
- package/templates/.claude/hooks/scout-block/scout-block.ps1 +92 -0
- package/templates/.claude/hooks/scout-block/scout-block.sh +119 -0
- package/templates/.claude/hooks/scout-block.cjs +100 -0
- package/templates/.claude/hooks/scout-block.js +104 -0
- package/templates/.claude/repomix.config.json +34 -0
- package/templates/.claude/rules/01-core-principles.md +81 -0
- package/templates/.claude/rules/02-naming-and-constants.md +115 -0
- package/templates/.claude/rules/03-function-design.md +167 -0
- package/templates/.claude/rules/04-error-handling.md +83 -0
- package/templates/.claude/rules/05-testing.md +86 -0
- package/templates/.claude/rules/06-code-quality.md +107 -0
- package/templates/.claude/rules/07-architecture.md +105 -0
- package/templates/.claude/rules/08-performance-security.md +93 -0
- package/templates/.claude/rules/index.md +77 -0
- package/templates/.claude/scripts/README.md +153 -0
- package/templates/.claude/scripts/commands_data.yaml +336 -0
- package/templates/.claude/scripts/generate_catalogs.py +163 -0
- package/templates/.claude/scripts/helper.py +723 -0
- package/templates/.claude/scripts/scan_commands.py +101 -0
- package/templates/.claude/scripts/scan_skills.py +187 -0
- package/templates/.claude/scripts/skills_data.yaml +348 -0
- package/templates/.claude/settings.json +54 -0
- package/templates/.claude/settings.local.README.md +650 -0
- package/templates/.claude/settings.local.json +41 -0
- package/templates/.claude/setup/dependencies/setup-claude-mem.ps1 +534 -0
- package/templates/.claude/setup/dependencies/setup-claude-mem.sh +477 -0
- package/templates/.claude/setup/dependencies/setup-mcp-servers.ps1 +562 -0
- package/templates/.claude/setup/dependencies/setup-mcp-servers.sh +511 -0
- package/templates/.claude/setup/jira-env.example.sh +22 -0
- package/templates/.claude/setup/setup.ps1 +240 -0
- package/templates/.claude/setup/setup.sh +222 -0
- package/templates/.claude/skills/accessibility-testing/SKILL.md +34 -0
- package/templates/.claude/skills/aesthetic/SKILL.md +121 -0
- package/templates/.claude/skills/aesthetic/assets/design-guideline-template.md +163 -0
- package/templates/.claude/skills/aesthetic/assets/design-story-template.md +135 -0
- package/templates/.claude/skills/aesthetic/references/design-principles.md +62 -0
- package/templates/.claude/skills/aesthetic/references/design-resources.md +75 -0
- package/templates/.claude/skills/aesthetic/references/micro-interactions.md +53 -0
- package/templates/.claude/skills/aesthetic/references/storytelling-design.md +50 -0
- package/templates/.claude/skills/aesthetic/skill-creator/LICENSE.txt +202 -0
- package/templates/.claude/skills/aesthetic/skill-creator/SKILL.md +266 -0
- package/templates/.claude/skills/aesthetic/skill-creator/scripts/init_skill.py +303 -0
- package/templates/.claude/skills/aesthetic/skill-creator/scripts/package_skill.py +110 -0
- package/templates/.claude/skills/aesthetic/skill-creator/scripts/quick_validate.py +65 -0
- package/templates/.claude/skills/agent_skills_spec.md +51 -0
- package/templates/.claude/skills/ai-multimodal/.env.example +185 -0
- package/templates/.claude/skills/ai-multimodal/SKILL.md +69 -0
- package/templates/.claude/skills/ai-multimodal/references/audio-processing.md +386 -0
- package/templates/.claude/skills/ai-multimodal/references/image-generation.md +722 -0
- package/templates/.claude/skills/ai-multimodal/references/video-analysis.md +515 -0
- package/templates/.claude/skills/ai-multimodal/references/video-generation.md +457 -0
- package/templates/.claude/skills/ai-multimodal/references/vision-understanding.md +492 -0
- package/templates/.claude/skills/ai-multimodal/scripts/check_setup.py +299 -0
- package/templates/.claude/skills/ai-multimodal/scripts/document_converter.py +395 -0
- package/templates/.claude/skills/ai-multimodal/scripts/gemini_batch_process.py +1067 -0
- package/templates/.claude/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/templates/.claude/skills/ai-multimodal/scripts/requirements.txt +26 -0
- package/templates/.claude/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/templates/.claude/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
- package/templates/.claude/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/templates/.claude/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/templates/.claude/skills/api-design-principles/SKILL.md +527 -0
- package/templates/.claude/skills/api-design-principles/assets/api-design-checklist.md +136 -0
- package/templates/.claude/skills/api-design-principles/assets/rest-api-template.py +165 -0
- package/templates/.claude/skills/api-design-principles/references/graphql-schema-design.md +566 -0
- package/templates/.claude/skills/api-design-principles/references/rest-best-practices.md +385 -0
- package/templates/.claude/skills/api-testing/SKILL.md +24 -0
- package/templates/.claude/skills/backend-development/SKILL.md +95 -0
- package/templates/.claude/skills/backend-development/references/backend-api-design.md +495 -0
- package/templates/.claude/skills/backend-development/references/backend-architecture.md +454 -0
- package/templates/.claude/skills/backend-development/references/backend-code-quality.md +659 -0
- package/templates/.claude/skills/backend-development/references/backend-debugging.md +904 -0
- package/templates/.claude/skills/backend-development/references/backend-devops.md +494 -0
- package/templates/.claude/skills/backend-development/references/backend-mindset.md +387 -0
- package/templates/.claude/skills/backend-development/references/backend-performance.md +397 -0
- package/templates/.claude/skills/backend-development/references/backend-security.md +290 -0
- package/templates/.claude/skills/backend-development/references/backend-technologies.md +256 -0
- package/templates/.claude/skills/backend-development/references/backend-testing.md +429 -0
- package/templates/.claude/skills/bug-investigation/SKILL.md +24 -0
- package/templates/.claude/skills/chrome-devtools/SKILL.md +472 -0
- package/templates/.claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
- package/templates/.claude/skills/chrome-devtools/references/performance-guide.md +940 -0
- package/templates/.claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
- package/templates/.claude/skills/chrome-devtools/scripts/README.md +228 -0
- package/templates/.claude/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
- package/templates/.claude/skills/chrome-devtools/scripts/aria-snapshot.js +362 -0
- package/templates/.claude/skills/chrome-devtools/scripts/click.js +83 -0
- package/templates/.claude/skills/chrome-devtools/scripts/console.js +79 -0
- package/templates/.claude/skills/chrome-devtools/scripts/evaluate.js +53 -0
- package/templates/.claude/skills/chrome-devtools/scripts/fill.js +76 -0
- package/templates/.claude/skills/chrome-devtools/scripts/install-deps.sh +181 -0
- package/templates/.claude/skills/chrome-devtools/scripts/install.sh +83 -0
- package/templates/.claude/skills/chrome-devtools/scripts/lib/browser.js +217 -0
- package/templates/.claude/skills/chrome-devtools/scripts/lib/selector.js +178 -0
- package/templates/.claude/skills/chrome-devtools/scripts/navigate.js +54 -0
- package/templates/.claude/skills/chrome-devtools/scripts/network.js +106 -0
- package/templates/.claude/skills/chrome-devtools/scripts/package.json +16 -0
- package/templates/.claude/skills/chrome-devtools/scripts/performance.js +149 -0
- package/templates/.claude/skills/chrome-devtools/scripts/screenshot.js +194 -0
- package/templates/.claude/skills/chrome-devtools/scripts/select-ref.js +131 -0
- package/templates/.claude/skills/chrome-devtools/scripts/snapshot.js +135 -0
- package/templates/.claude/skills/claude-code-analyzer/SKILL.md +299 -0
- package/templates/.claude/skills/claude-code-analyzer/references/best-practices.md +290 -0
- package/templates/.claude/skills/claude-code-analyzer/scripts/analyze-claude-md.sh +239 -0
- package/templates/.claude/skills/claude-code-analyzer/scripts/analyze.sh +274 -0
- package/templates/.claude/skills/claude-code-analyzer/scripts/fetch-features.sh +69 -0
- package/templates/.claude/skills/claude-code-analyzer/scripts/github-discovery.sh +178 -0
- package/templates/.claude/skills/code-review/SKILL.md +155 -0
- package/templates/.claude/skills/code-review/references/code-review-reception.md +209 -0
- package/templates/.claude/skills/code-review/references/human-code-review-practices.md +370 -0
- package/templates/.claude/skills/code-review/references/requesting-code-review.md +105 -0
- package/templates/.claude/skills/code-review/references/verification-before-completion.md +139 -0
- package/templates/.claude/skills/command-development/README.md +272 -0
- package/templates/.claude/skills/command-development/SKILL.md +834 -0
- package/templates/.claude/skills/command-development/examples/plugin-commands.md +557 -0
- package/templates/.claude/skills/command-development/examples/simple-commands.md +504 -0
- package/templates/.claude/skills/command-development/references/advanced-workflows.md +722 -0
- package/templates/.claude/skills/command-development/references/documentation-patterns.md +739 -0
- package/templates/.claude/skills/command-development/references/frontmatter-reference.md +463 -0
- package/templates/.claude/skills/command-development/references/interactive-commands.md +920 -0
- package/templates/.claude/skills/command-development/references/marketplace-considerations.md +904 -0
- package/templates/.claude/skills/command-development/references/plugin-features-reference.md +609 -0
- package/templates/.claude/skills/command-development/references/testing-strategies.md +702 -0
- package/templates/.claude/skills/confluence-integration/confluence-integration.md +260 -0
- package/templates/.claude/skills/databases/SKILL.md +232 -0
- package/templates/.claude/skills/databases/references/mongodb-aggregation.md +447 -0
- package/templates/.claude/skills/databases/references/mongodb-atlas.md +465 -0
- package/templates/.claude/skills/databases/references/mongodb-crud.md +408 -0
- package/templates/.claude/skills/databases/references/mongodb-indexing.md +442 -0
- package/templates/.claude/skills/databases/references/postgresql-administration.md +594 -0
- package/templates/.claude/skills/databases/references/postgresql-performance.md +527 -0
- package/templates/.claude/skills/databases/references/postgresql-psql-cli.md +467 -0
- package/templates/.claude/skills/databases/references/postgresql-queries.md +475 -0
- package/templates/.claude/skills/databases/scripts/db_backup.py +502 -0
- package/templates/.claude/skills/databases/scripts/db_migrate.py +414 -0
- package/templates/.claude/skills/databases/scripts/db_performance_check.py +444 -0
- package/templates/.claude/skills/databases/scripts/dot_coverage +0 -0
- package/templates/.claude/skills/databases/scripts/requirements.txt +20 -0
- package/templates/.claude/skills/databases/scripts/tests/coverage-db.json +1 -0
- package/templates/.claude/skills/databases/scripts/tests/requirements.txt +4 -0
- package/templates/.claude/skills/databases/scripts/tests/test_db_backup.py +340 -0
- package/templates/.claude/skills/databases/scripts/tests/test_db_migrate.py +277 -0
- package/templates/.claude/skills/databases/scripts/tests/test_db_performance_check.py +370 -0
- package/templates/.claude/skills/debugging/SKILL.md +84 -0
- package/templates/.claude/skills/debugging/references/defense-in-depth.md +124 -0
- package/templates/.claude/skills/debugging/references/root-cause-tracing.md +122 -0
- package/templates/.claude/skills/debugging/references/systematic-debugging.md +102 -0
- package/templates/.claude/skills/debugging/references/verification.md +123 -0
- package/templates/.claude/skills/debugging/scripts/find-polluter.sh +63 -0
- package/templates/.claude/skills/debugging/scripts/find-polluter.test.md +102 -0
- package/templates/.claude/skills/docs-discovery/COMPARISON.md +313 -0
- package/templates/.claude/skills/docs-discovery/README.md +53 -0
- package/templates/.claude/skills/docs-discovery/REFACTORING_SUMMARY.md +144 -0
- package/templates/.claude/skills/docs-discovery/SKILL.md +64 -0
- package/templates/.claude/skills/docs-discovery/archive/dot_env.example +15 -0
- package/templates/.claude/skills/docs-discovery/archive/package.json +24 -0
- package/templates/.claude/skills/docs-discovery/archive/references/advanced.md +79 -0
- package/templates/.claude/skills/docs-discovery/archive/references/context7-patterns.md +68 -0
- package/templates/.claude/skills/docs-discovery/archive/references/errors.md +68 -0
- package/templates/.claude/skills/docs-discovery/archive/scripts/analyze-llms-txt.js +211 -0
- package/templates/.claude/skills/docs-discovery/archive/scripts/detect-topic.js +172 -0
- package/templates/.claude/skills/docs-discovery/archive/scripts/fetch-docs.js +213 -0
- package/templates/.claude/skills/docs-discovery/archive/scripts/tests/run-tests.js +72 -0
- package/templates/.claude/skills/docs-discovery/archive/scripts/tests/test-analyze-llms.js +119 -0
- package/templates/.claude/skills/docs-discovery/archive/scripts/tests/test-detect-topic.js +112 -0
- package/templates/.claude/skills/docs-discovery/archive/scripts/tests/test-fetch-docs.js +84 -0
- package/templates/.claude/skills/docs-discovery/archive/scripts/utils/env-loader.js +94 -0
- package/templates/.claude/skills/docs-discovery/archive/workflows/library-search.md +87 -0
- package/templates/.claude/skills/docs-discovery/archive/workflows/repo-analysis.md +91 -0
- package/templates/.claude/skills/docs-discovery/archive/workflows/topic-search.md +77 -0
- package/templates/.claude/skills/docs-seeker/.env.example +15 -0
- package/templates/.claude/skills/docs-seeker/SKILL.md +97 -0
- package/templates/.claude/skills/docs-seeker/package.json +24 -0
- package/templates/.claude/skills/docs-seeker/references/advanced.md +79 -0
- package/templates/.claude/skills/docs-seeker/references/context7-patterns.md +68 -0
- package/templates/.claude/skills/docs-seeker/references/errors.md +68 -0
- package/templates/.claude/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/templates/.claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/templates/.claude/skills/docs-seeker/scripts/fetch-docs.js +213 -0
- package/templates/.claude/skills/docs-seeker/scripts/tests/run-tests.js +72 -0
- package/templates/.claude/skills/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
- package/templates/.claude/skills/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
- package/templates/.claude/skills/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
- package/templates/.claude/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
- package/templates/.claude/skills/docs-seeker/workflows/library-search.md +87 -0
- package/templates/.claude/skills/docs-seeker/workflows/repo-analysis.md +91 -0
- package/templates/.claude/skills/docs-seeker/workflows/topic-search.md +77 -0
- package/templates/.claude/skills/document-skills/docx/LICENSE.txt +30 -0
- package/templates/.claude/skills/document-skills/docx/SKILL.md +197 -0
- package/templates/.claude/skills/document-skills/docx/docx-js.md +350 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/templates/.claude/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/templates/.claude/skills/document-skills/docx/ooxml.md +610 -0
- package/templates/.claude/skills/document-skills/docx/scripts/__init__.py +1 -0
- package/templates/.claude/skills/document-skills/docx/scripts/document.py +1276 -0
- package/templates/.claude/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
- package/templates/.claude/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/templates/.claude/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/templates/.claude/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/templates/.claude/skills/document-skills/docx/scripts/templates/people.xml +3 -0
- package/templates/.claude/skills/document-skills/docx/scripts/utilities.py +374 -0
- package/templates/.claude/skills/document-skills/pdf/LICENSE.txt +30 -0
- package/templates/.claude/skills/document-skills/pdf/SKILL.md +294 -0
- package/templates/.claude/skills/document-skills/pdf/forms.md +205 -0
- package/templates/.claude/skills/document-skills/pdf/reference.md +612 -0
- package/templates/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/templates/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/templates/.claude/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/templates/.claude/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/templates/.claude/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
- package/templates/.claude/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/templates/.claude/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/templates/.claude/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/templates/.claude/skills/document-skills/pptx/LICENSE.txt +30 -0
- package/templates/.claude/skills/document-skills/pptx/SKILL.md +484 -0
- package/templates/.claude/skills/document-skills/pptx/html2pptx.md +625 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/templates/.claude/skills/document-skills/pptx/ooxml.md +427 -0
- package/templates/.claude/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
- package/templates/.claude/skills/document-skills/pptx/scripts/inventory.py +1020 -0
- package/templates/.claude/skills/document-skills/pptx/scripts/rearrange.py +231 -0
- package/templates/.claude/skills/document-skills/pptx/scripts/replace.py +385 -0
- package/templates/.claude/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
- package/templates/.claude/skills/document-skills/xlsx/LICENSE.txt +30 -0
- package/templates/.claude/skills/document-skills/xlsx/SKILL.md +289 -0
- package/templates/.claude/skills/document-skills/xlsx/recalc.py +178 -0
- package/templates/.claude/skills/frontend-development/SKILL.md +208 -0
- package/templates/.claude/skills/frontend-development/references/accessibility.md +720 -0
- package/templates/.claude/skills/frontend-development/references/data-fetching.md +412 -0
- package/templates/.claude/skills/frontend-development/references/forms.md +809 -0
- package/templates/.claude/skills/frontend-development/references/fsd-architecture.md +442 -0
- package/templates/.claude/skills/frontend-development/references/graphql-apollo.md +731 -0
- package/templates/.claude/skills/frontend-development/references/performance.md +417 -0
- package/templates/.claude/skills/frontend-development/references/react-patterns.md +451 -0
- package/templates/.claude/skills/frontend-development/references/routing.md +436 -0
- package/templates/.claude/skills/frontend-development/references/state-management.md +510 -0
- package/templates/.claude/skills/frontend-development/references/tailwind-css.md +397 -0
- package/templates/.claude/skills/frontend-development/references/testing.md +630 -0
- package/templates/.claude/skills/frontend-development/references/typescript-standards.md +363 -0
- package/templates/.claude/skills/frontend-development/references/ui-libraries.md +586 -0
- package/templates/.claude/skills/infra-engineer/SKILL.md +642 -0
- package/templates/.claude/skills/infra-engineer/dot_env.example +76 -0
- package/templates/.claude/skills/infra-engineer/references/aws-overview.md +171 -0
- package/templates/.claude/skills/infra-engineer/references/browser-rendering.md +305 -0
- package/templates/.claude/skills/infra-engineer/references/cicd-github-actions.md +439 -0
- package/templates/.claude/skills/infra-engineer/references/cloudflare-d1-kv.md +123 -0
- package/templates/.claude/skills/infra-engineer/references/cloudflare-platform.md +271 -0
- package/templates/.claude/skills/infra-engineer/references/cloudflare-r2-storage.md +280 -0
- package/templates/.claude/skills/infra-engineer/references/cloudflare-workers-advanced.md +312 -0
- package/templates/.claude/skills/infra-engineer/references/cloudflare-workers-apis.md +309 -0
- package/templates/.claude/skills/infra-engineer/references/cloudflare-workers-basics.md +418 -0
- package/templates/.claude/skills/infra-engineer/references/devsecops-basics.md +361 -0
- package/templates/.claude/skills/infra-engineer/references/docker-basics.md +297 -0
- package/templates/.claude/skills/infra-engineer/references/docker-compose.md +292 -0
- package/templates/.claude/skills/infra-engineer/references/finops-basics.md +278 -0
- package/templates/.claude/skills/infra-engineer/references/gcloud-platform.md +297 -0
- package/templates/.claude/skills/infra-engineer/references/gcloud-services.md +304 -0
- package/templates/.claude/skills/infra-engineer/references/kubernetes-basics.md +295 -0
- package/templates/.claude/skills/infra-engineer/scripts/cloudflare_deploy.py +269 -0
- package/templates/.claude/skills/infra-engineer/scripts/docker_optimize.py +320 -0
- package/templates/.claude/skills/infra-engineer/scripts/requirements.txt +20 -0
- package/templates/.claude/skills/infra-engineer/scripts/tests/requirements.txt +3 -0
- package/templates/.claude/skills/infra-engineer/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/templates/.claude/skills/infra-engineer/scripts/tests/test_docker_optimize.py +436 -0
- package/templates/.claude/skills/javascript-pro/SKILL.md +96 -0
- package/templates/.claude/skills/javascript-pro/references/async-patterns.md +96 -0
- package/templates/.claude/skills/javascript-pro/references/best-practices.md +98 -0
- package/templates/.claude/skills/javascript-pro/references/design-patterns.md +100 -0
- package/templates/.claude/skills/javascript-pro/references/error-handling.md +100 -0
- package/templates/.claude/skills/javascript-pro/references/functional-patterns.md +93 -0
- package/templates/.claude/skills/javascript-pro/references/modern-syntax.md +100 -0
- package/templates/.claude/skills/javascript-pro/references/performance.md +98 -0
- package/templates/.claude/skills/jira-integration/adf-parser.md +338 -0
- package/templates/.claude/skills/jira-integration/jira-integration.md +353 -0
- package/templates/.claude/skills/knowledge-base/knowledge-base.md +212 -0
- package/templates/.claude/skills/mobile-development/SKILL.md +212 -0
- package/templates/.claude/skills/mobile-development/references/mobile-android.md +604 -0
- package/templates/.claude/skills/mobile-development/references/mobile-best-practices.md +545 -0
- package/templates/.claude/skills/mobile-development/references/mobile-debugging.md +1089 -0
- package/templates/.claude/skills/mobile-development/references/mobile-frameworks.md +465 -0
- package/templates/.claude/skills/mobile-development/references/mobile-ios.md +496 -0
- package/templates/.claude/skills/mobile-development/references/mobile-mindset.md +544 -0
- package/templates/.claude/skills/mobile-testing/SKILL.md +24 -0
- package/templates/.claude/skills/performance-testing/SKILL.md +30 -0
- package/templates/.claude/skills/planning/SKILL.md +143 -0
- package/templates/.claude/skills/planning/references/codebase-understanding.md +62 -0
- package/templates/.claude/skills/planning/references/output-standards.md +87 -0
- package/templates/.claude/skills/planning/references/plan-organization.md +137 -0
- package/templates/.claude/skills/planning/references/research-phase.md +47 -0
- package/templates/.claude/skills/planning/references/solution-design.md +63 -0
- package/templates/.claude/skills/playwright/SKILL.md +303 -0
- package/templates/.claude/skills/playwright/examples/auth.fixture.ts +172 -0
- package/templates/.claude/skills/playwright/examples/login.page.ts +232 -0
- package/templates/.claude/skills/playwright/references/config.md +391 -0
- package/templates/.claude/skills/problem-solving/SKILL.md +96 -0
- package/templates/.claude/skills/problem-solving/references/attribution.md +69 -0
- package/templates/.claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
- package/templates/.claude/skills/problem-solving/references/inversion-exercise.md +91 -0
- package/templates/.claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/templates/.claude/skills/problem-solving/references/scale-game.md +95 -0
- package/templates/.claude/skills/problem-solving/references/simplification-cascades.md +80 -0
- package/templates/.claude/skills/problem-solving/references/when-stuck.md +72 -0
- package/templates/.claude/skills/prompt-enhancer/SKILL.md +380 -0
- package/templates/.claude/skills/python-pro/SKILL.md +59 -0
- package/templates/.claude/skills/python-pro/references/async-patterns.md +96 -0
- package/templates/.claude/skills/python-pro/references/error-handling.md +84 -0
- package/templates/.claude/skills/python-pro/references/performance.md +71 -0
- package/templates/.claude/skills/python-pro/references/project-setup.md +78 -0
- package/templates/.claude/skills/python-pro/references/security.md +73 -0
- package/templates/.claude/skills/python-pro/references/testing.md +90 -0
- package/templates/.claude/skills/python-pro/references/type-system.md +88 -0
- package/templates/.claude/skills/qa-standards/SKILL.md +176 -0
- package/templates/.claude/skills/qa-standards/references/naming-conventions.md +262 -0
- package/templates/.claude/skills/quality-metrics/SKILL.md +27 -0
- package/templates/.claude/skills/repomix/SKILL.md +247 -0
- package/templates/.claude/skills/repomix/references/configuration.md +211 -0
- package/templates/.claude/skills/repomix/references/usage-patterns.md +232 -0
- package/templates/.claude/skills/repomix/scripts/README.md +179 -0
- package/templates/.claude/skills/repomix/scripts/repomix_batch.py +455 -0
- package/templates/.claude/skills/repomix/scripts/repos.example.json +15 -0
- package/templates/.claude/skills/repomix/scripts/requirements.txt +15 -0
- package/templates/.claude/skills/repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/templates/.claude/skills/research/SKILL.md +168 -0
- package/templates/.claude/skills/sequential-thinking/.env.example +8 -0
- package/templates/.claude/skills/sequential-thinking/README.md +183 -0
- package/templates/.claude/skills/sequential-thinking/SKILL.md +94 -0
- package/templates/.claude/skills/sequential-thinking/package.json +31 -0
- package/templates/.claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
- package/templates/.claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
- package/templates/.claude/skills/sequential-thinking/references/core-patterns.md +95 -0
- package/templates/.claude/skills/sequential-thinking/references/examples-api.md +88 -0
- package/templates/.claude/skills/sequential-thinking/references/examples-architecture.md +94 -0
- package/templates/.claude/skills/sequential-thinking/references/examples-debug.md +90 -0
- package/templates/.claude/skills/sequential-thinking/scripts/format-thought.js +159 -0
- package/templates/.claude/skills/sequential-thinking/scripts/process-thought.js +236 -0
- package/templates/.claude/skills/sequential-thinking/tests/format-thought.test.js +133 -0
- package/templates/.claude/skills/sequential-thinking/tests/process-thought.test.js +215 -0
- package/templates/.claude/skills/test-automation/SKILL.md +93 -0
- package/templates/.claude/skills/test-automation/examples/page-object.ts +44 -0
- package/templates/.claude/skills/test-automation/references/frameworks.md +96 -0
- package/templates/.claude/skills/test-data-management/SKILL.md +24 -0
- package/templates/.claude/skills/test-design/SKILL.md +25 -0
- package/templates/.claude/skills/typescript-pro/SKILL.md +84 -0
- package/templates/.claude/skills/typescript-pro/references/advanced-patterns.md +100 -0
- package/templates/.claude/skills/typescript-pro/references/best-practices.md +96 -0
- package/templates/.claude/skills/typescript-pro/references/conditional-types.md +85 -0
- package/templates/.claude/skills/typescript-pro/references/generics.md +97 -0
- package/templates/.claude/skills/typescript-pro/references/mapped-types.md +99 -0
- package/templates/.claude/skills/typescript-pro/references/template-literals.md +85 -0
- package/templates/.claude/skills/typescript-pro/references/type-inference.md +94 -0
- package/templates/.claude/skills/typescript-pro/references/utility-types.md +96 -0
- package/templates/.claude/skills/ui-testing/SKILL.md +24 -0
- package/templates/.claude/skills/ui-ux-pro-max/SKILL.md +229 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/templates/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/templates/.claude/skills/ui-ux-pro-max/scripts/core.py +236 -0
- package/templates/.claude/skills/ui-ux-pro-max/scripts/search.py +61 -0
- package/templates/.claude/skills/webdriverio/SKILL.md +433 -0
- package/templates/.claude/skills/webdriverio/examples/mobile.page.ts +369 -0
- package/templates/.claude/skills/webdriverio/references/capabilities.md +377 -0
- package/templates/.claude/statusline.cjs +105 -0
- package/templates/.claude/statusline.ps1 +187 -0
- package/templates/.claude/statusline.sh +161 -0
- package/templates/.claude/workflows/api-testing-workflow.md +36 -0
- package/templates/.claude/workflows/bug-investigation-workflow.md +42 -0
- package/templates/.claude/workflows/development-rules.md +366 -0
- package/templates/.claude/workflows/documentation-management.md +128 -0
- package/templates/.claude/workflows/e2e-testing-workflow.md +36 -0
- package/templates/.claude/workflows/orchestration-protocol.md +16 -0
- package/templates/.claude/workflows/performance-testing-workflow.md +42 -0
- package/templates/.claude/workflows/primary-workflow.md +45 -0
- package/templates/.claude/workflows/qa-primary-workflow.md +48 -0
- package/templates/.claude/workflows/qa-rules.md +42 -0
- package/templates/.claude/workflows/regression-testing-workflow.md +36 -0
- package/templates/.claude/workflows/test-driven-qa-workflow.md +37 -0
- package/templates/.codex/config.toml.template +29 -0
- package/templates/.codex/prompts/qa-commands.md +32 -0
- package/templates/.codex/prompts/test-generation.md +29 -0
- package/templates/.cursor/CHANGELOG.md +540 -0
- package/templates/.cursor/README.md +261 -0
- package/templates/.cursor/commands/devkit/ask.md +71 -0
- package/templates/.cursor/commands/devkit/backend/create-api.md +207 -0
- package/templates/.cursor/commands/devkit/backend/create-migration.md +169 -0
- package/templates/.cursor/commands/devkit/backend/create-schema.md +183 -0
- package/templates/.cursor/commands/devkit/backend/design-graphql-api.md +287 -0
- package/templates/.cursor/commands/devkit/backend/design-rest-api.md +219 -0
- package/templates/.cursor/commands/devkit/config/init-backend.md +219 -0
- package/templates/.cursor/commands/devkit/config/init-frontend.md +114 -0
- package/templates/.cursor/commands/devkit/create-api-integration.md +196 -0
- package/templates/.cursor/commands/devkit/create-component.md +104 -0
- package/templates/.cursor/commands/devkit/create-form.md +189 -0
- package/templates/.cursor/commands/devkit/create-page.md +111 -0
- package/templates/.cursor/commands/devkit/create-storybook.md +235 -0
- package/templates/.cursor/commands/devkit/create-table.md +251 -0
- package/templates/.cursor/commands/devkit/create-test.md +174 -0
- package/templates/.cursor/commands/devkit/debug.md +192 -0
- package/templates/.cursor/commands/devkit/docs/capture-knowledge.md +252 -0
- package/templates/.cursor/commands/devkit/docs/init.md +153 -0
- package/templates/.cursor/commands/devkit/docs/summarize.md +82 -0
- package/templates/.cursor/commands/devkit/docs/update.md +174 -0
- package/templates/.cursor/commands/devkit/fix.md +24 -0
- package/templates/.cursor/commands/devkit/help.md +148 -0
- package/templates/.cursor/commands/devkit/refactor.md +476 -0
- package/templates/.cursor/commands/devkit/research.md +135 -0
- package/templates/.cursor/commands/devkit/review/code.md +297 -0
- package/templates/.cursor/commands/devkit/review/codebase.md +37 -0
- package/templates/.cursor/commands/devkit/scout.md +103 -0
- package/templates/.cursor/commands/devkit/solve.md +355 -0
- package/templates/.cursor/commands/devkit/spec/brainstorm.md +184 -0
- package/templates/.cursor/commands/devkit/spec/capture-requirement.md +164 -0
- package/templates/.cursor/commands/devkit/spec/cook.md +101 -0
- package/templates/.cursor/commands/devkit/spec/deep-capture-requirement.md +149 -0
- package/templates/.cursor/commands/devkit/spec/implement.md +354 -0
- package/templates/.cursor/commands/devkit/spec/plan.md +317 -0
- package/templates/.cursor/commands/devkit/spec/task.md +150 -0
- package/templates/.cursor/commands/devkit/spec/test.md +203 -0
- package/templates/.cursor/commands/devkit/spec/update-plan.md +234 -0
- package/templates/.cursor/commands/devkit/spec/update-requirement.md +222 -0
- package/templates/.cursor/commands/devkit/spec-lite/do.md +154 -0
- package/templates/.cursor/commands/devkit/spec-lite/plan.md +197 -0
- package/templates/.cursor/commands/devkit/spec-lite/task.md +138 -0
- package/templates/.cursor/commands/devkit/spec-lite/test.md +129 -0
- package/templates/.cursor/commands/devkit/spec-lite/update-plan.md +133 -0
- package/templates/.cursor/commands/devkit/ui-ux-pro-max.md +226 -0
- package/templates/.cursor/doc-templates/code-standards.md +486 -0
- package/templates/.cursor/doc-templates/codebase-summary.md +426 -0
- package/templates/.cursor/doc-templates/development-rules.md +553 -0
- package/templates/.cursor/doc-templates/project-overview-pdr.md +494 -0
- package/templates/.cursor/doc-templates/system-architecture.md +615 -0
- package/templates/.cursor/doc-templates/technical-documents.md +127 -0
- package/templates/.cursor/repomix.config.json +34 -0
- package/templates/.cursor/rules/backend-development/backend-development.mdc +94 -0
- package/templates/.cursor/rules/backend-development/references/backend-api-design.md +495 -0
- package/templates/.cursor/rules/backend-development/references/backend-architecture.md +454 -0
- package/templates/.cursor/rules/backend-development/references/backend-code-quality.md +659 -0
- package/templates/.cursor/rules/backend-development/references/backend-debugging.md +904 -0
- package/templates/.cursor/rules/backend-development/references/backend-devops.md +494 -0
- package/templates/.cursor/rules/backend-development/references/backend-mindset.md +387 -0
- package/templates/.cursor/rules/backend-development/references/backend-performance.md +397 -0
- package/templates/.cursor/rules/backend-development/references/backend-security.md +290 -0
- package/templates/.cursor/rules/backend-development/references/backend-technologies.md +256 -0
- package/templates/.cursor/rules/backend-development/references/backend-testing.md +429 -0
- package/templates/.cursor/rules/brainstormer.mdc +147 -0
- package/templates/.cursor/rules/code-optimizer.mdc +132 -0
- package/templates/.cursor/rules/code-review/code-revew.mdc +144 -0
- package/templates/.cursor/rules/code-review/references/code-review-reception.md +209 -0
- package/templates/.cursor/rules/code-review/references/requesting-code-review.md +105 -0
- package/templates/.cursor/rules/code-review/references/verification-before-completion.md +139 -0
- package/templates/.cursor/rules/code-reviewer.mdc +85 -0
- package/templates/.cursor/rules/code-simplifier.mdc +121 -0
- package/templates/.cursor/rules/coder.mdc +86 -0
- package/templates/.cursor/rules/community-rules.mdc +38 -0
- package/templates/.cursor/rules/cunningham.mdc +114 -0
- package/templates/.cursor/rules/debugger.mdc +108 -0
- package/templates/.cursor/rules/development-rules.mdc +208 -0
- package/templates/.cursor/rules/docs-manager.mdc +121 -0
- package/templates/.cursor/rules/docs-seeker/docs-seeker.mdc +57 -0
- package/templates/.cursor/rules/docs-seeker/references/advanced.md +80 -0
- package/templates/.cursor/rules/docs-seeker/references/context7-patterns.md +69 -0
- package/templates/.cursor/rules/docs-seeker/references/errors.md +69 -0
- package/templates/.cursor/rules/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/templates/.cursor/rules/docs-seeker/scripts/detect-topic.js +172 -0
- package/templates/.cursor/rules/docs-seeker/scripts/fetch-docs.js +213 -0
- package/templates/.cursor/rules/docs-seeker/scripts/tests/run-tests.js +72 -0
- package/templates/.cursor/rules/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
- package/templates/.cursor/rules/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
- package/templates/.cursor/rules/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
- package/templates/.cursor/rules/docs-seeker/scripts/utils/env-loader.js +94 -0
- package/templates/.cursor/rules/docs-seeker/workflows/library-search.md +88 -0
- package/templates/.cursor/rules/docs-seeker/workflows/repo-analysis.md +92 -0
- package/templates/.cursor/rules/docs-seeker/workflows/topic-search.md +78 -0
- package/templates/.cursor/rules/frontend-development/frontend-development.mdc +131 -0
- package/templates/.cursor/rules/frontend-development/references/accessibility.md +719 -0
- package/templates/.cursor/rules/frontend-development/references/data-fetching.md +412 -0
- package/templates/.cursor/rules/frontend-development/references/forms.md +808 -0
- package/templates/.cursor/rules/frontend-development/references/fsd-architecture.md +442 -0
- package/templates/.cursor/rules/frontend-development/references/graphql-apollo.md +730 -0
- package/templates/.cursor/rules/frontend-development/references/performance.md +417 -0
- package/templates/.cursor/rules/frontend-development/references/react-patterns.md +451 -0
- package/templates/.cursor/rules/frontend-development/references/routing.md +436 -0
- package/templates/.cursor/rules/frontend-development/references/state-management.md +511 -0
- package/templates/.cursor/rules/frontend-development/references/tailwind-css.md +398 -0
- package/templates/.cursor/rules/frontend-development/references/testing.md +629 -0
- package/templates/.cursor/rules/frontend-development/references/typescript-standards.md +364 -0
- package/templates/.cursor/rules/frontend-development/references/ui-libraries.md +587 -0
- package/templates/.cursor/rules/javascript-pro/javascript-pro.mdc +98 -0
- package/templates/.cursor/rules/javascript-pro/references/async-patterns.md +96 -0
- package/templates/.cursor/rules/javascript-pro/references/best-practices.md +98 -0
- package/templates/.cursor/rules/javascript-pro/references/design-patterns.md +100 -0
- package/templates/.cursor/rules/javascript-pro/references/error-handling.md +100 -0
- package/templates/.cursor/rules/javascript-pro/references/functional-patterns.md +93 -0
- package/templates/.cursor/rules/javascript-pro/references/modern-syntax.md +100 -0
- package/templates/.cursor/rules/javascript-pro/references/performance.md +98 -0
- package/templates/.cursor/rules/planner.mdc +87 -0
- package/templates/.cursor/rules/problem-solving/problem-solving.mdc +96 -0
- package/templates/.cursor/rules/problem-solving/references/attribution.md +69 -0
- package/templates/.cursor/rules/problem-solving/references/collision-zone-thinking.md +79 -0
- package/templates/.cursor/rules/problem-solving/references/inversion-exercise.md +91 -0
- package/templates/.cursor/rules/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/templates/.cursor/rules/problem-solving/references/scale-game.md +95 -0
- package/templates/.cursor/rules/problem-solving/references/simplification-cascades.md +80 -0
- package/templates/.cursor/rules/problem-solving/references/when-stuck.md +72 -0
- package/templates/.cursor/rules/project-manager.mdc +116 -0
- package/templates/.cursor/rules/project-profile.mdc +54 -0
- package/templates/.cursor/rules/python-pro/python-pro.mdc +83 -0
- package/templates/.cursor/rules/python-pro/references/async-patterns.md +96 -0
- package/templates/.cursor/rules/python-pro/references/error-handling.md +84 -0
- package/templates/.cursor/rules/python-pro/references/performance.md +71 -0
- package/templates/.cursor/rules/python-pro/references/project-setup.md +78 -0
- package/templates/.cursor/rules/python-pro/references/security.md +73 -0
- package/templates/.cursor/rules/python-pro/references/testing.md +90 -0
- package/templates/.cursor/rules/python-pro/references/type-system.md +88 -0
- package/templates/.cursor/rules/qa-api-testing.mdc +25 -0
- package/templates/.cursor/rules/qa-automation.mdc +28 -0
- package/templates/.cursor/rules/qa-testing.mdc +28 -0
- package/templates/.cursor/rules/repomix/references/configuration.md +211 -0
- package/templates/.cursor/rules/repomix/references/usage-patterns.md +232 -0
- package/templates/.cursor/rules/repomix/repomix.mdc +248 -0
- package/templates/.cursor/rules/repomix/scripts/README.md +179 -0
- package/templates/.cursor/rules/repomix/scripts/repomix_batch.py +455 -0
- package/templates/.cursor/rules/repomix/scripts/repos.example.json +15 -0
- package/templates/.cursor/rules/repomix/scripts/requirements.txt +15 -0
- package/templates/.cursor/rules/repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/templates/.cursor/rules/research/research.mdc +111 -0
- package/templates/.cursor/rules/researcher.mdc +54 -0
- package/templates/.cursor/rules/scout.mdc +105 -0
- package/templates/.cursor/rules/security-agent.mdc +122 -0
- package/templates/.cursor/rules/security.mdc +90 -0
- package/templates/.cursor/rules/sequential-thinking/references/advanced-strategies.md +80 -0
- package/templates/.cursor/rules/sequential-thinking/references/advanced-techniques.md +77 -0
- package/templates/.cursor/rules/sequential-thinking/references/core-patterns.md +96 -0
- package/templates/.cursor/rules/sequential-thinking/references/examples-api.md +89 -0
- package/templates/.cursor/rules/sequential-thinking/references/examples-architecture.md +95 -0
- package/templates/.cursor/rules/sequential-thinking/references/examples-debug.md +91 -0
- package/templates/.cursor/rules/sequential-thinking/scripts/format-thought.js +159 -0
- package/templates/.cursor/rules/sequential-thinking/scripts/process-thought.js +236 -0
- package/templates/.cursor/rules/sequential-thinking/sequential-thinking.mdc +86 -0
- package/templates/.cursor/rules/tattletale-reporter.mdc +64 -0
- package/templates/.cursor/rules/tester.mdc +221 -0
- package/templates/.cursor/rules/testing.mdc +215 -0
- package/templates/.cursor/rules/typescript-pro/references/advanced-patterns.md +100 -0
- package/templates/.cursor/rules/typescript-pro/references/best-practices.md +96 -0
- package/templates/.cursor/rules/typescript-pro/references/conditional-types.md +85 -0
- package/templates/.cursor/rules/typescript-pro/references/generics.md +97 -0
- package/templates/.cursor/rules/typescript-pro/references/mapped-types.md +99 -0
- package/templates/.cursor/rules/typescript-pro/references/template-literals.md +85 -0
- package/templates/.cursor/rules/typescript-pro/references/type-inference.md +94 -0
- package/templates/.cursor/rules/typescript-pro/references/utility-types.md +96 -0
- package/templates/.cursor/rules/typescript-pro/typescript-pro.mdc +101 -0
- package/templates/.cursor/rules/typescript-pro.mdc +129 -0
- package/templates/.cursor/rules/ui-ux-designer.mdc +117 -0
- package/templates/.cursor/scripts/helper.py +723 -0
- package/templates/.cursor/settings.json +5 -0
- package/templates/.kiro/steering/qa-standards.md +84 -0
- package/templates/.kiro/steering/test-patterns.md +62 -0
- package/templates/.kiro/steering/tool-integration.md +73 -0
|
@@ -0,0 +1,553 @@
|
|
|
1
|
+
# Development Rules
|
|
2
|
+
|
|
3
|
+
> **Senior Developer Engineering Best Practices**
|
|
4
|
+
> This document defines coding standards and best practices that apply across all programming languages and platforms.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Core Principles
|
|
9
|
+
|
|
10
|
+
### YAGNI - You Aren't Gonna Need It
|
|
11
|
+
- Only implement features when they are actually needed, not when you foresee they might be useful
|
|
12
|
+
- Avoid overengineering and premature optimization
|
|
13
|
+
- Focus on current iteration requirements in Agile workflows
|
|
14
|
+
- Delete unused code rather than commenting it out "for later"
|
|
15
|
+
|
|
16
|
+
### KISS - Keep It Simple, Stupid
|
|
17
|
+
- Prefer the simplest solution that solves the problem
|
|
18
|
+
- Complex solutions are harder to debug, test, and extend
|
|
19
|
+
- If code requires extensive comments to explain, consider refactoring
|
|
20
|
+
- Break complex logic into smaller, focused functions
|
|
21
|
+
|
|
22
|
+
### DRY - Don't Repeat Yourself
|
|
23
|
+
- Every piece of knowledge should have a single, authoritative representation
|
|
24
|
+
- Extract repeated logic into reusable functions, classes, or modules
|
|
25
|
+
- Create centralized services for common operations (authentication, validation, formatting)
|
|
26
|
+
- Balance DRY with readability - KISS takes precedence over DRY when they conflict
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## SOLID Principles (Object-Oriented Design)
|
|
31
|
+
|
|
32
|
+
### Single Responsibility Principle (SRP)
|
|
33
|
+
- A class/module should have only one reason to change
|
|
34
|
+
- Keep each component focused on one job
|
|
35
|
+
- Split large classes with multiple responsibilities
|
|
36
|
+
|
|
37
|
+
### Open/Closed Principle (OCP)
|
|
38
|
+
- Software should be open for extension but closed for modification
|
|
39
|
+
- Add new behavior without changing existing code
|
|
40
|
+
- Use interfaces, abstract classes, and composition
|
|
41
|
+
|
|
42
|
+
### Liskov Substitution Principle (LSP)
|
|
43
|
+
- Subclasses should be substitutable for their parent classes
|
|
44
|
+
- Derived classes must honor the contracts of their base classes
|
|
45
|
+
- Avoid inheritance that breaks expected behavior
|
|
46
|
+
|
|
47
|
+
### Interface Segregation Principle (ISP)
|
|
48
|
+
- Clients should not depend on interfaces they don't use
|
|
49
|
+
- Split large interfaces into smaller, specific ones
|
|
50
|
+
- Prefer many small interfaces over one large interface
|
|
51
|
+
|
|
52
|
+
### Dependency Inversion Principle (DIP)
|
|
53
|
+
- Depend on abstractions, not concrete implementations
|
|
54
|
+
- High-level modules should not depend on low-level modules
|
|
55
|
+
- Use dependency injection to promote loose coupling
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Naming Conventions
|
|
60
|
+
|
|
61
|
+
### General Rules
|
|
62
|
+
- Use meaningful, descriptive names that convey purpose
|
|
63
|
+
- Avoid abbreviations and single-letter variables (except loop counters in small scopes)
|
|
64
|
+
- Names should be pronounceable for easier code reviews
|
|
65
|
+
- Be consistent throughout the codebase
|
|
66
|
+
|
|
67
|
+
### Variable Naming
|
|
68
|
+
```
|
|
69
|
+
BAD: x, tmp, data, val, usr, btn, idx, arr, cb, e, d, t, n
|
|
70
|
+
GOOD: totalScore, temporaryFile, userData, calculatedValue, currentUser,
|
|
71
|
+
submitButton, targetIndex, activeUsers, onCompleteCallback,
|
|
72
|
+
authenticationError, currentDate, startTimestamp, itemCount
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Function/Method Naming
|
|
76
|
+
- Use verbs for actions: `calculateTotal()`, `fetchUserData()`, `validateInput()`
|
|
77
|
+
- Use `is/has/can/should` prefixes for booleans: `isActive()`, `hasPermission()`, `canEdit()`
|
|
78
|
+
- Avoid functions with "and" in the name - split into multiple functions
|
|
79
|
+
- Be consistent: don't mix `fetch`, `get`, and `retrieve` for similar operations
|
|
80
|
+
|
|
81
|
+
### Class Naming
|
|
82
|
+
- Use nouns and noun phrases: `Customer`, `OrderProcessor`, `PaymentGateway`
|
|
83
|
+
- Use PascalCase/UpperCamelCase for class names
|
|
84
|
+
- Avoid generic names like `Manager`, `Handler`, `Data` without context
|
|
85
|
+
|
|
86
|
+
### Constants
|
|
87
|
+
- Use SCREAMING_SNAKE_CASE: `MAX_RETRY_COUNT`, `DEFAULT_TIMEOUT_MS`
|
|
88
|
+
- Group related constants in objects/enums
|
|
89
|
+
- Never use magic numbers or strings in code
|
|
90
|
+
|
|
91
|
+
### Language-Specific Conventions
|
|
92
|
+
| Element | Python/Ruby | JavaScript/TypeScript | Java/C# | Go |
|
|
93
|
+
|---------|-------------|----------------------|---------|-----|
|
|
94
|
+
| Variables | snake_case | camelCase | camelCase | camelCase |
|
|
95
|
+
| Functions | snake_case | camelCase | camelCase | PascalCase (exported) |
|
|
96
|
+
| Classes | PascalCase | PascalCase | PascalCase | PascalCase |
|
|
97
|
+
| Constants | UPPER_SNAKE | UPPER_SNAKE | UPPER_SNAKE | PascalCase |
|
|
98
|
+
| Files | snake_case | kebab-case or camelCase | PascalCase | snake_case |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Constants & Magic Values
|
|
103
|
+
|
|
104
|
+
### Rules
|
|
105
|
+
- Extract ALL hardcoded values into named constants
|
|
106
|
+
- Create dedicated constants files: `constants.ts`, `constants.py`, `Constants.java`
|
|
107
|
+
- Group related constants logically
|
|
108
|
+
- Document the purpose of non-obvious constants
|
|
109
|
+
|
|
110
|
+
### Examples
|
|
111
|
+
```typescript
|
|
112
|
+
// BAD - Magic numbers and strings
|
|
113
|
+
if (user.age >= 18) { /* ... */ }
|
|
114
|
+
if (status === 'active') { /* ... */ }
|
|
115
|
+
setTimeout(callback, 3600000);
|
|
116
|
+
if (items.length > 100) { /* ... */ }
|
|
117
|
+
|
|
118
|
+
// GOOD - Named constants
|
|
119
|
+
export const MINIMUM_ADULT_AGE = 18;
|
|
120
|
+
export const USER_STATUS = {
|
|
121
|
+
ACTIVE: 'active',
|
|
122
|
+
INACTIVE: 'inactive',
|
|
123
|
+
PENDING: 'pending',
|
|
124
|
+
} as const;
|
|
125
|
+
export const ONE_HOUR_MS = 60 * 60 * 1000;
|
|
126
|
+
export const MAX_ITEMS_PER_PAGE = 100;
|
|
127
|
+
|
|
128
|
+
if (user.age >= MINIMUM_ADULT_AGE) { /* ... */ }
|
|
129
|
+
if (status === USER_STATUS.ACTIVE) { /* ... */ }
|
|
130
|
+
setTimeout(callback, ONE_HOUR_MS);
|
|
131
|
+
if (items.length > MAX_ITEMS_PER_PAGE) { /* ... */ }
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Utility Functions & Reusability
|
|
137
|
+
|
|
138
|
+
### When to Create Utils
|
|
139
|
+
- Logic is used in 2+ places
|
|
140
|
+
- Function is generic and not business-specific
|
|
141
|
+
- Operation can be tested in isolation
|
|
142
|
+
- Improves readability of calling code
|
|
143
|
+
|
|
144
|
+
### Organization
|
|
145
|
+
```
|
|
146
|
+
utils/
|
|
147
|
+
string-utils.ts # formatFullName, truncate, slugify
|
|
148
|
+
date-utils.ts # formatDate, parseISO, getRelativeTime
|
|
149
|
+
validation-utils.ts # isEmail, isPhoneNumber, isURL
|
|
150
|
+
array-utils.ts # chunk, unique, groupBy
|
|
151
|
+
number-utils.ts # formatCurrency, roundToDecimal
|
|
152
|
+
file-utils.ts # getExtension, sanitizeFilename
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Examples
|
|
156
|
+
```typescript
|
|
157
|
+
// BAD - Duplicated logic
|
|
158
|
+
// file1.ts
|
|
159
|
+
const fullName = `${user.firstName} ${user.lastName}`.trim();
|
|
160
|
+
// file2.ts
|
|
161
|
+
const displayName = `${person.firstName} ${person.lastName}`.trim();
|
|
162
|
+
|
|
163
|
+
// GOOD - Utility function
|
|
164
|
+
// utils/string-utils.ts
|
|
165
|
+
export function formatFullName(firstName: string, lastName: string): string {
|
|
166
|
+
return `${firstName} ${lastName}`.trim();
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Function Design
|
|
173
|
+
|
|
174
|
+
### Size & Complexity
|
|
175
|
+
- Functions should do ONE thing well (Single Responsibility)
|
|
176
|
+
- Keep functions under 20-30 lines when possible
|
|
177
|
+
- Maximum 3 parameters; use objects for more
|
|
178
|
+
- Avoid deep nesting (max 2-3 levels)
|
|
179
|
+
- Extract nested logic into well-named helper functions
|
|
180
|
+
|
|
181
|
+
### Parameters
|
|
182
|
+
```typescript
|
|
183
|
+
// BAD - Too many parameters
|
|
184
|
+
function createUser(name, email, age, role, department, manager, startDate) {}
|
|
185
|
+
|
|
186
|
+
// GOOD - Use an options object
|
|
187
|
+
interface CreateUserOptions {
|
|
188
|
+
name: string;
|
|
189
|
+
email: string;
|
|
190
|
+
age: number;
|
|
191
|
+
role?: string;
|
|
192
|
+
department?: string;
|
|
193
|
+
manager?: string;
|
|
194
|
+
startDate?: Date;
|
|
195
|
+
}
|
|
196
|
+
function createUser(options: CreateUserOptions) {}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Return Early
|
|
200
|
+
```typescript
|
|
201
|
+
// BAD - Deep nesting
|
|
202
|
+
function processOrder(order) {
|
|
203
|
+
if (order) {
|
|
204
|
+
if (order.items.length > 0) {
|
|
205
|
+
if (order.paymentValid) {
|
|
206
|
+
// process...
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// GOOD - Guard clauses
|
|
213
|
+
function processOrder(order) {
|
|
214
|
+
if (!order) return;
|
|
215
|
+
if (order.items.length === 0) return;
|
|
216
|
+
if (!order.paymentValid) return;
|
|
217
|
+
// process...
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Error Handling
|
|
224
|
+
|
|
225
|
+
### Principles
|
|
226
|
+
- Always "fail safe" - never "fail open"
|
|
227
|
+
- Use try-catch for operations that can fail
|
|
228
|
+
- Implement global exception handlers for unexpected errors
|
|
229
|
+
- Separate business exceptions from technical exceptions
|
|
230
|
+
|
|
231
|
+
### Best Practices
|
|
232
|
+
```typescript
|
|
233
|
+
// BAD - Silent failure
|
|
234
|
+
try {
|
|
235
|
+
await saveUser(user);
|
|
236
|
+
} catch (e) {
|
|
237
|
+
// nothing
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// BAD - Exposing internal details
|
|
241
|
+
catch (error) {
|
|
242
|
+
res.status(500).json({ error: error.stack });
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
// GOOD - Proper error handling
|
|
246
|
+
try {
|
|
247
|
+
await saveUser(user);
|
|
248
|
+
} catch (error) {
|
|
249
|
+
logger.error('Failed to save user', { userId: user.id, error });
|
|
250
|
+
throw new ApplicationError('Unable to save user. Please try again.');
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Security Considerations
|
|
255
|
+
- Never expose stack traces or system info to users
|
|
256
|
+
- Don't reveal whether username or password is incorrect (prevents enumeration)
|
|
257
|
+
- Log errors on trusted systems
|
|
258
|
+
- Sanitize error messages before displaying
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Logging
|
|
263
|
+
|
|
264
|
+
### Log Levels
|
|
265
|
+
| Level | Use Case |
|
|
266
|
+
|-------|----------|
|
|
267
|
+
| DEBUG | Detailed debugging information (dev only) |
|
|
268
|
+
| INFO | Significant business events (user login, order placed) |
|
|
269
|
+
| WARN | Abnormal situations that may indicate problems |
|
|
270
|
+
| ERROR | Unrecoverable errors affecting specific operations |
|
|
271
|
+
| FATAL | Critical errors affecting entire application |
|
|
272
|
+
|
|
273
|
+
### Best Practices
|
|
274
|
+
- Use structured logging (JSON format) for parseability
|
|
275
|
+
- Include context: user IDs, request IDs, timestamps
|
|
276
|
+
- Log the "what" and "why", not just "error occurred"
|
|
277
|
+
- Never log sensitive data: passwords, tokens, PII, credit cards
|
|
278
|
+
- Set up alerts for ERROR/FATAL levels
|
|
279
|
+
|
|
280
|
+
```typescript
|
|
281
|
+
// BAD
|
|
282
|
+
console.log('Error');
|
|
283
|
+
console.log(error);
|
|
284
|
+
|
|
285
|
+
// GOOD
|
|
286
|
+
logger.error('Payment processing failed', {
|
|
287
|
+
orderId: order.id,
|
|
288
|
+
userId: user.id,
|
|
289
|
+
paymentMethod: order.paymentMethod,
|
|
290
|
+
errorCode: error.code,
|
|
291
|
+
timestamp: new Date().toISOString()
|
|
292
|
+
});
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Testing
|
|
298
|
+
|
|
299
|
+
### Test Pyramid
|
|
300
|
+
1. **Unit Tests** (70%) - Fast, isolated, test single units
|
|
301
|
+
2. **Integration Tests** (20%) - Test component interactions
|
|
302
|
+
3. **E2E Tests** (10%) - Test complete user flows
|
|
303
|
+
|
|
304
|
+
### Best Practices
|
|
305
|
+
- Follow AAA pattern: Arrange, Act, Assert
|
|
306
|
+
- One assertion concept per test
|
|
307
|
+
- Tests should be independent and isolated
|
|
308
|
+
- Use mocking for external dependencies
|
|
309
|
+
- Aim for 70-80% code coverage
|
|
310
|
+
- Write tests before code (TDD) when possible
|
|
311
|
+
|
|
312
|
+
### Naming Test Cases
|
|
313
|
+
```typescript
|
|
314
|
+
// Pattern: should_ExpectedBehavior_When_Condition
|
|
315
|
+
describe('UserService', () => {
|
|
316
|
+
it('should return user when valid ID provided', () => {});
|
|
317
|
+
it('should throw NotFoundError when user does not exist', () => {});
|
|
318
|
+
it('should hash password before saving', () => {});
|
|
319
|
+
});
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### What NOT to Do
|
|
323
|
+
- Don't use fake data/mocks just to pass tests
|
|
324
|
+
- Don't skip tests to pass CI/CD
|
|
325
|
+
- Don't test implementation details, test behavior
|
|
326
|
+
- Don't ignore flaky tests - fix them
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## Code Documentation
|
|
331
|
+
|
|
332
|
+
### Self-Documenting Code First
|
|
333
|
+
- Use clear, descriptive names
|
|
334
|
+
- Break complex logic into well-named functions
|
|
335
|
+
- Keep functions small and focused
|
|
336
|
+
- If code needs comments to explain, consider refactoring
|
|
337
|
+
|
|
338
|
+
### When to Comment
|
|
339
|
+
- Explain **why**, not what (the code shows what)
|
|
340
|
+
- Document complex algorithms and business logic
|
|
341
|
+
- Explain workarounds with issue references
|
|
342
|
+
- Document public APIs and interfaces
|
|
343
|
+
- Note performance considerations
|
|
344
|
+
|
|
345
|
+
```typescript
|
|
346
|
+
// BAD - Obvious comment
|
|
347
|
+
// Increment counter by 1
|
|
348
|
+
counter++;
|
|
349
|
+
|
|
350
|
+
// BAD - Outdated comment
|
|
351
|
+
// Check if user is admin (WRONG - now checks manager too)
|
|
352
|
+
if (user.role === 'admin' || user.role === 'manager') {}
|
|
353
|
+
|
|
354
|
+
// GOOD - Explains why
|
|
355
|
+
// Using binary search because dataset exceeds 10k items
|
|
356
|
+
// and linear search caused 2s+ response times (see #1234)
|
|
357
|
+
const result = binarySearch(sortedItems, target);
|
|
358
|
+
|
|
359
|
+
// GOOD - Documents public API
|
|
360
|
+
/**
|
|
361
|
+
* Calculates shipping cost based on weight and destination.
|
|
362
|
+
* @param weightKg - Package weight in kilograms
|
|
363
|
+
* @param destinationCode - ISO country code
|
|
364
|
+
* @returns Shipping cost in USD
|
|
365
|
+
* @throws InvalidDestinationError if country not supported
|
|
366
|
+
*/
|
|
367
|
+
function calculateShipping(weightKg: number, destinationCode: string): number {}
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## Code Organization & Architecture
|
|
373
|
+
|
|
374
|
+
### File Structure Principles
|
|
375
|
+
- Group by feature, not by type (prefer feature-based over layer-based)
|
|
376
|
+
- Keep folder structure flat (avoid deep nesting)
|
|
377
|
+
- Separate concerns: UI, business logic, data access
|
|
378
|
+
- Use consistent naming across the project
|
|
379
|
+
|
|
380
|
+
### Recommended Structure
|
|
381
|
+
```
|
|
382
|
+
src/
|
|
383
|
+
features/
|
|
384
|
+
auth/
|
|
385
|
+
components/
|
|
386
|
+
hooks/
|
|
387
|
+
services/
|
|
388
|
+
types/
|
|
389
|
+
index.ts
|
|
390
|
+
users/
|
|
391
|
+
orders/
|
|
392
|
+
shared/
|
|
393
|
+
components/
|
|
394
|
+
hooks/
|
|
395
|
+
utils/
|
|
396
|
+
constants/
|
|
397
|
+
types/
|
|
398
|
+
core/
|
|
399
|
+
api/
|
|
400
|
+
config/
|
|
401
|
+
errors/
|
|
402
|
+
tests/
|
|
403
|
+
docs/
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
### File Size Guidelines
|
|
407
|
+
- Keep files under 200-300 lines
|
|
408
|
+
- Split large files into focused modules
|
|
409
|
+
- One component/class per file
|
|
410
|
+
- Extract constants, types, and utilities
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Performance Best Practices
|
|
415
|
+
|
|
416
|
+
### General
|
|
417
|
+
- Measure before optimizing (avoid premature optimization)
|
|
418
|
+
- Cache expensive computations
|
|
419
|
+
- Use lazy loading for heavy resources
|
|
420
|
+
- Minimize network requests
|
|
421
|
+
- Use appropriate data structures
|
|
422
|
+
|
|
423
|
+
### Database
|
|
424
|
+
- Index frequently queried columns
|
|
425
|
+
- Select only needed columns (avoid SELECT *)
|
|
426
|
+
- Use WHERE clauses to filter early
|
|
427
|
+
- Optimize JOIN conditions
|
|
428
|
+
- Use EXPLAIN to analyze query plans
|
|
429
|
+
- Consider pagination for large datasets
|
|
430
|
+
- Use connection pooling
|
|
431
|
+
|
|
432
|
+
### Frontend
|
|
433
|
+
- Minimize bundle size
|
|
434
|
+
- Lazy load routes and components
|
|
435
|
+
- Optimize images and assets
|
|
436
|
+
- Use virtualization for long lists
|
|
437
|
+
- Debounce/throttle expensive operations
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## Security Best Practices
|
|
442
|
+
|
|
443
|
+
### OWASP Top 10 Awareness
|
|
444
|
+
- Validate and sanitize ALL user input
|
|
445
|
+
- Use parameterized queries (prevent SQL injection)
|
|
446
|
+
- Encode output (prevent XSS)
|
|
447
|
+
- Implement proper authentication and session management
|
|
448
|
+
- Use HTTPS everywhere
|
|
449
|
+
- Apply principle of least privilege
|
|
450
|
+
|
|
451
|
+
### Secure Coding
|
|
452
|
+
```typescript
|
|
453
|
+
// BAD - SQL Injection vulnerable
|
|
454
|
+
const query = `SELECT * FROM users WHERE id = ${userId}`;
|
|
455
|
+
|
|
456
|
+
// GOOD - Parameterized query
|
|
457
|
+
const query = 'SELECT * FROM users WHERE id = $1';
|
|
458
|
+
await db.query(query, [userId]);
|
|
459
|
+
|
|
460
|
+
// BAD - XSS vulnerable
|
|
461
|
+
element.innerHTML = userInput;
|
|
462
|
+
|
|
463
|
+
// GOOD - Safe output
|
|
464
|
+
element.textContent = userInput;
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
### Secrets Management
|
|
468
|
+
- Never commit secrets to version control
|
|
469
|
+
- Use environment variables or secret managers
|
|
470
|
+
- Rotate credentials regularly
|
|
471
|
+
- Use different credentials per environment
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
## Version Control & Git
|
|
476
|
+
|
|
477
|
+
### Commit Messages
|
|
478
|
+
- Use conventional commits: `feat:`, `fix:`, `docs:`, `refactor:`, `test:`, `chore:`
|
|
479
|
+
- Write in imperative mood: "Add feature" not "Added feature"
|
|
480
|
+
- Keep subject line under 50 characters
|
|
481
|
+
- Reference issue numbers when applicable
|
|
482
|
+
|
|
483
|
+
```
|
|
484
|
+
feat(auth): add OAuth2 login support
|
|
485
|
+
|
|
486
|
+
- Implement Google OAuth2 provider
|
|
487
|
+
- Add session management for OAuth users
|
|
488
|
+
- Update user model with OAuth fields
|
|
489
|
+
|
|
490
|
+
Closes #123
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
### Branch Strategy
|
|
494
|
+
- Use feature branches
|
|
495
|
+
- Keep branches short-lived
|
|
496
|
+
- Rebase or merge regularly from main
|
|
497
|
+
- Delete branches after merging
|
|
498
|
+
|
|
499
|
+
### Pre-commit/Push Rules
|
|
500
|
+
- Run linting before commit
|
|
501
|
+
- Run tests before push
|
|
502
|
+
- Never commit sensitive data
|
|
503
|
+
- Keep commits focused and atomic
|
|
504
|
+
|
|
505
|
+
---
|
|
506
|
+
|
|
507
|
+
## Code Review Standards
|
|
508
|
+
|
|
509
|
+
### As a Reviewer
|
|
510
|
+
- Review for correctness, security, and maintainability
|
|
511
|
+
- Be constructive and specific
|
|
512
|
+
- Ask questions rather than make demands
|
|
513
|
+
- Approve when good enough, not perfect
|
|
514
|
+
|
|
515
|
+
### As an Author
|
|
516
|
+
- Keep PRs small and focused
|
|
517
|
+
- Write clear PR descriptions
|
|
518
|
+
- Self-review before requesting review
|
|
519
|
+
- Respond to feedback professionally
|
|
520
|
+
- Don't take criticism personally
|
|
521
|
+
|
|
522
|
+
---
|
|
523
|
+
|
|
524
|
+
## Quick Reference Checklist
|
|
525
|
+
|
|
526
|
+
Before committing code, verify:
|
|
527
|
+
|
|
528
|
+
- [ ] No magic numbers or strings - all values in constants
|
|
529
|
+
- [ ] Descriptive variable and function names
|
|
530
|
+
- [ ] Functions follow single responsibility principle
|
|
531
|
+
- [ ] Proper error handling with meaningful messages
|
|
532
|
+
- [ ] Sensitive data not logged or exposed
|
|
533
|
+
- [ ] Tests written and passing
|
|
534
|
+
- [ ] No code duplication - utils extracted
|
|
535
|
+
- [ ] Code is readable without excessive comments
|
|
536
|
+
- [ ] Security considerations addressed
|
|
537
|
+
- [ ] Performance implications considered
|
|
538
|
+
|
|
539
|
+
---
|
|
540
|
+
|
|
541
|
+
## Sources & Further Reading
|
|
542
|
+
|
|
543
|
+
- [Clean Code Principles - Caltech](https://pg-p.ctme.caltech.edu/blog/coding/clean-code-principles)
|
|
544
|
+
- [Software Engineering Best Practices 2025](https://zencoder.ai/blog/software-engineering-best-practices)
|
|
545
|
+
- [SOLID, DRY, KISS Principles](https://scalastic.io/en/solid-dry-kiss/)
|
|
546
|
+
- [Naming Conventions Guide](https://www.theserverside.com/feature/A-guide-to-common-variable-naming-conventions)
|
|
547
|
+
- [Error Handling & Logging Checklist](https://www.iansresearch.com/resources/all-blogs/post/security-blog/2023/08/17/error-handling-and-logging-checklist)
|
|
548
|
+
- [Logging Best Practices](https://betterstack.com/community/guides/logging/logging-best-practices/)
|
|
549
|
+
- [OWASP Logging Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html)
|
|
550
|
+
- [Unit Testing Best Practices - IBM](https://www.ibm.com/think/insights/unit-testing-best-practices)
|
|
551
|
+
- [Code Documentation Best Practices](https://blog.codacy.com/code-documentation)
|
|
552
|
+
- [SQL Query Optimization - DataCamp](https://www.datacamp.com/blog/sql-query-optimization)
|
|
553
|
+
- [Clean Code by Robert C. Martin](https://www.freecodecamp.org/news/how-to-write-clean-code/)
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Feature Specification Template
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| **Feature ID** | [MODULE]-[NUMBER] |
|
|
8
|
+
| **Feature Name** | [Feature name] |
|
|
9
|
+
| **Module** | [Module name] |
|
|
10
|
+
| **Priority** | P0 / P1 / P2 / P3 |
|
|
11
|
+
| **Status** | Draft / Ready for QA / In Testing / Done |
|
|
12
|
+
| **Jira Epic** | [PROJ-XXX](https://jira.company.com/browse/PROJ-XXX) |
|
|
13
|
+
| **Confluence** | [Link](https://confluence.company.com/...) |
|
|
14
|
+
| **Created** | YYYY-MM-DD |
|
|
15
|
+
| **Last Updated** | YYYY-MM-DD |
|
|
16
|
+
| **Author** | [Name] |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Description
|
|
21
|
+
|
|
22
|
+
[Mô tả tổng quan feature - mục đích, scope, và context]
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## User Stories
|
|
27
|
+
|
|
28
|
+
### US-001: [Story Title]
|
|
29
|
+
|
|
30
|
+
| Field | Value |
|
|
31
|
+
|-------|-------|
|
|
32
|
+
| **Jira** | [PROJ-101](https://jira.company.com/browse/PROJ-101) |
|
|
33
|
+
| **Priority** | P0 / P1 / P2 / P3 |
|
|
34
|
+
| **Sprint** | Sprint XX |
|
|
35
|
+
| **Assignee** | [Dev name] |
|
|
36
|
+
|
|
37
|
+
**As a** [role/persona]
|
|
38
|
+
**I want** [feature/capability]
|
|
39
|
+
**So that** [benefit/value]
|
|
40
|
+
|
|
41
|
+
#### Acceptance Criteria
|
|
42
|
+
|
|
43
|
+
| ID | Criteria | Type | Testable |
|
|
44
|
+
|----|----------|------|----------|
|
|
45
|
+
| AC-001 | WHEN [trigger] THEN [expected result] | Functional | ✅ |
|
|
46
|
+
| AC-002 | WHEN [trigger] THEN [expected result] | Functional | ✅ |
|
|
47
|
+
| AC-003 | WHEN [error condition] THEN [error handling] | Error | ✅ |
|
|
48
|
+
|
|
49
|
+
#### UI/UX Notes
|
|
50
|
+
|
|
51
|
+
- [UI behavior notes]
|
|
52
|
+
- [Design link if available]
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
### US-002: [Story Title]
|
|
57
|
+
|
|
58
|
+
| Field | Value |
|
|
59
|
+
|-------|-------|
|
|
60
|
+
| **Jira** | [PROJ-102](https://jira.company.com/browse/PROJ-102) |
|
|
61
|
+
| **Priority** | P1 |
|
|
62
|
+
| **Sprint** | Sprint XX |
|
|
63
|
+
|
|
64
|
+
**As a** [role]
|
|
65
|
+
**I want** [feature]
|
|
66
|
+
**So that** [benefit]
|
|
67
|
+
|
|
68
|
+
#### Acceptance Criteria
|
|
69
|
+
|
|
70
|
+
| ID | Criteria | Type | Testable |
|
|
71
|
+
|----|----------|------|----------|
|
|
72
|
+
| AC-004 | WHEN [trigger] THEN [expected result] | Functional | ✅ |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Business Rules
|
|
77
|
+
|
|
78
|
+
| Rule ID | Description | Source |
|
|
79
|
+
|---------|-------------|--------|
|
|
80
|
+
| BR-001 | [Business rule description] | [Jira/Confluence link] |
|
|
81
|
+
| BR-002 | [Business rule description] | [Jira/Confluence link] |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Technical Details
|
|
86
|
+
|
|
87
|
+
### API Endpoints
|
|
88
|
+
|
|
89
|
+
| Method | Endpoint | Description | Auth |
|
|
90
|
+
|--------|----------|-------------|------|
|
|
91
|
+
| POST | `/api/xxx` | [Description] | Required |
|
|
92
|
+
| GET | `/api/xxx/:id` | [Description] | Required |
|
|
93
|
+
|
|
94
|
+
### Database Changes
|
|
95
|
+
|
|
96
|
+
| Table | Change | Description |
|
|
97
|
+
|-------|--------|-------------|
|
|
98
|
+
| [table_name] | Add column | [Description] |
|
|
99
|
+
|
|
100
|
+
### UI Pages/Components
|
|
101
|
+
|
|
102
|
+
| Page/Component | URL/Location | Description |
|
|
103
|
+
|----------------|--------------|-------------|
|
|
104
|
+
| [Page name] | `/path` | [Description] |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Test Scope
|
|
109
|
+
|
|
110
|
+
| Test Type | In Scope | Priority | Notes |
|
|
111
|
+
|-----------|----------|----------|-------|
|
|
112
|
+
| Functional | ✅ / ❌ | P0 | [Notes] |
|
|
113
|
+
| API | ✅ / ❌ | P0 | [Notes] |
|
|
114
|
+
| UI/E2E | ✅ / ❌ | P1 | [Notes] |
|
|
115
|
+
| Integration | ✅ / ❌ | P1 | [Notes] |
|
|
116
|
+
| Performance | ✅ / ❌ | P2 | [Notes] |
|
|
117
|
+
| Security | ✅ / ❌ | P1 | [Notes] |
|
|
118
|
+
| Accessibility | ✅ / ❌ | P2 | [Notes] |
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Dependencies
|
|
123
|
+
|
|
124
|
+
### Prerequisites
|
|
125
|
+
|
|
126
|
+
- [ ] [Dependency 1 - e.g., API deployed]
|
|
127
|
+
- [ ] [Dependency 2 - e.g., Test data ready]
|
|
128
|
+
- [ ] [Dependency 3 - e.g., Environment configured]
|
|
129
|
+
|
|
130
|
+
### Related Features
|
|
131
|
+
|
|
132
|
+
| Feature | Relationship | Status |
|
|
133
|
+
|---------|--------------|--------|
|
|
134
|
+
| [Feature name] | Depends on / Blocks | Done / In Progress |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Test Cases (Generated)
|
|
139
|
+
|
|
140
|
+
| Test Case ID | Title | Priority | Status |
|
|
141
|
+
|--------------|-------|----------|--------|
|
|
142
|
+
| [MODULE-FEATURE-001] | [Title] | P0 | Not Created |
|
|
143
|
+
| [MODULE-FEATURE-002] | [Title] | P1 | Not Created |
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Risks & Mitigations
|
|
148
|
+
|
|
149
|
+
| Risk | Impact | Probability | Mitigation |
|
|
150
|
+
|------|--------|-------------|------------|
|
|
151
|
+
| [Risk description] | High/Medium/Low | High/Medium/Low | [Mitigation plan] |
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Notes
|
|
156
|
+
|
|
157
|
+
- [Additional context, assumptions, or constraints]
|
|
158
|
+
- [Links to related documents]
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Change History
|
|
163
|
+
|
|
164
|
+
| Date | Author | Changes |
|
|
165
|
+
|------|--------|---------|
|
|
166
|
+
| YYYY-MM-DD | [Name] | Initial version |
|
|
167
|
+
|