@jakkrichm/create-nexus-devflow 2.0.0 → 2.0.1
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 +96 -50
- package/package.json +1 -1
- package/template/.agents/skills/20-spec/SKILL.md +136 -136
- package/template/.agents/skills/30-plan/SKILL.md +206 -206
- package/template/.agents/skills/40-implement/SKILL.md +152 -152
- package/template/.agents/skills/50-verify/SKILL.md +174 -174
- package/template/.agents/skills/60-report/SKILL.md +168 -168
- package/template/.agents/skills/70-release/SKILL.md +141 -141
- package/template/.agents/skills/9arm-skills/README.md +51 -51
- package/template/.agents/skills/9arm-skills/debug-mantra/SKILL.md +86 -86
- package/template/.agents/skills/9arm-skills/management-talk/SKILL.md +79 -79
- package/template/.agents/skills/9arm-skills/post-mortem/SKILL.md +71 -71
- package/template/.agents/skills/9arm-skills/scrutinize/SKILL.md +72 -72
- package/template/.agents/skills/agent/SKILL.md +164 -164
- package/template/.agents/skills/api-and-interface-design/SKILL.md +294 -294
- package/template/.agents/skills/app-builder/SKILL.md +75 -75
- package/template/.agents/skills/app-builder/agent-coordination.md +71 -71
- package/template/.agents/skills/app-builder/feature-building.md +53 -53
- package/template/.agents/skills/app-builder/project-detection.md +34 -34
- package/template/.agents/skills/app-builder/scaffolding.md +118 -118
- package/template/.agents/skills/app-builder/tech-stack.md +40 -40
- package/template/.agents/skills/app-builder/templates/SKILL.md +39 -39
- package/template/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/template/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/template/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/template/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/template/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/template/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/template/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/template/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
- package/template/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
- package/template/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
- package/template/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
- package/template/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/template/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
- package/template/.agents/skills/architecture/SKILL.md +55 -55
- package/template/.agents/skills/architecture/context-discovery.md +43 -43
- package/template/.agents/skills/architecture/examples.md +94 -94
- package/template/.agents/skills/architecture/pattern-selection.md +68 -68
- package/template/.agents/skills/architecture/patterns-reference.md +50 -50
- package/template/.agents/skills/architecture/trade-off-analysis.md +77 -77
- package/template/.agents/skills/bash-linux/SKILL.md +199 -199
- package/template/.agents/skills/behavioral-modes/SKILL.md +242 -242
- package/template/.agents/skills/brainstorm/SKILL.md +157 -157
- package/template/.agents/skills/browser-testing-with-devtools/SKILL.md +302 -302
- package/template/.agents/skills/changelog/SKILL.md +108 -108
- package/template/.agents/skills/check-for-updates/SKILL.md +116 -116
- package/template/.agents/skills/ci-cd-and-automation/SKILL.md +390 -390
- package/template/.agents/skills/code-review-and-quality/SKILL.md +392 -392
- package/template/.agents/skills/code-simplification/SKILL.md +331 -331
- package/template/.agents/skills/commit/SKILL.md +62 -62
- package/template/.agents/skills/competitor-analysis/SKILL.md +66 -66
- package/template/.agents/skills/context-engineering/SKILL.md +290 -290
- package/template/.agents/skills/database-design/SKILL.md +52 -52
- package/template/.agents/skills/database-design/database-selection.md +43 -43
- package/template/.agents/skills/database-design/indexing.md +39 -39
- package/template/.agents/skills/database-design/migrations.md +48 -48
- package/template/.agents/skills/database-design/optimization.md +36 -36
- package/template/.agents/skills/database-design/orm-selection.md +30 -30
- package/template/.agents/skills/database-design/schema-design.md +56 -56
- package/template/.agents/skills/database-design/scripts/schema_validator.py +172 -172
- package/template/.agents/skills/debug/SKILL.md +116 -116
- package/template/.agents/skills/debugging-and-error-recovery/SKILL.md +298 -298
- package/template/.agents/skills/deploy/SKILL.md +90 -90
- package/template/.agents/skills/deployment-procedures/SKILL.md +241 -241
- package/template/.agents/skills/deprecation-and-migration/SKILL.md +206 -206
- package/template/.agents/skills/devflow-concept-intake/SKILL.md +150 -150
- package/template/.agents/skills/devflow-concept-intake/agents/openai.yaml +4 -4
- package/template/.agents/skills/devflow-concept-intake/references/adoption-proposal-template.md +60 -60
- package/template/.agents/skills/devflow-concept-intake/references/concept-report-template.md +47 -47
- package/template/.agents/skills/devflow-concept-intake/references/upstream-tracking-template.md +51 -51
- package/template/.agents/skills/devflow-wiki/SKILL.md +75 -75
- package/template/.agents/skills/documentation-and-adrs/SKILL.md +278 -278
- package/template/.agents/skills/english-to-thai-translator/SKILL.md +125 -125
- package/template/.agents/skills/followup/SKILL.md +78 -78
- package/template/.agents/skills/frontend-ui-engineering/SKILL.md +326 -326
- package/template/.agents/skills/frontend-ui-engineering/accessibility-checklist.md +159 -159
- package/template/.agents/skills/git-workflow-and-versioning/SKILL.md +300 -300
- package/template/.agents/skills/goal/SKILL.md +132 -132
- package/template/.agents/skills/help/SKILL.md +242 -242
- package/template/.agents/skills/human-review-decisions/SKILL.md +74 -74
- package/template/.agents/skills/i18n-localization/SKILL.md +154 -154
- package/template/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -241
- package/template/.agents/skills/idea-refine/SKILL.md +178 -178
- package/template/.agents/skills/idea-refine/examples.md +238 -238
- package/template/.agents/skills/idea-refine/frameworks.md +99 -99
- package/template/.agents/skills/idea-refine/refinement-criteria.md +113 -113
- package/template/.agents/skills/idea-refine/scripts/idea-refine.sh +15 -15
- package/template/.agents/skills/incremental-implementation/SKILL.md +248 -248
- package/template/.agents/skills/insight/SKILL.md +130 -130
- package/template/.agents/skills/insight-capture/SKILL.md +84 -84
- package/template/.agents/skills/intelligent-routing/SKILL.md +171 -171
- package/template/.agents/skills/issue-triage/SKILL.md +106 -106
- package/template/.agents/skills/lint-and-validate/SKILL.md +45 -45
- package/template/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -184
- package/template/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -173
- package/template/.agents/skills/mcp-builder/SKILL.md +176 -176
- package/template/.agents/skills/md2html/SKILL.md +154 -154
- package/template/.agents/skills/md2html/components.md +505 -505
- package/template/.agents/skills/md2html/template.html +1152 -1152
- package/template/.agents/skills/merge/SKILL.md +75 -75
- package/template/.agents/skills/mobile-design/SKILL.md +394 -394
- package/template/.agents/skills/mobile-design/decision-trees.md +516 -516
- package/template/.agents/skills/mobile-design/mobile-backend.md +491 -491
- package/template/.agents/skills/mobile-design/mobile-color-system.md +420 -420
- package/template/.agents/skills/mobile-design/mobile-debugging.md +122 -122
- package/template/.agents/skills/mobile-design/mobile-design-thinking.md +357 -357
- package/template/.agents/skills/mobile-design/mobile-navigation.md +458 -458
- package/template/.agents/skills/mobile-design/mobile-performance.md +767 -767
- package/template/.agents/skills/mobile-design/mobile-testing.md +356 -356
- package/template/.agents/skills/mobile-design/mobile-typography.md +433 -433
- package/template/.agents/skills/mobile-design/platform-android.md +666 -666
- package/template/.agents/skills/mobile-design/platform-ios.md +561 -561
- package/template/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -670
- package/template/.agents/skills/mobile-design/touch-psychology.md +537 -537
- package/template/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -312
- package/template/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
- package/template/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
- package/template/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
- package/template/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
- package/template/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
- package/template/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
- package/template/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
- package/template/.agents/skills/nextjs-react-expert/SKILL.md +286 -286
- package/template/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
- package/template/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
- package/template/.agents/skills/nodejs-best-practices/SKILL.md +333 -333
- package/template/.agents/skills/obsidian-bases/SKILL.md +506 -506
- package/template/.agents/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -173
- package/template/.agents/skills/obsidian-cli/SKILL.md +115 -115
- package/template/.agents/skills/obsidian-clipper-template-creator/SKILL.md +73 -73
- package/template/.agents/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -51
- package/template/.agents/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -48
- package/template/.agents/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -79
- package/template/.agents/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -44
- package/template/.agents/skills/obsidian-clipper-template-creator/references/filters.md +51 -51
- package/template/.agents/skills/obsidian-clipper-template-creator/references/json-schema.md +77 -77
- package/template/.agents/skills/obsidian-clipper-template-creator/references/logic.md +67 -67
- package/template/.agents/skills/obsidian-clipper-template-creator/references/variables.md +64 -64
- package/template/.agents/skills/obsidian-markdown/SKILL.md +205 -205
- package/template/.agents/skills/obsidian-markdown/references/CALLOUTS.md +58 -58
- package/template/.agents/skills/obsidian-markdown/references/EMBEDS.md +63 -63
- package/template/.agents/skills/obsidian-markdown/references/PROPERTIES.md +61 -61
- package/template/.agents/skills/package-json-generator/SKILL.md +60 -60
- package/template/.agents/skills/package-json-generator/scripts/generate.js +120 -120
- package/template/.agents/skills/package-json-generator/scripts/run.sh +19 -19
- package/template/.agents/skills/parallel-agents/SKILL.md +144 -144
- package/template/.agents/skills/performance-optimization/SKILL.md +299 -299
- package/template/.agents/skills/performance-optimization/performance-checklist.md +113 -113
- package/template/.agents/skills/planning-and-task-breakdown/SKILL.md +239 -239
- package/template/.agents/skills/powershell-windows/SKILL.md +167 -167
- package/template/.agents/skills/pr/SKILL.md +92 -92
- package/template/.agents/skills/pr-review/SKILL.md +142 -142
- package/template/.agents/skills/pr-review-analysis/SKILL.md +89 -89
- package/template/.agents/skills/prd/SKILL.md +112 -112
- package/template/.agents/skills/preview/SKILL.md +116 -116
- package/template/.agents/skills/preview-local-check/SKILL.md +59 -59
- package/template/.agents/skills/prompt-addons/SKILL.md +99 -99
- package/template/.agents/skills/prp-dev-fastapi/SKILL.md +114 -114
- package/template/.agents/skills/prp-dev-multiplatform/SKILL.md +36 -36
- package/template/.agents/skills/prp-dev-odoo/SKILL.md +71 -71
- package/template/.agents/skills/prp-dev-php/SKILL.md +63 -63
- package/template/.agents/skills/prp-sa-ba/SKILL.md +52 -52
- package/template/.agents/skills/python-patterns/SKILL.md +441 -441
- package/template/.agents/skills/red-team-tactics/SKILL.md +199 -199
- package/template/.agents/skills/release-git-operations/SKILL.md +97 -97
- package/template/.agents/skills/research/SKILL.md +127 -127
- package/template/.agents/skills/review/SKILL.md +55 -55
- package/template/.agents/skills/review-followup-routing/SKILL.md +98 -98
- package/template/.agents/skills/roadmap-strategy/SKILL.md +97 -97
- package/template/.agents/skills/security-and-hardening/SKILL.md +349 -349
- package/template/.agents/skills/security-and-hardening/security-checklist.md +134 -134
- package/template/.agents/skills/security-review/SKILL.md +164 -164
- package/template/.agents/skills/seo-fundamentals/SKILL.md +129 -129
- package/template/.agents/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
- package/template/.agents/skills/server-management/SKILL.md +161 -161
- package/template/.agents/skills/shipping-and-launch/SKILL.md +311 -311
- package/template/.agents/skills/silent-failure-audit/SKILL.md +73 -73
- package/template/.agents/skills/simplify/SKILL.md +74 -74
- package/template/.agents/skills/skill-development/SKILL.md +86 -86
- package/template/.agents/skills/spec-driven-development/SKILL.md +207 -207
- package/template/.agents/skills/spec-orchestration/SKILL.md +91 -91
- package/template/.agents/skills/specialist-agent-routing/SKILL.md +107 -107
- package/template/.agents/skills/tailwind-patterns/SKILL.md +269 -269
- package/template/.agents/skills/test/SKILL.md +77 -77
- package/template/.agents/skills/test-driven-development/SKILL.md +422 -422
- package/template/.agents/skills/test-driven-development/testing-patterns.md +236 -236
- package/template/.agents/skills/test-execution-and-coverage/SKILL.md +56 -56
- package/template/.agents/skills/type-design/SKILL.md +84 -84
- package/template/.agents/skills/ui-ux-pro-max/SKILL.md +75 -75
- package/template/.agents/skills/using-agent-skills/SKILL.md +171 -171
- package/template/.agents/skills/verification-orchestration/SKILL.md +68 -68
- package/template/.agents/skills/vulnerability-scanner/SKILL.md +276 -276
- package/template/.agents/skills/vulnerability-scanner/checklists.md +121 -121
- package/template/.agents/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
- package/template/.agents/skills/wiki/SKILL.md +148 -148
- package/template/.agents/skills/workflow-documentation-sync/SKILL.md +87 -87
- package/template/.claude/skills/20-spec/SKILL.md +136 -136
- package/template/.claude/skills/30-plan/SKILL.md +206 -206
- package/template/.claude/skills/40-implement/SKILL.md +152 -152
- package/template/.claude/skills/50-verify/SKILL.md +174 -174
- package/template/.claude/skills/60-report/SKILL.md +168 -168
- package/template/.claude/skills/70-release/SKILL.md +141 -141
- package/template/.claude/skills/9arm-skills/README.md +51 -51
- package/template/.claude/skills/9arm-skills/debug-mantra/SKILL.md +86 -86
- package/template/.claude/skills/9arm-skills/management-talk/SKILL.md +79 -79
- package/template/.claude/skills/9arm-skills/post-mortem/SKILL.md +71 -71
- package/template/.claude/skills/9arm-skills/scrutinize/SKILL.md +72 -72
- package/template/.claude/skills/agent/SKILL.md +164 -164
- package/template/.claude/skills/api-and-interface-design/SKILL.md +294 -294
- package/template/.claude/skills/app-builder/SKILL.md +75 -75
- package/template/.claude/skills/app-builder/agent-coordination.md +71 -71
- package/template/.claude/skills/app-builder/feature-building.md +53 -53
- package/template/.claude/skills/app-builder/project-detection.md +34 -34
- package/template/.claude/skills/app-builder/scaffolding.md +118 -118
- package/template/.claude/skills/app-builder/tech-stack.md +40 -40
- package/template/.claude/skills/app-builder/templates/SKILL.md +39 -39
- package/template/.claude/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/template/.claude/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/template/.claude/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/template/.claude/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/template/.claude/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/template/.claude/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/template/.claude/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/template/.claude/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
- package/template/.claude/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
- package/template/.claude/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
- package/template/.claude/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
- package/template/.claude/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/template/.claude/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
- package/template/.claude/skills/architecture/SKILL.md +55 -55
- package/template/.claude/skills/architecture/context-discovery.md +43 -43
- package/template/.claude/skills/architecture/examples.md +94 -94
- package/template/.claude/skills/architecture/pattern-selection.md +68 -68
- package/template/.claude/skills/architecture/patterns-reference.md +50 -50
- package/template/.claude/skills/architecture/trade-off-analysis.md +77 -77
- package/template/.claude/skills/bash-linux/SKILL.md +199 -199
- package/template/.claude/skills/behavioral-modes/SKILL.md +242 -242
- package/template/.claude/skills/brainstorm/SKILL.md +157 -157
- package/template/.claude/skills/browser-testing-with-devtools/SKILL.md +302 -302
- package/template/.claude/skills/changelog/SKILL.md +108 -108
- package/template/.claude/skills/check-for-updates/SKILL.md +116 -116
- package/template/.claude/skills/ci-cd-and-automation/SKILL.md +390 -390
- package/template/.claude/skills/code-review-and-quality/SKILL.md +392 -392
- package/template/.claude/skills/code-simplification/SKILL.md +331 -331
- package/template/.claude/skills/commit/SKILL.md +62 -62
- package/template/.claude/skills/competitor-analysis/SKILL.md +66 -66
- package/template/.claude/skills/context-engineering/SKILL.md +290 -290
- package/template/.claude/skills/database-design/SKILL.md +52 -52
- package/template/.claude/skills/database-design/database-selection.md +43 -43
- package/template/.claude/skills/database-design/indexing.md +39 -39
- package/template/.claude/skills/database-design/migrations.md +48 -48
- package/template/.claude/skills/database-design/optimization.md +36 -36
- package/template/.claude/skills/database-design/orm-selection.md +30 -30
- package/template/.claude/skills/database-design/schema-design.md +56 -56
- package/template/.claude/skills/database-design/scripts/schema_validator.py +172 -172
- package/template/.claude/skills/debug/SKILL.md +116 -116
- package/template/.claude/skills/debugging-and-error-recovery/SKILL.md +298 -298
- package/template/.claude/skills/deploy/SKILL.md +90 -90
- package/template/.claude/skills/deployment-procedures/SKILL.md +241 -241
- package/template/.claude/skills/deprecation-and-migration/SKILL.md +206 -206
- package/template/.claude/skills/devflow-concept-intake/SKILL.md +150 -150
- package/template/.claude/skills/devflow-concept-intake/agents/openai.yaml +4 -4
- package/template/.claude/skills/devflow-concept-intake/references/adoption-proposal-template.md +60 -60
- package/template/.claude/skills/devflow-concept-intake/references/concept-report-template.md +47 -47
- package/template/.claude/skills/devflow-concept-intake/references/upstream-tracking-template.md +51 -51
- package/template/.claude/skills/devflow-wiki/SKILL.md +75 -75
- package/template/.claude/skills/documentation-and-adrs/SKILL.md +278 -278
- package/template/.claude/skills/english-to-thai-translator/SKILL.md +125 -125
- package/template/.claude/skills/followup/SKILL.md +78 -78
- package/template/.claude/skills/frontend-ui-engineering/SKILL.md +326 -326
- package/template/.claude/skills/frontend-ui-engineering/accessibility-checklist.md +159 -159
- package/template/.claude/skills/git-workflow-and-versioning/SKILL.md +300 -300
- package/template/.claude/skills/goal/SKILL.md +132 -132
- package/template/.claude/skills/help/SKILL.md +242 -242
- package/template/.claude/skills/human-review-decisions/SKILL.md +74 -74
- package/template/.claude/skills/i18n-localization/SKILL.md +154 -154
- package/template/.claude/skills/i18n-localization/scripts/i18n_checker.py +241 -241
- package/template/.claude/skills/idea-refine/SKILL.md +178 -178
- package/template/.claude/skills/idea-refine/examples.md +238 -238
- package/template/.claude/skills/idea-refine/frameworks.md +99 -99
- package/template/.claude/skills/idea-refine/refinement-criteria.md +113 -113
- package/template/.claude/skills/idea-refine/scripts/idea-refine.sh +15 -15
- package/template/.claude/skills/incremental-implementation/SKILL.md +248 -248
- package/template/.claude/skills/insight/SKILL.md +130 -130
- package/template/.claude/skills/insight-capture/SKILL.md +84 -84
- package/template/.claude/skills/intelligent-routing/SKILL.md +171 -171
- package/template/.claude/skills/issue-triage/SKILL.md +106 -106
- package/template/.claude/skills/lint-and-validate/SKILL.md +45 -45
- package/template/.claude/skills/lint-and-validate/scripts/lint_runner.py +184 -184
- package/template/.claude/skills/lint-and-validate/scripts/type_coverage.py +173 -173
- package/template/.claude/skills/mcp-builder/SKILL.md +176 -176
- package/template/.claude/skills/md2html/SKILL.md +154 -154
- package/template/.claude/skills/md2html/components.md +505 -505
- package/template/.claude/skills/md2html/template.html +1152 -1152
- package/template/.claude/skills/merge/SKILL.md +75 -75
- package/template/.claude/skills/mobile-design/SKILL.md +394 -394
- package/template/.claude/skills/mobile-design/decision-trees.md +516 -516
- package/template/.claude/skills/mobile-design/mobile-backend.md +491 -491
- package/template/.claude/skills/mobile-design/mobile-color-system.md +420 -420
- package/template/.claude/skills/mobile-design/mobile-debugging.md +122 -122
- package/template/.claude/skills/mobile-design/mobile-design-thinking.md +357 -357
- package/template/.claude/skills/mobile-design/mobile-navigation.md +458 -458
- package/template/.claude/skills/mobile-design/mobile-performance.md +767 -767
- package/template/.claude/skills/mobile-design/mobile-testing.md +356 -356
- package/template/.claude/skills/mobile-design/mobile-typography.md +433 -433
- package/template/.claude/skills/mobile-design/platform-android.md +666 -666
- package/template/.claude/skills/mobile-design/platform-ios.md +561 -561
- package/template/.claude/skills/mobile-design/scripts/mobile_audit.py +670 -670
- package/template/.claude/skills/mobile-design/touch-psychology.md +537 -537
- package/template/.claude/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +312 -312
- package/template/.claude/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
- package/template/.claude/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
- package/template/.claude/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
- package/template/.claude/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
- package/template/.claude/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
- package/template/.claude/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
- package/template/.claude/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
- package/template/.claude/skills/nextjs-react-expert/SKILL.md +286 -286
- package/template/.claude/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
- package/template/.claude/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
- package/template/.claude/skills/nodejs-best-practices/SKILL.md +333 -333
- package/template/.claude/skills/obsidian-bases/SKILL.md +506 -506
- package/template/.claude/skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md +173 -173
- package/template/.claude/skills/obsidian-cli/SKILL.md +115 -115
- package/template/.claude/skills/obsidian-clipper-template-creator/SKILL.md +73 -73
- package/template/.claude/skills/obsidian-clipper-template-creator/assets/clipping-template.json +51 -51
- package/template/.claude/skills/obsidian-clipper-template-creator/assets/recipe-template.json +48 -48
- package/template/.claude/skills/obsidian-clipper-template-creator/references/analysis-workflow.md +79 -79
- package/template/.claude/skills/obsidian-clipper-template-creator/references/bases-workflow.md +44 -44
- package/template/.claude/skills/obsidian-clipper-template-creator/references/filters.md +51 -51
- package/template/.claude/skills/obsidian-clipper-template-creator/references/json-schema.md +77 -77
- package/template/.claude/skills/obsidian-clipper-template-creator/references/logic.md +67 -67
- package/template/.claude/skills/obsidian-clipper-template-creator/references/variables.md +64 -64
- package/template/.claude/skills/obsidian-markdown/SKILL.md +205 -205
- package/template/.claude/skills/obsidian-markdown/references/CALLOUTS.md +58 -58
- package/template/.claude/skills/obsidian-markdown/references/EMBEDS.md +63 -63
- package/template/.claude/skills/obsidian-markdown/references/PROPERTIES.md +61 -61
- package/template/.claude/skills/package-json-generator/SKILL.md +60 -60
- package/template/.claude/skills/package-json-generator/scripts/generate.js +120 -120
- package/template/.claude/skills/package-json-generator/scripts/run.sh +19 -19
- package/template/.claude/skills/parallel-agents/SKILL.md +144 -144
- package/template/.claude/skills/performance-optimization/SKILL.md +299 -299
- package/template/.claude/skills/performance-optimization/performance-checklist.md +113 -113
- package/template/.claude/skills/planning-and-task-breakdown/SKILL.md +239 -239
- package/template/.claude/skills/powershell-windows/SKILL.md +167 -167
- package/template/.claude/skills/pr/SKILL.md +92 -92
- package/template/.claude/skills/pr-review/SKILL.md +142 -142
- package/template/.claude/skills/pr-review-analysis/SKILL.md +89 -89
- package/template/.claude/skills/prd/SKILL.md +112 -112
- package/template/.claude/skills/preview/SKILL.md +116 -116
- package/template/.claude/skills/preview-local-check/SKILL.md +59 -59
- package/template/.claude/skills/prompt-addons/SKILL.md +99 -99
- package/template/.claude/skills/prp-dev-fastapi/SKILL.md +114 -114
- package/template/.claude/skills/prp-dev-multiplatform/SKILL.md +36 -36
- package/template/.claude/skills/prp-dev-odoo/SKILL.md +71 -71
- package/template/.claude/skills/prp-dev-php/SKILL.md +63 -63
- package/template/.claude/skills/prp-sa-ba/SKILL.md +52 -52
- package/template/.claude/skills/python-patterns/SKILL.md +441 -441
- package/template/.claude/skills/red-team-tactics/SKILL.md +199 -199
- package/template/.claude/skills/release-git-operations/SKILL.md +97 -97
- package/template/.claude/skills/research/SKILL.md +127 -127
- package/template/.claude/skills/review/SKILL.md +55 -55
- package/template/.claude/skills/review-followup-routing/SKILL.md +98 -98
- package/template/.claude/skills/roadmap-strategy/SKILL.md +97 -97
- package/template/.claude/skills/security-and-hardening/SKILL.md +349 -349
- package/template/.claude/skills/security-and-hardening/security-checklist.md +134 -134
- package/template/.claude/skills/security-review/SKILL.md +164 -164
- package/template/.claude/skills/seo-fundamentals/SKILL.md +129 -129
- package/template/.claude/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
- package/template/.claude/skills/server-management/SKILL.md +161 -161
- package/template/.claude/skills/shipping-and-launch/SKILL.md +311 -311
- package/template/.claude/skills/silent-failure-audit/SKILL.md +73 -73
- package/template/.claude/skills/simplify/SKILL.md +74 -74
- package/template/.claude/skills/skill-development/SKILL.md +86 -86
- package/template/.claude/skills/spec-driven-development/SKILL.md +207 -207
- package/template/.claude/skills/spec-orchestration/SKILL.md +91 -91
- package/template/.claude/skills/specialist-agent-routing/SKILL.md +107 -107
- package/template/.claude/skills/tailwind-patterns/SKILL.md +269 -269
- package/template/.claude/skills/test/SKILL.md +77 -77
- package/template/.claude/skills/test-driven-development/SKILL.md +422 -422
- package/template/.claude/skills/test-driven-development/testing-patterns.md +236 -236
- package/template/.claude/skills/test-execution-and-coverage/SKILL.md +56 -56
- package/template/.claude/skills/type-design/SKILL.md +84 -84
- package/template/.claude/skills/ui-ux-pro-max/SKILL.md +75 -75
- package/template/.claude/skills/using-agent-skills/SKILL.md +171 -171
- package/template/.claude/skills/verification-orchestration/SKILL.md +68 -68
- package/template/.claude/skills/vulnerability-scanner/SKILL.md +276 -276
- package/template/.claude/skills/vulnerability-scanner/checklists.md +121 -121
- package/template/.claude/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
- package/template/.claude/skills/wiki/SKILL.md +148 -148
- package/template/.claude/skills/workflow-documentation-sync/SKILL.md +87 -87
- package/template/.nexus/nexus-devflow.json +1 -1
- package/template/LICENSE +21 -21
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
# Properties (Frontmatter) Reference
|
|
2
|
-
|
|
3
|
-
Properties use YAML frontmatter at the start of a note:
|
|
4
|
-
|
|
5
|
-
```yaml
|
|
6
|
-
---
|
|
7
|
-
title: My Note Title
|
|
8
|
-
date: 2024-01-15
|
|
9
|
-
tags:
|
|
10
|
-
- project
|
|
11
|
-
- important
|
|
12
|
-
aliases:
|
|
13
|
-
- My Note
|
|
14
|
-
- Alternative Name
|
|
15
|
-
cssclasses:
|
|
16
|
-
- custom-class
|
|
17
|
-
status: in-progress
|
|
18
|
-
rating: 4.5
|
|
19
|
-
completed: false
|
|
20
|
-
due: 2024-02-01T14:30:00
|
|
21
|
-
---
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Property Types
|
|
25
|
-
|
|
26
|
-
| Type | Example |
|
|
27
|
-
|------|---------|
|
|
28
|
-
| Text | `title: My Title` |
|
|
29
|
-
| Number | `rating: 4.5` |
|
|
30
|
-
| Checkbox | `completed: true` |
|
|
31
|
-
| Date | `date: 2024-01-15` |
|
|
32
|
-
| Date & Time | `due: 2024-01-15T14:30:00` |
|
|
33
|
-
| List | `tags: [one, two]` or YAML list |
|
|
34
|
-
| Links | `related: "[[Other Note]]"` |
|
|
35
|
-
|
|
36
|
-
## Default Properties
|
|
37
|
-
|
|
38
|
-
- `tags` - Note tags (searchable, shown in graph view)
|
|
39
|
-
- `aliases` - Alternative names for the note (used in link suggestions)
|
|
40
|
-
- `cssclasses` - CSS classes applied to the note in reading/editing view
|
|
41
|
-
|
|
42
|
-
## Tags
|
|
43
|
-
|
|
44
|
-
```markdown
|
|
45
|
-
#tag
|
|
46
|
-
#nested/tag
|
|
47
|
-
#tag-with-dashes
|
|
48
|
-
#tag_with_underscores
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Tags can contain: letters (any language), numbers (not first character), underscores `_`, hyphens `-`, forward slashes `/` (for nesting).
|
|
52
|
-
|
|
53
|
-
In frontmatter:
|
|
54
|
-
|
|
55
|
-
```yaml
|
|
56
|
-
---
|
|
57
|
-
tags:
|
|
58
|
-
- tag1
|
|
59
|
-
- nested/tag2
|
|
60
|
-
---
|
|
61
|
-
```
|
|
1
|
+
# Properties (Frontmatter) Reference
|
|
2
|
+
|
|
3
|
+
Properties use YAML frontmatter at the start of a note:
|
|
4
|
+
|
|
5
|
+
```yaml
|
|
6
|
+
---
|
|
7
|
+
title: My Note Title
|
|
8
|
+
date: 2024-01-15
|
|
9
|
+
tags:
|
|
10
|
+
- project
|
|
11
|
+
- important
|
|
12
|
+
aliases:
|
|
13
|
+
- My Note
|
|
14
|
+
- Alternative Name
|
|
15
|
+
cssclasses:
|
|
16
|
+
- custom-class
|
|
17
|
+
status: in-progress
|
|
18
|
+
rating: 4.5
|
|
19
|
+
completed: false
|
|
20
|
+
due: 2024-02-01T14:30:00
|
|
21
|
+
---
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Property Types
|
|
25
|
+
|
|
26
|
+
| Type | Example |
|
|
27
|
+
|------|---------|
|
|
28
|
+
| Text | `title: My Title` |
|
|
29
|
+
| Number | `rating: 4.5` |
|
|
30
|
+
| Checkbox | `completed: true` |
|
|
31
|
+
| Date | `date: 2024-01-15` |
|
|
32
|
+
| Date & Time | `due: 2024-01-15T14:30:00` |
|
|
33
|
+
| List | `tags: [one, two]` or YAML list |
|
|
34
|
+
| Links | `related: "[[Other Note]]"` |
|
|
35
|
+
|
|
36
|
+
## Default Properties
|
|
37
|
+
|
|
38
|
+
- `tags` - Note tags (searchable, shown in graph view)
|
|
39
|
+
- `aliases` - Alternative names for the note (used in link suggestions)
|
|
40
|
+
- `cssclasses` - CSS classes applied to the note in reading/editing view
|
|
41
|
+
|
|
42
|
+
## Tags
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
#tag
|
|
46
|
+
#nested/tag
|
|
47
|
+
#tag-with-dashes
|
|
48
|
+
#tag_with_underscores
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Tags can contain: letters (any language), numbers (not first character), underscores `_`, hyphens `-`, forward slashes `/` (for nesting).
|
|
52
|
+
|
|
53
|
+
In frontmatter:
|
|
54
|
+
|
|
55
|
+
```yaml
|
|
56
|
+
---
|
|
57
|
+
tags:
|
|
58
|
+
- tag1
|
|
59
|
+
- nested/tag2
|
|
60
|
+
---
|
|
61
|
+
```
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: package-json-generator
|
|
3
|
-
description: Generates or updates a package.json file with standardized npm scripts for the project. Automatically migrates tasks from .vscode/tasks.json if present. Use when initializing npm scripts, migrating from VS Code tasks, or setting up a centralized task runner.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Package JSON Generator
|
|
7
|
-
|
|
8
|
-
เครื่องมือสำหรับสร้างและจัดการไฟล์ `package.json` ในโปรเจค เพื่อรวบรวมคำสั่ง (Scripts) ต่างๆ ไว้ที่ส่วนกลาง (Centralized Scripts Environment) โดยสามารถดึงข้อมูลและแปลงคำสั่งจาก `.vscode/tasks.json` มาเป็น npm scripts ได้โดยอัตโนมัติ
|
|
9
|
-
|
|
10
|
-
## วิธีการทำงาน
|
|
11
|
-
|
|
12
|
-
1. ตรวจสอบว่ามีไฟล์ `package.json` อยู่ในโปรเจคหรือไม่ หากไม่มีจะทำการสร้างขึ้นมาใหม่
|
|
13
|
-
2. ค้นหาไฟล์ `.vscode/tasks.json` เพื่ออ่านคำสั่ง (tasks) ที่มีอยู่
|
|
14
|
-
3. แปลงคำสั่งจาก `tasks.json` ให้อยู่ในรูปแบบของ npm scripts
|
|
15
|
-
4. หากคำสั่งไหนมีการรับค่า (เช่น `${input:version}`) จะถูกแปลงให้อยู่ในรูปแบบการใช้ PowerShell `Read-Host` หรือ Bash `read` โดยอัตโนมัติ
|
|
16
|
-
5. อัปเดตและบันทึกไฟล์ `package.json`
|
|
17
|
-
|
|
18
|
-
## การใช้งาน
|
|
19
|
-
|
|
20
|
-
รันสคริปต์เพื่อสร้างหรืออัปเดต `package.json` ใน root ของโปรเจคปัจจุบัน:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
bash /mnt/skills/user/package-json-generator/scripts/run.sh [project-path]
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
**อาร์กิวเมนต์:**
|
|
27
|
-
- `project-path` - (Optional) Path ของโปรเจคที่ต้องการสร้าง `package.json` (ค่าเริ่มต้นคือโฟลเดอร์ปัจจุบัน `./`)
|
|
28
|
-
|
|
29
|
-
**ตัวอย่าง:**
|
|
30
|
-
```bash
|
|
31
|
-
# รันในโฟลเดอร์ปัจจุบัน
|
|
32
|
-
bash /mnt/skills/user/package-json-generator/scripts/run.sh
|
|
33
|
-
|
|
34
|
-
# ระบุ path ของโปรเจค
|
|
35
|
-
bash /mnt/skills/user/package-json-generator/scripts/run.sh /mnt/d/ramasri/tracker
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## เอาต์พุต
|
|
39
|
-
|
|
40
|
-
```json
|
|
41
|
-
{
|
|
42
|
-
"status": "success",
|
|
43
|
-
"message": "Generated package.json successfully",
|
|
44
|
-
"data": {
|
|
45
|
-
"scriptsAdded": 10,
|
|
46
|
-
"path": "/mnt/d/ramasri/tracker/package.json"
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## การนำเสนอผลลัพธ์ต่อผู้ใช้
|
|
52
|
-
|
|
53
|
-
- แจ้งผู้ใช้ว่าได้ทำการสร้างหรืออัปเดต `package.json` เรียบร้อยแล้ว
|
|
54
|
-
- สรุปรายการ scripts ที่ถูกเพิ่มเข้าไปให้ผู้ใช้ทราบ
|
|
55
|
-
- แนะนำให้ผู้ใช้ทดลองรันคำสั่งด้วย `npm run <script-name>`
|
|
56
|
-
|
|
57
|
-
## การแก้ไขปัญหา
|
|
58
|
-
|
|
59
|
-
- หากระบบแจ้งว่าหา Node.js ไม่พบ ให้ตรวจสอบการติดตั้ง Node.js
|
|
60
|
-
- หากไฟล์ `tasks.json` มีโครงสร้างที่ผิดปกติ สคริปต์อาจจะดึงคำสั่งมาได้ไม่ครบถ้วน ให้ตรวจสอบและเพิ่มเข้าไปใน `package.json` เองในภายหลัง
|
|
1
|
+
---
|
|
2
|
+
name: package-json-generator
|
|
3
|
+
description: Generates or updates a package.json file with standardized npm scripts for the project. Automatically migrates tasks from .vscode/tasks.json if present. Use when initializing npm scripts, migrating from VS Code tasks, or setting up a centralized task runner.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Package JSON Generator
|
|
7
|
+
|
|
8
|
+
เครื่องมือสำหรับสร้างและจัดการไฟล์ `package.json` ในโปรเจค เพื่อรวบรวมคำสั่ง (Scripts) ต่างๆ ไว้ที่ส่วนกลาง (Centralized Scripts Environment) โดยสามารถดึงข้อมูลและแปลงคำสั่งจาก `.vscode/tasks.json` มาเป็น npm scripts ได้โดยอัตโนมัติ
|
|
9
|
+
|
|
10
|
+
## วิธีการทำงาน
|
|
11
|
+
|
|
12
|
+
1. ตรวจสอบว่ามีไฟล์ `package.json` อยู่ในโปรเจคหรือไม่ หากไม่มีจะทำการสร้างขึ้นมาใหม่
|
|
13
|
+
2. ค้นหาไฟล์ `.vscode/tasks.json` เพื่ออ่านคำสั่ง (tasks) ที่มีอยู่
|
|
14
|
+
3. แปลงคำสั่งจาก `tasks.json` ให้อยู่ในรูปแบบของ npm scripts
|
|
15
|
+
4. หากคำสั่งไหนมีการรับค่า (เช่น `${input:version}`) จะถูกแปลงให้อยู่ในรูปแบบการใช้ PowerShell `Read-Host` หรือ Bash `read` โดยอัตโนมัติ
|
|
16
|
+
5. อัปเดตและบันทึกไฟล์ `package.json`
|
|
17
|
+
|
|
18
|
+
## การใช้งาน
|
|
19
|
+
|
|
20
|
+
รันสคริปต์เพื่อสร้างหรืออัปเดต `package.json` ใน root ของโปรเจคปัจจุบัน:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
bash /mnt/skills/user/package-json-generator/scripts/run.sh [project-path]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**อาร์กิวเมนต์:**
|
|
27
|
+
- `project-path` - (Optional) Path ของโปรเจคที่ต้องการสร้าง `package.json` (ค่าเริ่มต้นคือโฟลเดอร์ปัจจุบัน `./`)
|
|
28
|
+
|
|
29
|
+
**ตัวอย่าง:**
|
|
30
|
+
```bash
|
|
31
|
+
# รันในโฟลเดอร์ปัจจุบัน
|
|
32
|
+
bash /mnt/skills/user/package-json-generator/scripts/run.sh
|
|
33
|
+
|
|
34
|
+
# ระบุ path ของโปรเจค
|
|
35
|
+
bash /mnt/skills/user/package-json-generator/scripts/run.sh /mnt/d/ramasri/tracker
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## เอาต์พุต
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"status": "success",
|
|
43
|
+
"message": "Generated package.json successfully",
|
|
44
|
+
"data": {
|
|
45
|
+
"scriptsAdded": 10,
|
|
46
|
+
"path": "/mnt/d/ramasri/tracker/package.json"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## การนำเสนอผลลัพธ์ต่อผู้ใช้
|
|
52
|
+
|
|
53
|
+
- แจ้งผู้ใช้ว่าได้ทำการสร้างหรืออัปเดต `package.json` เรียบร้อยแล้ว
|
|
54
|
+
- สรุปรายการ scripts ที่ถูกเพิ่มเข้าไปให้ผู้ใช้ทราบ
|
|
55
|
+
- แนะนำให้ผู้ใช้ทดลองรันคำสั่งด้วย `npm run <script-name>`
|
|
56
|
+
|
|
57
|
+
## การแก้ไขปัญหา
|
|
58
|
+
|
|
59
|
+
- หากระบบแจ้งว่าหา Node.js ไม่พบ ให้ตรวจสอบการติดตั้ง Node.js
|
|
60
|
+
- หากไฟล์ `tasks.json` มีโครงสร้างที่ผิดปกติ สคริปต์อาจจะดึงคำสั่งมาได้ไม่ครบถ้วน ให้ตรวจสอบและเพิ่มเข้าไปใน `package.json` เองในภายหลัง
|
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
const path = require('path');
|
|
3
|
-
|
|
4
|
-
const targetDir = process.argv[2] || process.cwd();
|
|
5
|
-
const packageJsonPath = path.join(targetDir, 'package.json');
|
|
6
|
-
const tasksJsonPath = path.join(targetDir, '.vscode', 'tasks.json');
|
|
7
|
-
|
|
8
|
-
// Initialize or read package.json
|
|
9
|
-
let pkg = {};
|
|
10
|
-
if (fs.existsSync(packageJsonPath)) {
|
|
11
|
-
try {
|
|
12
|
-
pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
13
|
-
} catch (e) {
|
|
14
|
-
console.error(JSON.stringify({ status: 'error', message: 'Invalid package.json format' }));
|
|
15
|
-
process.exit(1);
|
|
16
|
-
}
|
|
17
|
-
} else {
|
|
18
|
-
pkg = {
|
|
19
|
-
name: path.basename(path.resolve(targetDir)),
|
|
20
|
-
version: '1.0.0',
|
|
21
|
-
description: '',
|
|
22
|
-
main: 'index.js',
|
|
23
|
-
scripts: {}
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (!pkg.scripts) pkg.scripts = {};
|
|
28
|
-
|
|
29
|
-
let scriptsAdded = 0;
|
|
30
|
-
|
|
31
|
-
// Read .vscode/tasks.json if exists
|
|
32
|
-
if (fs.existsSync(tasksJsonPath)) {
|
|
33
|
-
try {
|
|
34
|
-
const tasksContent = fs.readFileSync(tasksJsonPath, 'utf8');
|
|
35
|
-
// Basic JSON parse (Note: tasks.json often contains comments, so we use a simple regex to strip them)
|
|
36
|
-
const jsonWithoutComments = tasksContent.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, '$1');
|
|
37
|
-
const tasksData = JSON.parse(jsonWithoutComments);
|
|
38
|
-
|
|
39
|
-
const tasks = tasksData.tasks || [];
|
|
40
|
-
const inputs = tasksData.inputs || [];
|
|
41
|
-
|
|
42
|
-
// Helper to find input description
|
|
43
|
-
const getInputDefaultOrDesc = (inputId) => {
|
|
44
|
-
const input = inputs.find(i => i.id === inputId);
|
|
45
|
-
return input ? (input.description || input.default || inputId) : inputId;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
tasks.forEach(task => {
|
|
49
|
-
if (task.command) {
|
|
50
|
-
// Convert label to script name (e.g. "🚀 [Docker] Start Project" -> "docker:start")
|
|
51
|
-
let scriptName = task.label
|
|
52
|
-
.replace(/[\u{1F300}-\u{1F9FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/gu, '') // Remove emojis
|
|
53
|
-
.replace(/\[(.*?)\]/g, '$1') // Remove brackets
|
|
54
|
-
.trim()
|
|
55
|
-
.toLowerCase()
|
|
56
|
-
.replace(/[^a-z0-9]+/g, '-'); // Replace spaces/specials with dash
|
|
57
|
-
|
|
58
|
-
// Shorten some common prefixes
|
|
59
|
-
scriptName = scriptName.replace(/^docker-/, 'docker:');
|
|
60
|
-
scriptName = scriptName.replace(/^db-/, 'db:');
|
|
61
|
-
|
|
62
|
-
let cmd = task.command;
|
|
63
|
-
|
|
64
|
-
// Append args if any
|
|
65
|
-
if (task.args && Array.isArray(task.args)) {
|
|
66
|
-
cmd += ' ' + task.args.join(' ');
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Convert ${input:xxx} to PowerShell Read-Host
|
|
70
|
-
const inputMatches = cmd.match(/\$\{input:([a-zA-Z0-9_-]+)\}/g);
|
|
71
|
-
if (inputMatches) {
|
|
72
|
-
let psCommands = [];
|
|
73
|
-
let currentCmd = cmd;
|
|
74
|
-
|
|
75
|
-
inputMatches.forEach(match => {
|
|
76
|
-
const inputId = match.replace('${input:', '').replace('}', '');
|
|
77
|
-
const prompt = getInputDefaultOrDesc(inputId);
|
|
78
|
-
psCommands.push(`$${inputId} = Read-Host '${prompt}'`);
|
|
79
|
-
currentCmd = currentCmd.replace(match, `$${inputId}`);
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
// Wrap the command in PowerShell
|
|
83
|
-
cmd = `powershell -Command "${psCommands.join('; ')}; if (${inputMatches.map(m => '$'+m.replace('${input:','').replace('}','')).join(' -and ')}) { ${currentCmd} }"`;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// Don't overwrite existing scripts unless necessary, or just add if not exist
|
|
87
|
-
if (!pkg.scripts[scriptName]) {
|
|
88
|
-
pkg.scripts[scriptName] = cmd;
|
|
89
|
-
scriptsAdded++;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
} catch (e) {
|
|
95
|
-
// Ignore parse errors for tasks.json
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// Ensure default scripts exist
|
|
100
|
-
const defaultScripts = {
|
|
101
|
-
"start": "node index.js"
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
for (const [key, value] of Object.entries(defaultScripts)) {
|
|
105
|
-
if (!pkg.scripts[key] && Object.keys(pkg.scripts).length === 0) {
|
|
106
|
-
pkg.scripts[key] = value;
|
|
107
|
-
scriptsAdded++;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
fs.writeFileSync(packageJsonPath, JSON.stringify(pkg, null, 2) + '\n');
|
|
112
|
-
|
|
113
|
-
console.log(JSON.stringify({
|
|
114
|
-
status: 'success',
|
|
115
|
-
message: 'Generated package.json successfully',
|
|
116
|
-
data: {
|
|
117
|
-
scriptsAdded,
|
|
118
|
-
path: packageJsonPath
|
|
119
|
-
}
|
|
120
|
-
}));
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
const targetDir = process.argv[2] || process.cwd();
|
|
5
|
+
const packageJsonPath = path.join(targetDir, 'package.json');
|
|
6
|
+
const tasksJsonPath = path.join(targetDir, '.vscode', 'tasks.json');
|
|
7
|
+
|
|
8
|
+
// Initialize or read package.json
|
|
9
|
+
let pkg = {};
|
|
10
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
11
|
+
try {
|
|
12
|
+
pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
console.error(JSON.stringify({ status: 'error', message: 'Invalid package.json format' }));
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
pkg = {
|
|
19
|
+
name: path.basename(path.resolve(targetDir)),
|
|
20
|
+
version: '1.0.0',
|
|
21
|
+
description: '',
|
|
22
|
+
main: 'index.js',
|
|
23
|
+
scripts: {}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (!pkg.scripts) pkg.scripts = {};
|
|
28
|
+
|
|
29
|
+
let scriptsAdded = 0;
|
|
30
|
+
|
|
31
|
+
// Read .vscode/tasks.json if exists
|
|
32
|
+
if (fs.existsSync(tasksJsonPath)) {
|
|
33
|
+
try {
|
|
34
|
+
const tasksContent = fs.readFileSync(tasksJsonPath, 'utf8');
|
|
35
|
+
// Basic JSON parse (Note: tasks.json often contains comments, so we use a simple regex to strip them)
|
|
36
|
+
const jsonWithoutComments = tasksContent.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm, '$1');
|
|
37
|
+
const tasksData = JSON.parse(jsonWithoutComments);
|
|
38
|
+
|
|
39
|
+
const tasks = tasksData.tasks || [];
|
|
40
|
+
const inputs = tasksData.inputs || [];
|
|
41
|
+
|
|
42
|
+
// Helper to find input description
|
|
43
|
+
const getInputDefaultOrDesc = (inputId) => {
|
|
44
|
+
const input = inputs.find(i => i.id === inputId);
|
|
45
|
+
return input ? (input.description || input.default || inputId) : inputId;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
tasks.forEach(task => {
|
|
49
|
+
if (task.command) {
|
|
50
|
+
// Convert label to script name (e.g. "🚀 [Docker] Start Project" -> "docker:start")
|
|
51
|
+
let scriptName = task.label
|
|
52
|
+
.replace(/[\u{1F300}-\u{1F9FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/gu, '') // Remove emojis
|
|
53
|
+
.replace(/\[(.*?)\]/g, '$1') // Remove brackets
|
|
54
|
+
.trim()
|
|
55
|
+
.toLowerCase()
|
|
56
|
+
.replace(/[^a-z0-9]+/g, '-'); // Replace spaces/specials with dash
|
|
57
|
+
|
|
58
|
+
// Shorten some common prefixes
|
|
59
|
+
scriptName = scriptName.replace(/^docker-/, 'docker:');
|
|
60
|
+
scriptName = scriptName.replace(/^db-/, 'db:');
|
|
61
|
+
|
|
62
|
+
let cmd = task.command;
|
|
63
|
+
|
|
64
|
+
// Append args if any
|
|
65
|
+
if (task.args && Array.isArray(task.args)) {
|
|
66
|
+
cmd += ' ' + task.args.join(' ');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Convert ${input:xxx} to PowerShell Read-Host
|
|
70
|
+
const inputMatches = cmd.match(/\$\{input:([a-zA-Z0-9_-]+)\}/g);
|
|
71
|
+
if (inputMatches) {
|
|
72
|
+
let psCommands = [];
|
|
73
|
+
let currentCmd = cmd;
|
|
74
|
+
|
|
75
|
+
inputMatches.forEach(match => {
|
|
76
|
+
const inputId = match.replace('${input:', '').replace('}', '');
|
|
77
|
+
const prompt = getInputDefaultOrDesc(inputId);
|
|
78
|
+
psCommands.push(`$${inputId} = Read-Host '${prompt}'`);
|
|
79
|
+
currentCmd = currentCmd.replace(match, `$${inputId}`);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
// Wrap the command in PowerShell
|
|
83
|
+
cmd = `powershell -Command "${psCommands.join('; ')}; if (${inputMatches.map(m => '$'+m.replace('${input:','').replace('}','')).join(' -and ')}) { ${currentCmd} }"`;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// Don't overwrite existing scripts unless necessary, or just add if not exist
|
|
87
|
+
if (!pkg.scripts[scriptName]) {
|
|
88
|
+
pkg.scripts[scriptName] = cmd;
|
|
89
|
+
scriptsAdded++;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
} catch (e) {
|
|
95
|
+
// Ignore parse errors for tasks.json
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// Ensure default scripts exist
|
|
100
|
+
const defaultScripts = {
|
|
101
|
+
"start": "node index.js"
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
for (const [key, value] of Object.entries(defaultScripts)) {
|
|
105
|
+
if (!pkg.scripts[key] && Object.keys(pkg.scripts).length === 0) {
|
|
106
|
+
pkg.scripts[key] = value;
|
|
107
|
+
scriptsAdded++;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify(pkg, null, 2) + '\n');
|
|
112
|
+
|
|
113
|
+
console.log(JSON.stringify({
|
|
114
|
+
status: 'success',
|
|
115
|
+
message: 'Generated package.json successfully',
|
|
116
|
+
data: {
|
|
117
|
+
scriptsAdded,
|
|
118
|
+
path: packageJsonPath
|
|
119
|
+
}
|
|
120
|
+
}));
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
set -e
|
|
3
|
-
|
|
4
|
-
# Wrapper script to run the Node.js generator
|
|
5
|
-
|
|
6
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
|
-
TARGET_DIR="${1:-$(pwd)}"
|
|
8
|
-
|
|
9
|
-
# Convert WSL paths to Windows paths for Node.js if running in WSL
|
|
10
|
-
if grep -q microsoft /proc/version 2>/dev/null; then
|
|
11
|
-
# wslpath is available in WSL to convert paths
|
|
12
|
-
if command -v wslpath >/dev/null 2>&1; then
|
|
13
|
-
TARGET_DIR_WIN=$(wslpath -w "$TARGET_DIR" 2>/dev/null || echo "$TARGET_DIR")
|
|
14
|
-
node "$SCRIPT_DIR/generate.js" "$TARGET_DIR_WIN"
|
|
15
|
-
exit $?
|
|
16
|
-
fi
|
|
17
|
-
fi
|
|
18
|
-
|
|
19
|
-
node "$SCRIPT_DIR/generate.js" "$TARGET_DIR"
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
# Wrapper script to run the Node.js generator
|
|
5
|
+
|
|
6
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
|
+
TARGET_DIR="${1:-$(pwd)}"
|
|
8
|
+
|
|
9
|
+
# Convert WSL paths to Windows paths for Node.js if running in WSL
|
|
10
|
+
if grep -q microsoft /proc/version 2>/dev/null; then
|
|
11
|
+
# wslpath is available in WSL to convert paths
|
|
12
|
+
if command -v wslpath >/dev/null 2>&1; then
|
|
13
|
+
TARGET_DIR_WIN=$(wslpath -w "$TARGET_DIR" 2>/dev/null || echo "$TARGET_DIR")
|
|
14
|
+
node "$SCRIPT_DIR/generate.js" "$TARGET_DIR_WIN"
|
|
15
|
+
exit $?
|
|
16
|
+
fi
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
node "$SCRIPT_DIR/generate.js" "$TARGET_DIR"
|