aigroup-workflow 1.3.0 → 2.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.
Files changed (619) hide show
  1. package/.claude/agents/architect.md +211 -0
  2. package/.claude/agents/build-error-resolver.md +114 -0
  3. package/.claude/agents/code-reviewer.md +237 -0
  4. package/.claude/agents/doc-updater.md +107 -0
  5. package/.claude/agents/e2e-runner.md +107 -0
  6. package/.claude/agents/init-architect.md +185 -128
  7. package/.claude/agents/planner.md +212 -0
  8. package/.claude/agents/refactor-cleaner.md +85 -0
  9. package/.claude/agents/rust-reviewer.md +94 -0
  10. package/.claude/agents/security-reviewer.md +108 -0
  11. package/.claude/agents/tdd-guide.md +91 -0
  12. package/.claude/commands/fix-build.md +32 -0
  13. package/.claude/commands/git-commit.md +1 -1
  14. package/.claude/commands/init-project.md +66 -50
  15. package/.claude/commands/plan.md +32 -0
  16. package/.claude/commands/review.md +29 -0
  17. package/.claude/commands/tdd.md +32 -0
  18. package/.claude/commands/workflow-start.md +87 -0
  19. package/.claude/hooks.json +3 -3
  20. package/.claude-plugin/plugin.json +20 -0
  21. package/.codex/AGENTS.md +107 -0
  22. package/.codex/agents/docs-researcher.toml +14 -0
  23. package/.codex/agents/explorer.toml +14 -0
  24. package/.codex/agents/reviewer.toml +16 -0
  25. package/.codex/config.toml +93 -0
  26. package/.codex-plugin/plugin.json +33 -0
  27. package/AGENTS.md +76 -0
  28. package/CLAUDE.md +18 -83
  29. package/README.md +220 -317
  30. package/cli/commands/check.mjs +11 -19
  31. package/cli/commands/init.mjs +133 -49
  32. package/cli/commands/status.mjs +42 -39
  33. package/cli/commands/update.mjs +10 -12
  34. package/cli/utils/scaffold.mjs +297 -126
  35. package/docs/README.md +46 -29
  36. package/docs/red-flags.md +29 -24
  37. package/docs/rules/README.md +51 -0
  38. package/docs/rules/agents.md +50 -0
  39. package/docs/rules/coding-style.md +79 -0
  40. package/docs/rules/cpp/coding-style.md +44 -0
  41. package/docs/rules/cpp/hooks.md +39 -0
  42. package/docs/rules/cpp/patterns.md +51 -0
  43. package/docs/rules/cpp/security.md +51 -0
  44. package/docs/rules/cpp/testing.md +44 -0
  45. package/docs/rules/csharp/coding-style.md +72 -0
  46. package/docs/rules/csharp/hooks.md +25 -0
  47. package/docs/rules/csharp/patterns.md +50 -0
  48. package/docs/rules/csharp/security.md +58 -0
  49. package/docs/rules/csharp/testing.md +46 -0
  50. package/docs/rules/dart/coding-style.md +159 -0
  51. package/docs/rules/dart/hooks.md +66 -0
  52. package/docs/rules/dart/patterns.md +261 -0
  53. package/docs/rules/dart/security.md +135 -0
  54. package/docs/rules/dart/testing.md +215 -0
  55. package/docs/rules/git-workflow.md +53 -0
  56. package/docs/rules/golang/coding-style.md +32 -0
  57. package/docs/rules/golang/hooks.md +17 -0
  58. package/docs/rules/golang/patterns.md +45 -0
  59. package/docs/rules/golang/security.md +34 -0
  60. package/docs/rules/golang/testing.md +31 -0
  61. package/docs/rules/hooks.md +61 -0
  62. package/docs/rules/java/coding-style.md +114 -0
  63. package/docs/rules/java/hooks.md +18 -0
  64. package/docs/rules/java/patterns.md +146 -0
  65. package/docs/rules/java/security.md +100 -0
  66. package/docs/rules/java/testing.md +131 -0
  67. package/docs/rules/kotlin/coding-style.md +86 -0
  68. package/docs/rules/kotlin/hooks.md +17 -0
  69. package/docs/rules/kotlin/patterns.md +146 -0
  70. package/docs/rules/kotlin/security.md +82 -0
  71. package/docs/rules/kotlin/testing.md +128 -0
  72. package/docs/rules/performance.md +30 -0
  73. package/docs/rules/perl/coding-style.md +46 -0
  74. package/docs/rules/perl/hooks.md +22 -0
  75. package/docs/rules/perl/patterns.md +76 -0
  76. package/docs/rules/perl/security.md +69 -0
  77. package/docs/rules/perl/testing.md +54 -0
  78. package/docs/rules/php/coding-style.md +40 -0
  79. package/docs/rules/php/hooks.md +24 -0
  80. package/docs/rules/php/patterns.md +33 -0
  81. package/docs/rules/php/security.md +37 -0
  82. package/docs/rules/php/testing.md +39 -0
  83. package/docs/rules/python/coding-style.md +42 -0
  84. package/docs/rules/python/hooks.md +19 -0
  85. package/docs/rules/python/patterns.md +39 -0
  86. package/docs/rules/python/security.md +30 -0
  87. package/docs/rules/python/testing.md +38 -0
  88. package/docs/rules/rust/coding-style.md +151 -0
  89. package/docs/rules/rust/hooks.md +16 -0
  90. package/docs/rules/rust/patterns.md +168 -0
  91. package/docs/rules/rust/security.md +141 -0
  92. package/docs/rules/rust/testing.md +154 -0
  93. package/docs/rules/security.md +73 -0
  94. package/docs/rules/swift/coding-style.md +47 -0
  95. package/docs/rules/swift/hooks.md +20 -0
  96. package/docs/rules/swift/patterns.md +66 -0
  97. package/docs/rules/swift/security.md +33 -0
  98. package/docs/rules/swift/testing.md +45 -0
  99. package/docs/rules/testing.md +77 -0
  100. package/docs/rules/typescript/coding-style.md +199 -0
  101. package/docs/rules/typescript/hooks.md +22 -0
  102. package/docs/rules/typescript/patterns.md +52 -0
  103. package/docs/rules/typescript/security.md +28 -0
  104. package/docs/rules/typescript/testing.md +18 -0
  105. package/docs/rules/web/coding-style.md +96 -0
  106. package/docs/rules/web/design-quality.md +63 -0
  107. package/docs/rules/web/hooks.md +120 -0
  108. package/docs/rules/web/patterns.md +79 -0
  109. package/docs/rules/web/performance.md +64 -0
  110. package/docs/rules/web/security.md +57 -0
  111. package/docs/rules/web/testing.md +55 -0
  112. package/docs/templates/code-review.md +1 -1
  113. package/docs/templates/implementation-plan.md +82 -82
  114. package/docs/workflow-pipeline.md +55 -127
  115. package/manifests/install-modules.json +294 -0
  116. package/package.json +7 -2
  117. package/scripts/harness/log-event.sh +11 -21
  118. package/scripts/harness/logs-query.sh +3 -8
  119. package/scripts/harness/tests/test-log-event.sh +16 -31
  120. package/scripts/harness/tests/test-logs-query.sh +4 -4
  121. package/scripts/hooks/README.md +49 -0
  122. package/scripts/hooks/checks/claude-md-size.cjs +21 -0
  123. package/scripts/hooks/checks/delegation-antipatterns.cjs +66 -0
  124. package/scripts/hooks/checks/empty-docs.cjs +32 -0
  125. package/scripts/hooks/checks/orchestration-artifacts.cjs +65 -0
  126. package/scripts/hooks/checks/structure.cjs +23 -0
  127. package/scripts/hooks/checks/workflow-state.cjs +56 -0
  128. package/scripts/hooks/dispatcher.cjs +64 -0
  129. package/scripts/hooks/lib/runner.cjs +81 -0
  130. package/scripts/orchestration/lib/orchestrator.cjs +181 -0
  131. package/scripts/orchestration/session.cjs +180 -0
  132. package/skills/documentation/SKILL.md +45 -0
  133. package/skills/{max/workflow/entropy-management → entropy-management}/SKILL.md +115 -124
  134. package/skills/requirement-engineering/SKILL.md +111 -0
  135. package/skills/{max/workflow/subagent-driven-development → subagent-driven-development}/SKILL.md +18 -18
  136. package/skills/{max/workflow/writing-plans → writing-plans}/SKILL.md +165 -165
  137. package/.claude/agents/ella.md +0 -101
  138. package/.claude/agents/jarvis.md +0 -193
  139. package/.claude/agents/kyle.md +0 -168
  140. package/docs/ARCHITECTURE.md +0 -117
  141. package/docs/QUALITY_SCORE.md +0 -44
  142. package/docs/coding-standards.md +0 -48
  143. package/docs/dispatch-rules.md +0 -83
  144. package/docs/steering-loop.md +0 -72
  145. package/docs/tech-debt-tracker.md +0 -26
  146. package/docs/templates/memory/activeContext.template.md +0 -30
  147. package/docs/templates/memory/projectContext.template.md +0 -36
  148. package/docs/templates/memory/systemPatterns.template.md +0 -26
  149. package/scripts/check-gitignore.sh +0 -130
  150. package/scripts/clean-system-files.sh +0 -169
  151. package/scripts/harness/hook-post-edit.sh +0 -40
  152. package/scripts/harness/hook-stop.sh +0 -70
  153. package/scripts/harness/hook-subagent-stop.sh +0 -54
  154. package/scripts/harness/lint-delegation.sh +0 -168
  155. package/scripts/harness/lint-docs.sh +0 -121
  156. package/scripts/harness/lint-process.sh +0 -221
  157. package/scripts/harness/lint-structure.sh +0 -145
  158. package/scripts/harness/lint-workflow-artifacts.sh +0 -150
  159. package/scripts/harness/run-all.sh +0 -77
  160. package/scripts/harness/workflow-state.sh +0 -397
  161. package/scripts/update-skills.sh +0 -187
  162. package/skills/max/workflow/brainstorming/SKILL.md +0 -111
  163. package/skills/max/workflow/documentation/SKILL.md +0 -82
  164. package/skills/max/workflow/requirement-validation/SKILL.md +0 -107
  165. package/skills/max/workflow/solution-design/SKILL.md +0 -117
  166. package/skills/max/workflow/testing/SKILL.md +0 -118
  167. /package/skills/{ella/angular-architect → angular-architect}/SKILL.md +0 -0
  168. /package/skills/{ella/angular-architect → angular-architect}/references/components.md +0 -0
  169. /package/skills/{ella/angular-architect → angular-architect}/references/ngrx.md +0 -0
  170. /package/skills/{ella/angular-architect → angular-architect}/references/routing.md +0 -0
  171. /package/skills/{ella/angular-architect → angular-architect}/references/rxjs.md +0 -0
  172. /package/skills/{ella/angular-architect → angular-architect}/references/testing.md +0 -0
  173. /package/skills/{jarvis/api-designer → api-designer}/SKILL.md +0 -0
  174. /package/skills/{jarvis/api-designer → api-designer}/references/error-handling.md +0 -0
  175. /package/skills/{jarvis/api-designer → api-designer}/references/openapi.md +0 -0
  176. /package/skills/{jarvis/api-designer → api-designer}/references/pagination.md +0 -0
  177. /package/skills/{jarvis/api-designer → api-designer}/references/rest-patterns.md +0 -0
  178. /package/skills/{jarvis/api-designer → api-designer}/references/versioning.md +0 -0
  179. /package/skills/{jarvis/architecture-designer → architecture-designer}/SKILL.md +0 -0
  180. /package/skills/{jarvis/architecture-designer → architecture-designer}/references/adr-template.md +0 -0
  181. /package/skills/{jarvis/architecture-designer → architecture-designer}/references/architecture-patterns.md +0 -0
  182. /package/skills/{jarvis/architecture-designer → architecture-designer}/references/database-selection.md +0 -0
  183. /package/skills/{jarvis/architecture-designer → architecture-designer}/references/nfr-checklist.md +0 -0
  184. /package/skills/{jarvis/architecture-designer → architecture-designer}/references/system-design.md +0 -0
  185. /package/skills/{kyle/chaos-engineer → chaos-engineer}/SKILL.md +0 -0
  186. /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/chaos-tools.md +0 -0
  187. /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/experiment-design.md +0 -0
  188. /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/game-days.md +0 -0
  189. /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/infrastructure-chaos.md +0 -0
  190. /package/skills/{kyle/chaos-engineer → chaos-engineer}/references/kubernetes-chaos.md +0 -0
  191. /package/skills/{jarvis/cli-developer → cli-developer}/SKILL.md +0 -0
  192. /package/skills/{jarvis/cli-developer → cli-developer}/references/design-patterns.md +0 -0
  193. /package/skills/{jarvis/cli-developer → cli-developer}/references/go-cli.md +0 -0
  194. /package/skills/{jarvis/cli-developer → cli-developer}/references/node-cli.md +0 -0
  195. /package/skills/{jarvis/cli-developer → cli-developer}/references/python-cli.md +0 -0
  196. /package/skills/{jarvis/cli-developer → cli-developer}/references/ux-patterns.md +0 -0
  197. /package/skills/{jarvis/cloud-architect → cloud-architect}/SKILL.md +0 -0
  198. /package/skills/{jarvis/cloud-architect → cloud-architect}/references/aws.md +0 -0
  199. /package/skills/{jarvis/cloud-architect → cloud-architect}/references/azure.md +0 -0
  200. /package/skills/{jarvis/cloud-architect → cloud-architect}/references/cost.md +0 -0
  201. /package/skills/{jarvis/cloud-architect → cloud-architect}/references/gcp.md +0 -0
  202. /package/skills/{jarvis/cloud-architect → cloud-architect}/references/multi-cloud.md +0 -0
  203. /package/skills/{jarvis/code-documenter → code-documenter}/SKILL.md +0 -0
  204. /package/skills/{jarvis/code-documenter → code-documenter}/references/api-docs-fastapi-django.md +0 -0
  205. /package/skills/{jarvis/code-documenter → code-documenter}/references/api-docs-nestjs-express.md +0 -0
  206. /package/skills/{jarvis/code-documenter → code-documenter}/references/coverage-reports.md +0 -0
  207. /package/skills/{jarvis/code-documenter → code-documenter}/references/documentation-systems.md +0 -0
  208. /package/skills/{jarvis/code-documenter → code-documenter}/references/interactive-api-docs.md +0 -0
  209. /package/skills/{jarvis/code-documenter → code-documenter}/references/python-docstrings.md +0 -0
  210. /package/skills/{jarvis/code-documenter → code-documenter}/references/typescript-jsdoc.md +0 -0
  211. /package/skills/{jarvis/code-documenter → code-documenter}/references/user-guides-tutorials.md +0 -0
  212. /package/skills/{kyle/code-reviewer → code-reviewer}/SKILL.md +0 -0
  213. /package/skills/{kyle/code-reviewer → code-reviewer}/references/common-issues.md +0 -0
  214. /package/skills/{kyle/code-reviewer → code-reviewer}/references/feedback-examples.md +0 -0
  215. /package/skills/{kyle/code-reviewer → code-reviewer}/references/receiving-feedback.md +0 -0
  216. /package/skills/{kyle/code-reviewer → code-reviewer}/references/report-template.md +0 -0
  217. /package/skills/{kyle/code-reviewer → code-reviewer}/references/review-checklist.md +0 -0
  218. /package/skills/{kyle/code-reviewer → code-reviewer}/references/spec-compliance-review.md +0 -0
  219. /package/skills/{max/competitive-analysis → competitive-analysis}/SKILL.md +0 -0
  220. /package/skills/{jarvis/cpp-pro → cpp-pro}/SKILL.md +0 -0
  221. /package/skills/{jarvis/cpp-pro → cpp-pro}/references/build-tooling.md +0 -0
  222. /package/skills/{jarvis/cpp-pro → cpp-pro}/references/concurrency.md +0 -0
  223. /package/skills/{jarvis/cpp-pro → cpp-pro}/references/memory-performance.md +0 -0
  224. /package/skills/{jarvis/cpp-pro → cpp-pro}/references/modern-cpp.md +0 -0
  225. /package/skills/{jarvis/cpp-pro → cpp-pro}/references/templates.md +0 -0
  226. /package/skills/{jarvis/csharp-developer → csharp-developer}/SKILL.md +0 -0
  227. /package/skills/{jarvis/csharp-developer → csharp-developer}/references/aspnet-core.md +0 -0
  228. /package/skills/{jarvis/csharp-developer → csharp-developer}/references/blazor.md +0 -0
  229. /package/skills/{jarvis/csharp-developer → csharp-developer}/references/entity-framework.md +0 -0
  230. /package/skills/{jarvis/csharp-developer → csharp-developer}/references/modern-csharp.md +0 -0
  231. /package/skills/{jarvis/csharp-developer → csharp-developer}/references/performance.md +0 -0
  232. /package/skills/{jarvis/database-optimizer → database-optimizer}/SKILL.md +0 -0
  233. /package/skills/{jarvis/database-optimizer → database-optimizer}/references/index-strategies.md +0 -0
  234. /package/skills/{jarvis/database-optimizer → database-optimizer}/references/monitoring-analysis.md +0 -0
  235. /package/skills/{jarvis/database-optimizer → database-optimizer}/references/mysql-tuning.md +0 -0
  236. /package/skills/{jarvis/database-optimizer → database-optimizer}/references/postgresql-tuning.md +0 -0
  237. /package/skills/{jarvis/database-optimizer → database-optimizer}/references/query-optimization.md +0 -0
  238. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/SKILL.md +0 -0
  239. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/common-patterns.md +0 -0
  240. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/debugging-tools.md +0 -0
  241. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/quick-fixes.md +0 -0
  242. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/strategies.md +0 -0
  243. /package/skills/{jarvis/debugging-wizard → debugging-wizard}/references/systematic-debugging.md +0 -0
  244. /package/skills/{ella/commands → design-commands}/design.md +0 -0
  245. /package/skills/{ella/commands → design-commands}/handoff.md +0 -0
  246. /package/skills/{ella/commands → design-commands}/prototype.md +0 -0
  247. /package/skills/{ella/commands → design-commands}/spec.md +0 -0
  248. /package/skills/{ella/commands → design-commands}/style.md +0 -0
  249. /package/skills/{jarvis/devops-engineer → devops-engineer}/SKILL.md +0 -0
  250. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/deployment-strategies.md +0 -0
  251. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/docker-patterns.md +0 -0
  252. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/github-actions.md +0 -0
  253. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/incident-response.md +0 -0
  254. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/kubernetes.md +0 -0
  255. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/platform-engineering.md +0 -0
  256. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/release-automation.md +0 -0
  257. /package/skills/{jarvis/devops-engineer → devops-engineer}/references/terraform-iac.md +0 -0
  258. /package/skills/{jarvis/django-expert → django-expert}/SKILL.md +0 -0
  259. /package/skills/{jarvis/django-expert → django-expert}/references/authentication.md +0 -0
  260. /package/skills/{jarvis/django-expert → django-expert}/references/drf-serializers.md +0 -0
  261. /package/skills/{jarvis/django-expert → django-expert}/references/models-orm.md +0 -0
  262. /package/skills/{jarvis/django-expert → django-expert}/references/testing-django.md +0 -0
  263. /package/skills/{jarvis/django-expert → django-expert}/references/viewsets-views.md +0 -0
  264. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/SKILL.md +0 -0
  265. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/authentication.md +0 -0
  266. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/clean-architecture.md +0 -0
  267. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/cloud-native.md +0 -0
  268. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/entity-framework.md +0 -0
  269. /package/skills/{jarvis/dotnet-core-expert → dotnet-core-expert}/references/minimal-apis.md +0 -0
  270. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/SKILL.md +0 -0
  271. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/async-sqlalchemy.md +0 -0
  272. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/authentication.md +0 -0
  273. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/endpoints-routing.md +0 -0
  274. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/migration-from-django.md +0 -0
  275. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/pydantic-v2.md +0 -0
  276. /package/skills/{jarvis/fastapi-expert → fastapi-expert}/references/testing-async.md +0 -0
  277. /package/skills/{jarvis/feature-forge → feature-forge}/SKILL.md +0 -0
  278. /package/skills/{jarvis/feature-forge → feature-forge}/references/acceptance-criteria.md +0 -0
  279. /package/skills/{jarvis/feature-forge → feature-forge}/references/ears-syntax.md +0 -0
  280. /package/skills/{jarvis/feature-forge → feature-forge}/references/interview-questions.md +0 -0
  281. /package/skills/{jarvis/feature-forge → feature-forge}/references/pre-discovery-subagents.md +0 -0
  282. /package/skills/{jarvis/feature-forge → feature-forge}/references/specification-template.md +0 -0
  283. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/SKILL.md +0 -0
  284. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/dataset-preparation.md +0 -0
  285. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/deployment-optimization.md +0 -0
  286. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/evaluation-metrics.md +0 -0
  287. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/hyperparameter-tuning.md +0 -0
  288. /package/skills/{jarvis/fine-tuning-expert → fine-tuning-expert}/references/lora-peft.md +0 -0
  289. /package/skills/{max/workflow/finishing-a-development-branch → finishing-a-development-branch}/SKILL.md +0 -0
  290. /package/skills/{ella/flutter-expert → flutter-expert}/SKILL.md +0 -0
  291. /package/skills/{ella/flutter-expert → flutter-expert}/references/bloc-state.md +0 -0
  292. /package/skills/{ella/flutter-expert → flutter-expert}/references/gorouter-navigation.md +0 -0
  293. /package/skills/{ella/flutter-expert → flutter-expert}/references/performance.md +0 -0
  294. /package/skills/{ella/flutter-expert → flutter-expert}/references/project-structure.md +0 -0
  295. /package/skills/{ella/flutter-expert → flutter-expert}/references/riverpod-state.md +0 -0
  296. /package/skills/{ella/flutter-expert → flutter-expert}/references/widget-patterns.md +0 -0
  297. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/SKILL.md +0 -0
  298. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/api-design-standards.md +0 -0
  299. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/architecture-decisions.md +0 -0
  300. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/backend-patterns.md +0 -0
  301. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/common-patterns.md +0 -0
  302. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/deliverables-checklist.md +0 -0
  303. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/design-template.md +0 -0
  304. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/error-handling.md +0 -0
  305. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/frontend-patterns.md +0 -0
  306. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/integration-patterns.md +0 -0
  307. /package/skills/{jarvis/fullstack-guardian → fullstack-guardian}/references/security-checklist.md +0 -0
  308. /package/skills/{jarvis/golang-pro → golang-pro}/SKILL.md +0 -0
  309. /package/skills/{jarvis/golang-pro → golang-pro}/references/concurrency.md +0 -0
  310. /package/skills/{jarvis/golang-pro → golang-pro}/references/generics.md +0 -0
  311. /package/skills/{jarvis/golang-pro → golang-pro}/references/interfaces.md +0 -0
  312. /package/skills/{jarvis/golang-pro → golang-pro}/references/project-structure.md +0 -0
  313. /package/skills/{jarvis/golang-pro → golang-pro}/references/testing.md +0 -0
  314. /package/skills/{jarvis/graphql-architect → graphql-architect}/SKILL.md +0 -0
  315. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/federation.md +0 -0
  316. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/migration-from-rest.md +0 -0
  317. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/resolvers.md +0 -0
  318. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/schema-design.md +0 -0
  319. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/security.md +0 -0
  320. /package/skills/{jarvis/graphql-architect → graphql-architect}/references/subscriptions.md +0 -0
  321. /package/skills/{jarvis/java-architect → java-architect}/SKILL.md +0 -0
  322. /package/skills/{jarvis/java-architect → java-architect}/references/jpa-optimization.md +0 -0
  323. /package/skills/{jarvis/java-architect → java-architect}/references/reactive-webflux.md +0 -0
  324. /package/skills/{jarvis/java-architect → java-architect}/references/spring-boot-setup.md +0 -0
  325. /package/skills/{jarvis/java-architect → java-architect}/references/spring-security.md +0 -0
  326. /package/skills/{jarvis/java-architect → java-architect}/references/testing-patterns.md +0 -0
  327. /package/skills/{jarvis/javascript-pro → javascript-pro}/SKILL.md +0 -0
  328. /package/skills/{jarvis/javascript-pro → javascript-pro}/references/async-patterns.md +0 -0
  329. /package/skills/{jarvis/javascript-pro → javascript-pro}/references/browser-apis.md +0 -0
  330. /package/skills/{jarvis/javascript-pro → javascript-pro}/references/modern-syntax.md +0 -0
  331. /package/skills/{jarvis/javascript-pro → javascript-pro}/references/modules.md +0 -0
  332. /package/skills/{jarvis/javascript-pro → javascript-pro}/references/node-essentials.md +0 -0
  333. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/SKILL.md +0 -0
  334. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/android-compose.md +0 -0
  335. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/coroutines-flow.md +0 -0
  336. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/dsl-idioms.md +0 -0
  337. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/ktor-server.md +0 -0
  338. /package/skills/{jarvis/kotlin-specialist → kotlin-specialist}/references/multiplatform-kmp.md +0 -0
  339. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/SKILL.md +0 -0
  340. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/configuration.md +0 -0
  341. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/cost-optimization.md +0 -0
  342. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/custom-operators.md +0 -0
  343. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/gitops.md +0 -0
  344. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/helm-charts.md +0 -0
  345. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/multi-cluster.md +0 -0
  346. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/networking.md +0 -0
  347. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/service-mesh.md +0 -0
  348. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/storage.md +0 -0
  349. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/troubleshooting.md +0 -0
  350. /package/skills/{jarvis/kubernetes-specialist → kubernetes-specialist}/references/workloads.md +0 -0
  351. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/SKILL.md +0 -0
  352. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/eloquent.md +0 -0
  353. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/livewire.md +0 -0
  354. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/queues.md +0 -0
  355. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/routing.md +0 -0
  356. /package/skills/{jarvis/laravel-specialist → laravel-specialist}/references/testing.md +0 -0
  357. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/SKILL.md +0 -0
  358. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/legacy-testing.md +0 -0
  359. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/migration-strategies.md +0 -0
  360. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/refactoring-patterns.md +0 -0
  361. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/strangler-fig-pattern.md +0 -0
  362. /package/skills/{jarvis/legacy-modernizer → legacy-modernizer}/references/system-assessment.md +0 -0
  363. /package/skills/{jarvis/mcp-developer → mcp-developer}/SKILL.md +0 -0
  364. /package/skills/{jarvis/mcp-developer → mcp-developer}/references/protocol.md +0 -0
  365. /package/skills/{jarvis/mcp-developer → mcp-developer}/references/python-sdk.md +0 -0
  366. /package/skills/{jarvis/mcp-developer → mcp-developer}/references/resources.md +0 -0
  367. /package/skills/{jarvis/mcp-developer → mcp-developer}/references/tools.md +0 -0
  368. /package/skills/{jarvis/mcp-developer → mcp-developer}/references/typescript-sdk.md +0 -0
  369. /package/skills/{max/meeting-notes → meeting-notes}/SKILL.md +0 -0
  370. /package/skills/{jarvis/microservices-architect → microservices-architect}/SKILL.md +0 -0
  371. /package/skills/{jarvis/microservices-architect → microservices-architect}/references/communication.md +0 -0
  372. /package/skills/{jarvis/microservices-architect → microservices-architect}/references/data.md +0 -0
  373. /package/skills/{jarvis/microservices-architect → microservices-architect}/references/decomposition.md +0 -0
  374. /package/skills/{jarvis/microservices-architect → microservices-architect}/references/observability.md +0 -0
  375. /package/skills/{jarvis/microservices-architect → microservices-architect}/references/patterns.md +0 -0
  376. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/SKILL.md +0 -0
  377. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/experiment-tracking.md +0 -0
  378. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/feature-engineering.md +0 -0
  379. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/model-validation.md +0 -0
  380. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/pipeline-orchestration.md +0 -0
  381. /package/skills/{jarvis/ml-pipeline → ml-pipeline}/references/training-pipelines.md +0 -0
  382. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/SKILL.md +0 -0
  383. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/alerting-rules.md +0 -0
  384. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/application-profiling.md +0 -0
  385. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/capacity-planning.md +0 -0
  386. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/dashboards.md +0 -0
  387. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/opentelemetry.md +0 -0
  388. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/performance-testing.md +0 -0
  389. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/prometheus-metrics.md +0 -0
  390. /package/skills/{jarvis/monitoring-expert → monitoring-expert}/references/structured-logging.md +0 -0
  391. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/SKILL.md +0 -0
  392. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/authentication.md +0 -0
  393. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/controllers-routing.md +0 -0
  394. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/dtos-validation.md +0 -0
  395. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/migration-from-express.md +0 -0
  396. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/services-di.md +0 -0
  397. /package/skills/{jarvis/nestjs-expert → nestjs-expert}/references/testing-patterns.md +0 -0
  398. /package/skills/{ella/nextjs-developer → nextjs-developer}/SKILL.md +0 -0
  399. /package/skills/{ella/nextjs-developer → nextjs-developer}/references/app-router.md +0 -0
  400. /package/skills/{ella/nextjs-developer → nextjs-developer}/references/data-fetching.md +0 -0
  401. /package/skills/{ella/nextjs-developer → nextjs-developer}/references/deployment.md +0 -0
  402. /package/skills/{ella/nextjs-developer → nextjs-developer}/references/server-actions.md +0 -0
  403. /package/skills/{ella/nextjs-developer → nextjs-developer}/references/server-components.md +0 -0
  404. /package/skills/{jarvis/pandas-pro → pandas-pro}/SKILL.md +0 -0
  405. /package/skills/{jarvis/pandas-pro → pandas-pro}/references/aggregation-groupby.md +0 -0
  406. /package/skills/{jarvis/pandas-pro → pandas-pro}/references/data-cleaning.md +0 -0
  407. /package/skills/{jarvis/pandas-pro → pandas-pro}/references/dataframe-operations.md +0 -0
  408. /package/skills/{jarvis/pandas-pro → pandas-pro}/references/merging-joining.md +0 -0
  409. /package/skills/{jarvis/pandas-pro → pandas-pro}/references/performance-optimization.md +0 -0
  410. /package/skills/{jarvis/php-pro → php-pro}/SKILL.md +0 -0
  411. /package/skills/{jarvis/php-pro → php-pro}/references/async-patterns.md +0 -0
  412. /package/skills/{jarvis/php-pro → php-pro}/references/laravel-patterns.md +0 -0
  413. /package/skills/{jarvis/php-pro → php-pro}/references/modern-php-features.md +0 -0
  414. /package/skills/{jarvis/php-pro → php-pro}/references/symfony-patterns.md +0 -0
  415. /package/skills/{jarvis/php-pro → php-pro}/references/testing-quality.md +0 -0
  416. /package/skills/{kyle/playwright-expert → playwright-expert}/SKILL.md +0 -0
  417. /package/skills/{kyle/playwright-expert → playwright-expert}/references/api-mocking.md +0 -0
  418. /package/skills/{kyle/playwright-expert → playwright-expert}/references/configuration.md +0 -0
  419. /package/skills/{kyle/playwright-expert → playwright-expert}/references/debugging-flaky.md +0 -0
  420. /package/skills/{kyle/playwright-expert → playwright-expert}/references/page-object-model.md +0 -0
  421. /package/skills/{kyle/playwright-expert → playwright-expert}/references/selectors-locators.md +0 -0
  422. /package/skills/{jarvis/postgres-pro → postgres-pro}/SKILL.md +0 -0
  423. /package/skills/{jarvis/postgres-pro → postgres-pro}/references/extensions.md +0 -0
  424. /package/skills/{jarvis/postgres-pro → postgres-pro}/references/jsonb.md +0 -0
  425. /package/skills/{jarvis/postgres-pro → postgres-pro}/references/maintenance.md +0 -0
  426. /package/skills/{jarvis/postgres-pro → postgres-pro}/references/performance.md +0 -0
  427. /package/skills/{jarvis/postgres-pro → postgres-pro}/references/replication.md +0 -0
  428. /package/skills/{max/prd-template → prd-template}/SKILL.md +0 -0
  429. /package/skills/{jarvis/python-pro → python-pro}/SKILL.md +0 -0
  430. /package/skills/{jarvis/python-pro → python-pro}/references/async-patterns.md +0 -0
  431. /package/skills/{jarvis/python-pro → python-pro}/references/packaging.md +0 -0
  432. /package/skills/{jarvis/python-pro → python-pro}/references/standard-library.md +0 -0
  433. /package/skills/{jarvis/python-pro → python-pro}/references/testing.md +0 -0
  434. /package/skills/{jarvis/python-pro → python-pro}/references/type-system.md +0 -0
  435. /package/skills/{jarvis/rag-architect → rag-architect}/SKILL.md +0 -0
  436. /package/skills/{jarvis/rag-architect → rag-architect}/references/chunking-strategies.md +0 -0
  437. /package/skills/{jarvis/rag-architect → rag-architect}/references/embedding-models.md +0 -0
  438. /package/skills/{jarvis/rag-architect → rag-architect}/references/rag-evaluation.md +0 -0
  439. /package/skills/{jarvis/rag-architect → rag-architect}/references/retrieval-optimization.md +0 -0
  440. /package/skills/{jarvis/rag-architect → rag-architect}/references/vector-databases.md +0 -0
  441. /package/skills/{jarvis/rails-expert → rails-expert}/SKILL.md +0 -0
  442. /package/skills/{jarvis/rails-expert → rails-expert}/references/active-record.md +0 -0
  443. /package/skills/{jarvis/rails-expert → rails-expert}/references/api-development.md +0 -0
  444. /package/skills/{jarvis/rails-expert → rails-expert}/references/background-jobs.md +0 -0
  445. /package/skills/{jarvis/rails-expert → rails-expert}/references/hotwire-turbo.md +0 -0
  446. /package/skills/{jarvis/rails-expert → rails-expert}/references/rspec-testing.md +0 -0
  447. /package/skills/{ella/react-expert → react-expert}/SKILL.md +0 -0
  448. /package/skills/{ella/react-expert → react-expert}/references/hooks-patterns.md +0 -0
  449. /package/skills/{ella/react-expert → react-expert}/references/migration-class-to-modern.md +0 -0
  450. /package/skills/{ella/react-expert → react-expert}/references/performance.md +0 -0
  451. /package/skills/{ella/react-expert → react-expert}/references/react-19-features.md +0 -0
  452. /package/skills/{ella/react-expert → react-expert}/references/server-components.md +0 -0
  453. /package/skills/{ella/react-expert → react-expert}/references/state-management.md +0 -0
  454. /package/skills/{ella/react-expert → react-expert}/references/testing-react.md +0 -0
  455. /package/skills/{ella/react-native-expert → react-native-expert}/SKILL.md +0 -0
  456. /package/skills/{ella/react-native-expert → react-native-expert}/references/expo-router.md +0 -0
  457. /package/skills/{ella/react-native-expert → react-native-expert}/references/list-optimization.md +0 -0
  458. /package/skills/{ella/react-native-expert → react-native-expert}/references/platform-handling.md +0 -0
  459. /package/skills/{ella/react-native-expert → react-native-expert}/references/project-structure.md +0 -0
  460. /package/skills/{ella/react-native-expert → react-native-expert}/references/storage-hooks.md +0 -0
  461. /package/skills/{jarvis/rust-engineer → rust-engineer}/SKILL.md +0 -0
  462. /package/skills/{jarvis/rust-engineer → rust-engineer}/references/async.md +0 -0
  463. /package/skills/{jarvis/rust-engineer → rust-engineer}/references/error-handling.md +0 -0
  464. /package/skills/{jarvis/rust-engineer → rust-engineer}/references/ownership.md +0 -0
  465. /package/skills/{jarvis/rust-engineer → rust-engineer}/references/testing.md +0 -0
  466. /package/skills/{jarvis/rust-engineer → rust-engineer}/references/traits.md +0 -0
  467. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/SKILL.md +0 -0
  468. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/authentication.md +0 -0
  469. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/input-validation.md +0 -0
  470. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/owasp-prevention.md +0 -0
  471. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/security-headers.md +0 -0
  472. /package/skills/{jarvis/secure-code-guardian → secure-code-guardian}/references/xss-csrf.md +0 -0
  473. /package/skills/{kyle/security-reviewer → security-reviewer}/SKILL.md +0 -0
  474. /package/skills/{kyle/security-reviewer → security-reviewer}/references/infrastructure-security.md +0 -0
  475. /package/skills/{kyle/security-reviewer → security-reviewer}/references/penetration-testing.md +0 -0
  476. /package/skills/{kyle/security-reviewer → security-reviewer}/references/report-template.md +0 -0
  477. /package/skills/{kyle/security-reviewer → security-reviewer}/references/sast-tools.md +0 -0
  478. /package/skills/{kyle/security-reviewer → security-reviewer}/references/secret-scanning.md +0 -0
  479. /package/skills/{kyle/security-reviewer → security-reviewer}/references/vulnerability-patterns.md +0 -0
  480. /package/skills/{ella/senior-frontend → senior-frontend}/SKILL.md +0 -0
  481. /package/skills/{ella/senior-frontend → senior-frontend}/references/frontend_best_practices.md +0 -0
  482. /package/skills/{ella/senior-frontend → senior-frontend}/references/nextjs_optimization_guide.md +0 -0
  483. /package/skills/{ella/senior-frontend → senior-frontend}/references/react_patterns.md +0 -0
  484. /package/skills/{ella/senior-frontend → senior-frontend}/scripts/bundle_analyzer.py +0 -0
  485. /package/skills/{ella/senior-frontend → senior-frontend}/scripts/component_generator.py +0 -0
  486. /package/skills/{ella/senior-frontend → senior-frontend}/scripts/frontend_scaffolder.py +0 -0
  487. /package/skills/{kyle/senior-qa → senior-qa}/README.md +0 -0
  488. /package/skills/{kyle/senior-qa → senior-qa}/SKILL.md +0 -0
  489. /package/skills/{kyle/senior-qa → senior-qa}/references/qa_best_practices.md +0 -0
  490. /package/skills/{kyle/senior-qa → senior-qa}/references/test_automation_patterns.md +0 -0
  491. /package/skills/{kyle/senior-qa → senior-qa}/references/testing_strategies.md +0 -0
  492. /package/skills/{kyle/senior-qa → senior-qa}/scripts/coverage_analyzer.py +0 -0
  493. /package/skills/{kyle/senior-qa → senior-qa}/scripts/e2e_test_scaffolder.py +0 -0
  494. /package/skills/{kyle/senior-qa → senior-qa}/scripts/test_suite_generator.py +0 -0
  495. /package/skills/{jarvis/spark-engineer → spark-engineer}/SKILL.md +0 -0
  496. /package/skills/{jarvis/spark-engineer → spark-engineer}/references/partitioning-caching.md +0 -0
  497. /package/skills/{jarvis/spark-engineer → spark-engineer}/references/performance-tuning.md +0 -0
  498. /package/skills/{jarvis/spark-engineer → spark-engineer}/references/rdd-operations.md +0 -0
  499. /package/skills/{jarvis/spark-engineer → spark-engineer}/references/spark-sql-dataframes.md +0 -0
  500. /package/skills/{jarvis/spark-engineer → spark-engineer}/references/streaming-patterns.md +0 -0
  501. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/SKILL.md +0 -0
  502. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/cloud.md +0 -0
  503. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/data.md +0 -0
  504. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/security.md +0 -0
  505. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/testing.md +0 -0
  506. /package/skills/{jarvis/spring-boot-engineer → spring-boot-engineer}/references/web.md +0 -0
  507. /package/skills/{jarvis/sql-pro → sql-pro}/SKILL.md +0 -0
  508. /package/skills/{jarvis/sql-pro → sql-pro}/references/database-design.md +0 -0
  509. /package/skills/{jarvis/sql-pro → sql-pro}/references/dialect-differences.md +0 -0
  510. /package/skills/{jarvis/sql-pro → sql-pro}/references/optimization.md +0 -0
  511. /package/skills/{jarvis/sql-pro → sql-pro}/references/query-patterns.md +0 -0
  512. /package/skills/{jarvis/sql-pro → sql-pro}/references/window-functions.md +0 -0
  513. /package/skills/{jarvis/sre-engineer → sre-engineer}/SKILL.md +0 -0
  514. /package/skills/{jarvis/sre-engineer → sre-engineer}/references/automation-toil.md +0 -0
  515. /package/skills/{jarvis/sre-engineer → sre-engineer}/references/error-budget-policy.md +0 -0
  516. /package/skills/{jarvis/sre-engineer → sre-engineer}/references/incident-chaos.md +0 -0
  517. /package/skills/{jarvis/sre-engineer → sre-engineer}/references/monitoring-alerting.md +0 -0
  518. /package/skills/{jarvis/sre-engineer → sre-engineer}/references/slo-sli-management.md +0 -0
  519. /package/skills/{max/stakeholder-update → stakeholder-update}/SKILL.md +0 -0
  520. /package/skills/{jarvis/swift-expert → swift-expert}/SKILL.md +0 -0
  521. /package/skills/{jarvis/swift-expert → swift-expert}/references/async-concurrency.md +0 -0
  522. /package/skills/{jarvis/swift-expert → swift-expert}/references/memory-performance.md +0 -0
  523. /package/skills/{jarvis/swift-expert → swift-expert}/references/protocol-oriented.md +0 -0
  524. /package/skills/{jarvis/swift-expert → swift-expert}/references/swiftui-patterns.md +0 -0
  525. /package/skills/{jarvis/swift-expert → swift-expert}/references/testing-patterns.md +0 -0
  526. /package/skills/{max/workflow/systematic-debugging → systematic-debugging}/SKILL.md +0 -0
  527. /package/skills/{kyle/tdd-guide → tdd-guide}/HOW_TO_USE.md +0 -0
  528. /package/skills/{kyle/tdd-guide → tdd-guide}/README.md +0 -0
  529. /package/skills/{kyle/tdd-guide → tdd-guide}/SKILL.md +0 -0
  530. /package/skills/{kyle/tdd-guide → tdd-guide}/assets/expected_output.json +0 -0
  531. /package/skills/{kyle/tdd-guide → tdd-guide}/assets/sample_coverage_report.lcov +0 -0
  532. /package/skills/{kyle/tdd-guide → tdd-guide}/assets/sample_input_python.json +0 -0
  533. /package/skills/{kyle/tdd-guide → tdd-guide}/assets/sample_input_typescript.json +0 -0
  534. /package/skills/{kyle/tdd-guide → tdd-guide}/references/ci-integration.md +0 -0
  535. /package/skills/{kyle/tdd-guide → tdd-guide}/references/framework-guide.md +0 -0
  536. /package/skills/{kyle/tdd-guide → tdd-guide}/references/tdd-best-practices.md +0 -0
  537. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/coverage_analyzer.py +0 -0
  538. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/fixture_generator.py +0 -0
  539. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/format_detector.py +0 -0
  540. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/framework_adapter.py +0 -0
  541. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/metrics_calculator.py +0 -0
  542. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/output_formatter.py +0 -0
  543. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/tdd_workflow.py +0 -0
  544. /package/skills/{kyle/tdd-guide → tdd-guide}/scripts/test_generator.py +0 -0
  545. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/SKILL.md +0 -0
  546. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/best-practices.md +0 -0
  547. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/module-patterns.md +0 -0
  548. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/providers.md +0 -0
  549. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/state-management.md +0 -0
  550. /package/skills/{jarvis/terraform-engineer → terraform-engineer}/references/testing.md +0 -0
  551. /package/skills/{kyle/test-master → test-master}/SKILL.md +0 -0
  552. /package/skills/{kyle/test-master → test-master}/references/automation-frameworks.md +0 -0
  553. /package/skills/{kyle/test-master → test-master}/references/e2e-testing.md +0 -0
  554. /package/skills/{kyle/test-master → test-master}/references/integration-testing.md +0 -0
  555. /package/skills/{kyle/test-master → test-master}/references/performance-testing.md +0 -0
  556. /package/skills/{kyle/test-master → test-master}/references/qa-methodology.md +0 -0
  557. /package/skills/{kyle/test-master → test-master}/references/security-testing.md +0 -0
  558. /package/skills/{kyle/test-master → test-master}/references/tdd-iron-laws.md +0 -0
  559. /package/skills/{kyle/test-master → test-master}/references/test-reports.md +0 -0
  560. /package/skills/{kyle/test-master → test-master}/references/testing-anti-patterns.md +0 -0
  561. /package/skills/{kyle/test-master → test-master}/references/unit-testing.md +0 -0
  562. /package/skills/{jarvis/typescript-pro → typescript-pro}/SKILL.md +0 -0
  563. /package/skills/{jarvis/typescript-pro → typescript-pro}/references/advanced-types.md +0 -0
  564. /package/skills/{jarvis/typescript-pro → typescript-pro}/references/configuration.md +0 -0
  565. /package/skills/{jarvis/typescript-pro → typescript-pro}/references/patterns.md +0 -0
  566. /package/skills/{jarvis/typescript-pro → typescript-pro}/references/type-guards.md +0 -0
  567. /package/skills/{jarvis/typescript-pro → typescript-pro}/references/utility-types.md +0 -0
  568. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/SKILL.md +0 -0
  569. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/charts.csv +0 -0
  570. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/colors.csv +0 -0
  571. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/icons.csv +0 -0
  572. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/landing.csv +0 -0
  573. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/products.csv +0 -0
  574. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/react-performance.csv +0 -0
  575. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/astro.csv +0 -0
  576. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/flutter.csv +0 -0
  577. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/html-tailwind.csv +0 -0
  578. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/jetpack-compose.csv +0 -0
  579. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nextjs.csv +0 -0
  580. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxt-ui.csv +0 -0
  581. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/nuxtjs.csv +0 -0
  582. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react-native.csv +0 -0
  583. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/react.csv +0 -0
  584. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/shadcn.csv +0 -0
  585. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/svelte.csv +0 -0
  586. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/swiftui.csv +0 -0
  587. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/stacks/vue.csv +0 -0
  588. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/styles.csv +0 -0
  589. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/typography.csv +0 -0
  590. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/ui-reasoning.csv +0 -0
  591. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/ux-guidelines.csv +0 -0
  592. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/data/web-interface.csv +0 -0
  593. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/core.cpython-39.pyc +0 -0
  594. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/__pycache__/design_system.cpython-39.pyc +0 -0
  595. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/core.py +0 -0
  596. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/design_system.py +0 -0
  597. /package/skills/{ella/ui-ux-pro-max → ui-ux-pro-max}/scripts/search.py +0 -0
  598. /package/skills/{max/user-research-synthesis → user-research-synthesis}/SKILL.md +0 -0
  599. /package/skills/{max/workflow/verification-before-completion → verification-before-completion}/SKILL.md +0 -0
  600. /package/skills/{ella/vue-expert → vue-expert}/SKILL.md +0 -0
  601. /package/skills/{ella/vue-expert → vue-expert}/references/build-tooling.md +0 -0
  602. /package/skills/{ella/vue-expert → vue-expert}/references/components.md +0 -0
  603. /package/skills/{ella/vue-expert → vue-expert}/references/composition-api.md +0 -0
  604. /package/skills/{ella/vue-expert → vue-expert}/references/mobile-hybrid.md +0 -0
  605. /package/skills/{ella/vue-expert → vue-expert}/references/nuxt.md +0 -0
  606. /package/skills/{ella/vue-expert → vue-expert}/references/state-management.md +0 -0
  607. /package/skills/{ella/vue-expert → vue-expert}/references/typescript.md +0 -0
  608. /package/skills/{ella/vue-expert-js → vue-expert-js}/SKILL.md +0 -0
  609. /package/skills/{ella/vue-expert-js → vue-expert-js}/references/component-architecture.md +0 -0
  610. /package/skills/{ella/vue-expert-js → vue-expert-js}/references/composables-patterns.md +0 -0
  611. /package/skills/{ella/vue-expert-js → vue-expert-js}/references/jsdoc-typing.md +0 -0
  612. /package/skills/{ella/vue-expert-js → vue-expert-js}/references/state-management.md +0 -0
  613. /package/skills/{ella/vue-expert-js → vue-expert-js}/references/testing-patterns.md +0 -0
  614. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/SKILL.md +0 -0
  615. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/alternatives.md +0 -0
  616. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/patterns.md +0 -0
  617. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/protocol.md +0 -0
  618. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/scaling.md +0 -0
  619. /package/skills/{jarvis/websocket-engineer → websocket-engineer}/references/security.md +0 -0
@@ -1,101 +1,153 @@
1
1
  /**
2
2
  * 脚手架工具 — 文件复制、配置管理、模板变量替换
3
+ *
4
+ * Phase 4 起本模块由 manifests/install-modules.json 驱动安装内容:
5
+ * - skill 安装不再按三角色,而是按模块(workflow / product / design / engineering / quality)
6
+ * - Claude / Codex 的适配层文件分组独立装
3
7
  */
4
8
 
5
9
  import { existsSync, mkdirSync, readdirSync, statSync, readFileSync, writeFileSync, copyFileSync } from 'node:fs'
6
- import { join, relative, dirname } from 'node:path'
10
+ import { join, dirname } from 'node:path'
7
11
 
8
- // ─── 框架资产清单 ───
9
- // 定义从包根目录复制到用户项目的文件映射
12
+ // ─── 基础文件(必装) ───
10
13
 
11
- /** 基础文件(必装) */
14
+ /** 双端共享的入口与主源文档 */
12
15
  export const BASE_FILES = [
13
16
  'CLAUDE.md',
14
- 'docs/ARCHITECTURE.md',
17
+ 'AGENTS.md',
15
18
  'docs/README.md',
16
19
  'docs/workflow-pipeline.md',
17
- 'docs/dispatch-rules.md',
18
- 'docs/coding-standards.md',
19
20
  'docs/red-flags.md',
20
- 'docs/QUALITY_SCORE.md',
21
- 'docs/tech-debt-tracker.md',
22
- 'docs/steering-loop.md',
21
+ 'docs/rules/README.md',
22
+ 'docs/rules/agents.md',
23
+ 'docs/rules/coding-style.md',
24
+ 'docs/rules/git-workflow.md',
25
+ 'docs/rules/testing.md',
26
+ 'docs/rules/security.md',
27
+ 'docs/rules/performance.md',
28
+ 'docs/rules/hooks.md',
29
+ 'manifests/install-modules.json',
23
30
  ]
24
31
 
25
- /** 基础目录(必装) */
32
+ /** 语言专项规则目录(采用 ECC 原版,按需复制整个目录) */
33
+ export const RULES_LANGUAGE_DIRS = [
34
+ 'docs/rules/cpp',
35
+ 'docs/rules/csharp',
36
+ 'docs/rules/dart',
37
+ 'docs/rules/golang',
38
+ 'docs/rules/java',
39
+ 'docs/rules/kotlin',
40
+ 'docs/rules/perl',
41
+ 'docs/rules/php',
42
+ 'docs/rules/python',
43
+ 'docs/rules/rust',
44
+ 'docs/rules/swift',
45
+ 'docs/rules/typescript',
46
+ 'docs/rules/web',
47
+ ]
48
+
49
+ /** 空目录结构(必装;session/worker 由 session.cjs 按需创建) */
26
50
  export const BASE_DIRS = [
27
51
  'scripts/harness',
28
- '.dev-agents/shared/tasks',
29
- '.dev-agents/shared/designs',
30
- '.dev-agents/shared/reviews',
52
+ 'scripts/hooks',
53
+ 'scripts/orchestration',
54
+ '.orchestration/.logs',
31
55
  'docs/templates',
32
- 'skills/max/workflow/brainstorming',
33
- 'skills/max/workflow/requirement-validation',
34
- 'skills/max/workflow/solution-design',
35
- 'skills/max/workflow/writing-plans',
36
- 'skills/max/workflow/subagent-driven-development',
37
- 'skills/max/workflow/testing',
38
- 'skills/max/workflow/documentation',
39
- 'skills/max/workflow/finishing-a-development-branch',
40
- 'skills/max/workflow/systematic-debugging',
41
- 'skills/max/workflow/verification-before-completion',
42
- 'skills/max/workflow/entropy-management',
43
- 'skills/max/competitive-analysis',
44
- 'skills/max/meeting-notes',
45
- 'skills/max/prd-template',
46
- 'skills/max/stakeholder-update',
47
- 'skills/max/user-research-synthesis',
48
56
  ]
49
57
 
50
- /** Hooks 和通用命令(必装) */
51
- export const HOOKS_FILES = [
58
+ /**
59
+ * Agent 源池目录(开发态分发位置)。
60
+ * init 时按用户选择的 agent 模块从这里复制到 .claude/agents/。
61
+ */
62
+ export const AGENT_SOURCE_DIR = 'agents'
63
+
64
+ /** Claude Code hooks + commands + plugin 元数据 */
65
+ export const CLAUDE_CORE_FILES = [
52
66
  '.claude/hooks.json',
53
67
  '.claude/commands/init-project.md',
54
68
  '.claude/commands/git-commit.md',
55
- '.claude/agents/init-architect.md',
56
- '.claude/agents/get-current-datetime.md',
69
+ '.claude/commands/workflow-start.md',
70
+ '.claude/commands/plan.md',
71
+ '.claude/commands/review.md',
72
+ '.claude/commands/fix-build.md',
73
+ '.claude/commands/tdd.md',
74
+ '.claude-plugin/plugin.json',
57
75
  ]
58
76
 
59
- /** 角色资产(原生子代理:`.claude/agents/{name}.md`) */
60
- export const AGENT_ASSETS = {
61
- jarvis: {
62
- label: '贾维斯 (Jarvis) — 全栈开发工程师',
63
- agents: ['.claude/agents/jarvis.md'],
64
- skills: ['skills/jarvis'],
65
- },
66
- ella: {
67
- label: '艾拉 (Ella) — UI/UX 设计师',
68
- agents: ['.claude/agents/ella.md'],
69
- skills: ['skills/ella'],
70
- },
71
- kyle: {
72
- label: '凯尔 (Kyle) — 质量保证工程师',
73
- agents: ['.claude/agents/kyle.md'],
74
- skills: ['skills/kyle'],
75
- },
77
+ /** Codex 适配层(config + 3 个 Codex 原生 persona TOML + plugin 元数据) */
78
+ export const CODEX_CORE_FILES = [
79
+ '.codex/AGENTS.md',
80
+ '.codex/config.toml',
81
+ '.codex/agents/explorer.toml',
82
+ '.codex/agents/reviewer.toml',
83
+ '.codex/agents/docs-researcher.toml',
84
+ '.codex-plugin/plugin.json',
85
+ ]
86
+
87
+ // ─── Manifest 加载 ───
88
+
89
+ const MANIFEST_PATH = 'manifests/install-modules.json'
90
+
91
+ /**
92
+ * 读取安装清单
93
+ */
94
+ export function loadManifest(pkgRoot) {
95
+ const path = join(pkgRoot, MANIFEST_PATH)
96
+ if (!existsSync(path)) {
97
+ return { version: 0, modules: [] }
98
+ }
99
+ try {
100
+ return JSON.parse(readFileSync(path, 'utf-8'))
101
+ } catch {
102
+ return { version: 0, modules: [] }
103
+ }
76
104
  }
77
105
 
78
- /** 可更新的资产(update 命令使用) */
79
- export const UPDATABLE_DIRS = [
80
- 'scripts/harness',
81
- 'skills/max/workflow',
82
- 'skills/max/competitive-analysis',
83
- 'skills/max/meeting-notes',
84
- 'skills/max/prd-template',
85
- 'skills/max/stakeholder-update',
86
- 'skills/max/user-research-synthesis',
87
- ]
106
+ /**
107
+ * 获取所有 skill 模块
108
+ */
109
+ export function getSkillModules(pkgRoot) {
110
+ return loadManifest(pkgRoot).modules.filter(m => m.kind === 'skills')
111
+ }
88
112
 
89
- export const UPDATABLE_FILES = [
90
- '.claude/hooks.json',
91
- '.claude/agents/jarvis.md',
92
- '.claude/agents/ella.md',
93
- '.claude/agents/kyle.md',
94
- '.claude/commands/init-project.md',
95
- '.claude/commands/git-commit.md',
96
- '.claude/agents/init-architect.md',
97
- '.claude/agents/get-current-datetime.md',
98
- ]
113
+ /**
114
+ * 获取默认安装的 skill 模块 id
115
+ */
116
+ export function getDefaultSkillModuleIds(pkgRoot) {
117
+ return getSkillModules(pkgRoot)
118
+ .filter(m => m.defaultInstall)
119
+ .map(m => m.id)
120
+ }
121
+
122
+ /**
123
+ * 获取所有 agent 模块(仅 Claude target,含按 agents 列表分组的)
124
+ */
125
+ export function getAgentModules(pkgRoot) {
126
+ return loadManifest(pkgRoot).modules.filter(
127
+ m => m.kind === 'agents' && Array.isArray(m.agents)
128
+ )
129
+ }
130
+
131
+ /**
132
+ * 获取默认安装的 agent 模块 id
133
+ */
134
+ export function getDefaultAgentModuleIds(pkgRoot) {
135
+ return getAgentModules(pkgRoot)
136
+ .filter(m => m.defaultInstall)
137
+ .map(m => m.id)
138
+ }
139
+
140
+ /**
141
+ * 列出 agent 源池中所有可用的 agent 名(不含 .md 后缀)
142
+ */
143
+ export function listAvailableAgents(pkgRoot) {
144
+ const dir = join(pkgRoot, AGENT_SOURCE_DIR)
145
+ if (!existsSync(dir)) return []
146
+ return readdirSync(dir)
147
+ .filter(f => f.endsWith('.md'))
148
+ .map(f => f.slice(0, -3))
149
+ .sort()
150
+ }
99
151
 
100
152
  // ─── 文件操作 ───
101
153
 
@@ -114,10 +166,7 @@ export function copyDirRecursive(src, dest, options = {}) {
114
166
  const srcPath = join(src, entry)
115
167
  const destPath = join(dest, entry)
116
168
 
117
- // 跳过 .git、node_modules 等
118
169
  if (entry === '.git' || entry === 'node_modules') continue
119
-
120
- // 自定义过滤
121
170
  if (filter && !filter(srcPath, entry)) continue
122
171
 
123
172
  const stat = statSync(srcPath)
@@ -146,6 +195,13 @@ export function copySingleFile(src, dest, overwrite = false) {
146
195
  return true
147
196
  }
148
197
 
198
+ /**
199
+ * 确保目录存在(空目录也创建)
200
+ */
201
+ function ensureDir(dir) {
202
+ if (!existsSync(dir)) mkdirSync(dir, { recursive: true })
203
+ }
204
+
149
205
  /**
150
206
  * 模板变量替换
151
207
  */
@@ -162,9 +218,6 @@ export function processTemplate(filePath, variables) {
162
218
 
163
219
  const CONFIG_FILE = '.aigroup.json'
164
220
 
165
- /**
166
- * 读取用户项目的 aigroup 配置
167
- */
168
221
  export function readConfig(projectRoot) {
169
222
  const configPath = join(projectRoot, CONFIG_FILE)
170
223
  if (!existsSync(configPath)) return null
@@ -175,9 +228,6 @@ export function readConfig(projectRoot) {
175
228
  }
176
229
  }
177
230
 
178
- /**
179
- * 写入配置
180
- */
181
231
  export function writeConfig(projectRoot, config) {
182
232
  const configPath = join(projectRoot, CONFIG_FILE)
183
233
  writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8')
@@ -187,15 +237,23 @@ export function writeConfig(projectRoot, config) {
187
237
 
188
238
  /**
189
239
  * 执行完整的脚手架安装
190
- * @param {string} pkgRoot - npm 包根目录(模板资产所在)
240
+ *
241
+ * @param {string} pkgRoot - npm 包根目录
191
242
  * @param {string} projectRoot - 用户项目目录
192
243
  * @param {object} options
193
- * @param {string[]} options.agents - 选择的角色 ['jarvis', 'ella', 'kyle']
194
- * @param {boolean} options.overwrite - 是否覆盖已有文件
244
+ * @param {string[]} [options.modules] - 要安装的 skill 模块 id 列表(不传则装所有 defaultInstall)
245
+ * @param {string[]} [options.targets] - 目标 harness ['claude', 'codex'](不传则双端都装)
246
+ * @param {boolean} [options.overwrite] - 是否覆盖已有文件
195
247
  * @returns {{ totalCopied: number, sections: object[] }}
196
248
  */
197
249
  export function scaffold(pkgRoot, projectRoot, options = {}) {
198
- const { agents = ['jarvis', 'ella', 'kyle'], overwrite = false } = options
250
+ const {
251
+ modules = null,
252
+ agentModules = null,
253
+ targets = ['claude', 'codex'],
254
+ overwrite = false,
255
+ } = options
256
+
199
257
  const sections = []
200
258
  let totalCopied = 0
201
259
 
@@ -205,75 +263,188 @@ export function scaffold(pkgRoot, projectRoot, options = {}) {
205
263
  const ok = copySingleFile(join(pkgRoot, file), join(projectRoot, file), overwrite)
206
264
  if (ok) baseCopied++
207
265
  }
208
- sections.push({ name: '基础文件', count: baseCopied })
266
+ sections.push({ name: '基础文件(入口 + 主源文档 + 清单)', count: baseCopied })
209
267
  totalCopied += baseCopied
210
268
 
211
269
  // 2. 基础目录
212
- let dirCopied = 0
213
270
  for (const dir of BASE_DIRS) {
214
- dirCopied += copyDirRecursive(join(pkgRoot, dir), join(projectRoot, dir), { overwrite })
271
+ const src = join(pkgRoot, dir)
272
+ const dest = join(projectRoot, dir)
273
+ if (existsSync(src)) {
274
+ totalCopied += copyDirRecursive(src, dest, { overwrite })
275
+ } else {
276
+ ensureDir(dest)
277
+ }
215
278
  }
216
- sections.push({ name: '工作流技能 + 传感器', count: dirCopied })
217
- totalCopied += dirCopied
279
+ sections.push({ name: '传感器 + 协作产物目录', count: totalCopied - baseCopied })
218
280
 
219
- // 3. Hooks
220
- let hooksCopied = 0
221
- for (const file of HOOKS_FILES) {
222
- const ok = copySingleFile(join(pkgRoot, file), join(projectRoot, file), overwrite)
223
- if (ok) hooksCopied++
281
+ // 2b. 语言专项规则(13 个目录,递归复制)
282
+ let langRulesCopied = 0
283
+ for (const dir of RULES_LANGUAGE_DIRS) {
284
+ langRulesCopied += copyDirRecursive(join(pkgRoot, dir), join(projectRoot, dir), { overwrite })
224
285
  }
225
- sections.push({ name: 'Hooks 配置', count: hooksCopied })
226
- totalCopied += hooksCopied
286
+ sections.push({ name: '语言专项规则(cpp/golang/java/python/rust/ts/...)', count: langRulesCopied })
287
+ totalCopied += langRulesCopied
288
+
289
+ // 3. Claude Code 适配层(commands + hooks + plugin;agent 由独立步骤按选择安装)
290
+ if (targets.includes('claude')) {
291
+ let claudeCopied = 0
292
+ for (const file of CLAUDE_CORE_FILES) {
293
+ const ok = copySingleFile(join(pkgRoot, file), join(projectRoot, file), overwrite)
294
+ if (ok) claudeCopied++
295
+ }
296
+ sections.push({ name: 'Claude Code 核心(commands + hooks + plugin)', count: claudeCopied })
297
+ totalCopied += claudeCopied
298
+
299
+ // 3b. Agent 模块(按用户选择,从 agents/ 源池复制到 .claude/agents/)
300
+ const allAgentModules = getAgentModules(pkgRoot)
301
+ const selectedAgentIds = agentModules || getDefaultAgentModuleIds(pkgRoot)
227
302
 
228
- // 4. 角色资产
229
- for (const agentId of agents) {
230
- const agent = AGENT_ASSETS[agentId]
231
- if (!agent) continue
232
303
  let agentCopied = 0
304
+ const installedAgents = new Set()
305
+ for (const modId of selectedAgentIds) {
306
+ const mod = allAgentModules.find(m => m.id === modId)
307
+ if (!mod || !Array.isArray(mod.agents)) continue
308
+ for (const agentName of mod.agents) {
309
+ if (installedAgents.has(agentName)) continue
310
+ const src = join(pkgRoot, AGENT_SOURCE_DIR, `${agentName}.md`)
311
+ const dest = join(projectRoot, '.claude/agents', `${agentName}.md`)
312
+ const ok = copySingleFile(src, dest, overwrite)
313
+ if (ok) {
314
+ agentCopied++
315
+ installedAgents.add(agentName)
316
+ }
317
+ }
318
+ }
319
+ sections.push({
320
+ name: `Claude agent(${installedAgents.size} 个:${[...installedAgents].slice(0, 5).join(', ')}${installedAgents.size > 5 ? '…' : ''})`,
321
+ count: agentCopied,
322
+ })
323
+ totalCopied += agentCopied
324
+ }
233
325
 
234
- for (const file of agent.agents) {
326
+ // 4. Codex 适配层
327
+ if (targets.includes('codex')) {
328
+ let codexCopied = 0
329
+ for (const file of CODEX_CORE_FILES) {
235
330
  const ok = copySingleFile(join(pkgRoot, file), join(projectRoot, file), overwrite)
236
- if (ok) agentCopied++
237
- }
238
- for (const dir of agent.skills) {
239
- agentCopied += copyDirRecursive(join(pkgRoot, dir), join(projectRoot, dir), { overwrite })
331
+ if (ok) codexCopied++
240
332
  }
333
+ sections.push({ name: 'Codex 适配(config + roles + plugin)', count: codexCopied })
334
+ totalCopied += codexCopied
335
+ }
241
336
 
242
- sections.push({ name: agent.label, count: agentCopied })
243
- totalCopied += agentCopied
337
+ // 5. Skill 模块(manifest 驱动)
338
+ const allSkillModules = getSkillModules(pkgRoot)
339
+ const selectedIds = modules || getDefaultSkillModuleIds(pkgRoot)
340
+
341
+ for (const modId of selectedIds) {
342
+ const mod = allSkillModules.find(m => m.id === modId)
343
+ if (!mod) continue
344
+
345
+ // 过滤:该模块是否适用于任一选中的 target
346
+ const modTargets = mod.targets || ['claude', 'codex']
347
+ if (!modTargets.some(t => targets.includes(t))) continue
348
+
349
+ let modCopied = 0
350
+ for (const path of mod.paths) {
351
+ modCopied += copyDirRecursive(join(pkgRoot, path), join(projectRoot, path), { overwrite })
352
+ }
353
+ sections.push({
354
+ name: `skill 模块: ${modId} — ${mod.description || ''}`,
355
+ count: modCopied,
356
+ })
357
+ totalCopied += modCopied
244
358
  }
245
359
 
246
360
  return { totalCopied, sections }
247
361
  }
248
362
 
249
363
  /**
250
- * 执行增量更新(只更新技能和传感器)
364
+ * 执行增量更新(按配置中的 modules 和 targets 覆盖更新)
251
365
  */
252
366
  export function scaffoldUpdate(pkgRoot, projectRoot) {
253
367
  const sections = []
254
368
  let totalCopied = 0
255
369
 
256
- // 更新目录(覆盖)
257
- for (const dir of UPDATABLE_DIRS) {
258
- const copied = copyDirRecursive(join(pkgRoot, dir), join(projectRoot, dir), { overwrite: true })
259
- totalCopied += copied
370
+ const config = readConfig(projectRoot)
371
+ const modules = config?.modules || getDefaultSkillModuleIds(pkgRoot)
372
+ const targets = config?.targets || ['claude', 'codex']
373
+
374
+ // 传感器
375
+ const sensorCopied = copyDirRecursive(
376
+ join(pkgRoot, 'scripts/harness'),
377
+ join(projectRoot, 'scripts/harness'),
378
+ { overwrite: true }
379
+ )
380
+ sections.push({ name: 'Harness 传感器', count: sensorCopied })
381
+ totalCopied += sensorCopied
382
+
383
+ // Claude adapter(如启用):commands + hooks + plugin + 已选 agent 模块
384
+ if (targets.includes('claude')) {
385
+ let claudeCopied = 0
386
+ for (const file of CLAUDE_CORE_FILES) {
387
+ const ok = copySingleFile(join(pkgRoot, file), join(projectRoot, file), true)
388
+ if (ok) claudeCopied++
389
+ }
390
+ // 已安装的 agent 模块按 config 覆盖更新
391
+ const agentModules = config?.agentModules || getDefaultAgentModuleIds(pkgRoot)
392
+ const allAgentModules = getAgentModules(pkgRoot)
393
+ const installedAgents = new Set()
394
+ for (const modId of agentModules) {
395
+ const mod = allAgentModules.find(m => m.id === modId)
396
+ if (!mod || !Array.isArray(mod.agents)) continue
397
+ for (const agentName of mod.agents) {
398
+ if (installedAgents.has(agentName)) continue
399
+ const src = join(pkgRoot, AGENT_SOURCE_DIR, `${agentName}.md`)
400
+ const dest = join(projectRoot, '.claude/agents', `${agentName}.md`)
401
+ const ok = copySingleFile(src, dest, true)
402
+ if (ok) {
403
+ claudeCopied++
404
+ installedAgents.add(agentName)
405
+ }
406
+ }
407
+ }
408
+ sections.push({ name: `Claude Code 适配层(含 ${installedAgents.size} 个 agent)`, count: claudeCopied })
409
+ totalCopied += claudeCopied
260
410
  }
261
- sections.push({ name: '工作流技能 + 传感器', count: totalCopied })
262
411
 
263
- // 更新命令/子代理文件(覆盖)
264
- let cmdCopied = 0
265
- const config = readConfig(projectRoot)
266
- const agents = config?.agents || ['jarvis', 'ella', 'kyle']
267
- const roleIds = new Set(['jarvis', 'ella', 'kyle'])
268
- for (const file of UPDATABLE_FILES) {
269
- // 角色子代理文件:仅更新用户选中的角色
270
- const m = file.match(/agents\/([\w-]+)\.md$/)
271
- if (m && roleIds.has(m[1]) && !agents.includes(m[1])) continue
412
+ // Codex adapter(如启用)
413
+ if (targets.includes('codex')) {
414
+ let codexCopied = 0
415
+ for (const file of CODEX_CORE_FILES) {
416
+ const ok = copySingleFile(join(pkgRoot, file), join(projectRoot, file), true)
417
+ if (ok) codexCopied++
418
+ }
419
+ sections.push({ name: 'Codex 适配层', count: codexCopied })
420
+ totalCopied += codexCopied
421
+ }
422
+
423
+ // Skill 模块
424
+ const allSkillModules = getSkillModules(pkgRoot)
425
+ for (const modId of modules) {
426
+ const mod = allSkillModules.find(m => m.id === modId)
427
+ if (!mod) continue
428
+ let modCopied = 0
429
+ for (const path of mod.paths) {
430
+ modCopied += copyDirRecursive(
431
+ join(pkgRoot, path),
432
+ join(projectRoot, path),
433
+ { overwrite: true }
434
+ )
435
+ }
436
+ sections.push({ name: `skill 模块: ${modId}`, count: modCopied })
437
+ totalCopied += modCopied
438
+ }
439
+
440
+ // 基础文档与清单(覆盖)
441
+ let docsCopied = 0
442
+ for (const file of BASE_FILES) {
272
443
  const ok = copySingleFile(join(pkgRoot, file), join(projectRoot, file), true)
273
- if (ok) cmdCopied++
444
+ if (ok) docsCopied++
274
445
  }
275
- sections.push({ name: '命令/子代理文件', count: cmdCopied })
276
- totalCopied += cmdCopied
446
+ sections.push({ name: '主源文档 + 清单', count: docsCopied })
447
+ totalCopied += docsCopied
277
448
 
278
449
  return { totalCopied, sections }
279
450
  }
@@ -283,5 +454,5 @@ export function scaffoldUpdate(pkgRoot, projectRoot) {
283
454
  */
284
455
  export function isInitialized(projectRoot) {
285
456
  return existsSync(join(projectRoot, 'CLAUDE.md'))
286
- && existsSync(join(projectRoot, 'scripts/harness/run-all.sh'))
457
+ && existsSync(join(projectRoot, 'scripts/hooks/dispatcher.cjs'))
287
458
  }
package/docs/README.md CHANGED
@@ -1,29 +1,46 @@
1
- # aiGroup 知识库索引
2
-
3
- 本目录是项目的**唯一事实源 (Single Source of Truth)**,所有架构决策、规范、质量标准均版本化存储于此。
4
-
5
- Agent 应按需检索本目录下的文档,而非依赖 CLAUDE.md 中的简短描述。
6
-
7
- ## 文档地图
8
-
9
- | 文档 | 用途 | 更新频率 |
10
- |------|------|---------|
11
- | [ARCHITECTURE.md](ARCHITECTURE.md) | 项目架构总览、目录结构、模块职责 | 架构变更时 |
12
- | [workflow-pipeline.md](workflow-pipeline.md) | 强制工作流管道详细规则 | 流程调整时 |
13
- | [dispatch-rules.md](dispatch-rules.md) | 团队成员派遣规则与上下文传递 | 角色变更时 |
14
- | [coding-standards.md](coding-standards.md) | Git 规范、代码规范、注释规则 | 标准更新时 |
15
- | [red-flags.md](red-flags.md) | Max 必须阻止的危险信号与对应行动 | 发现新模式时 |
16
- | [QUALITY_SCORE.md](QUALITY_SCORE.md) | 各模块质量评分与健康度追踪 | 每次审查后 |
17
- | [tech-debt-tracker.md](tech-debt-tracker.md) | 已知技术债与偿还计划 | 持续更新 |
18
- | [steering-loop.md](steering-loop.md) | Harness 转向循环:问题→编码为规则→自动执行 | 发现重复问题时 |
19
- | [PROJECT_CONTEXT.md](PROJECT_CONTEXT.md) | 项目实例上下文(/init-project 生成) | 项目初始化时 |
20
-
21
- ## 子目录
22
-
23
- - `templates/` — 静态文档模板(PRD / 实现计划 / 代码审查等)
24
-
25
- ## 使用原则
26
-
27
- 1. **渐进式披露** Agent 先读 CLAUDE.md 获取全局地图,按需深入本目录
28
- 2. **仓库即事实** — 所有约束、决策、规范必须存在于仓库文件中,不依赖口头约定
29
- 3. **文档即代码** — 文档与代码同步更新,过期文档由熵管理流程清理
1
+ # aiGroup 知识库索引
2
+
3
+ 本目录是项目的**唯一事实源 (Single Source of Truth)**,所有架构决策、规范均版本化存储于此。
4
+
5
+ Agent 应按需检索本目录下的文档,而非依赖 CLAUDE.md / AGENTS.md 中的简短描述。
6
+
7
+ ## 文档地图
8
+
9
+ ### 强制规则(必读)
10
+
11
+ | 文档 | 主题 |
12
+ |------|------|
13
+ | [rules/README.md](rules/README.md) | Rules 总入口(Rules vs Skills 边界) |
14
+ | [rules/agents.md](rules/agents.md) | Agent 派遣铁律 + 启动协议 + 反模式 |
15
+ | [rules/coding-style.md](rules/coding-style.md) | 编码风格、命名、错误处理、中文注释 |
16
+ | [rules/git-workflow.md](rules/git-workflow.md) | Conventional Commits、Git 安全 |
17
+ | [rules/testing.md](rules/testing.md) | TDD、覆盖率、AAA 模式 |
18
+ | [rules/security.md](rules/security.md) | 安全清单、密钥管理、OWASP |
19
+ | [rules/performance.md](rules/performance.md) | MCP / tool 预算、上下文卫生 |
20
+ | [rules/hooks.md](rules/hooks.md) | Hooks 使用(Claude 自动 / Codex 手动) |
21
+
22
+ ### 派遣与流程
23
+
24
+ | 文档 | 用途 |
25
+ |------|------|
26
+ | [rules/agents.md](rules/agents.md) | **Agent 派遣完整矩阵**(agent 模块分组、handoff 内容、反模式) |
27
+ | [workflow-pipeline.md](workflow-pipeline.md) | 工作流 phase 心智模型(按需裁剪) |
28
+
29
+ ### 治理
30
+
31
+ | 文档 | 用途 |
32
+ |------|------|
33
+ | [red-flags.md](red-flags.md) | 主会话必须阻止的危险信号与对应行动 |
34
+ | [PROJECT_CONTEXT.md](PROJECT_CONTEXT.md) | 项目实例上下文(/init-project 生成) |
35
+
36
+ ## 子目录
37
+
38
+ - `rules/` — 强制规则集(按领域切分)
39
+ - `templates/` — 静态文档模板(PRD / 实现计划 / 代码审查等)
40
+
41
+ ## 使用原则
42
+
43
+ 1. **渐进式披露** — Agent 先读 CLAUDE.md / AGENTS.md 获取全局地图,按需深入本目录
44
+ 2. **仓库即事实** — 所有约束、决策、规范必须存在于仓库文件中,不依赖口头约定
45
+ 3. **Rules vs Skills** — Rules 决定**必须做什么**;Skills 决定**怎么做**
46
+ 4. **文档即代码** — 文档与代码同步更新
package/docs/red-flags.md CHANGED
@@ -1,24 +1,29 @@
1
- # 危险信号检测(Red Flags)
2
-
3
- Max 在工作流中必须持续监测以下危险信号。检测到任何一个时,**立即阻止并采取对应行动**。
4
-
5
- ## 信号清单
6
-
7
- | # | 危险信号 | 行动 | 严重度 |
8
- |---|---------|------|--------|
9
- | 1 | 需求不清就开始编码 | 停下来,启动 brainstorming | 🔴 高 |
10
- | 2 | 没有实现计划就开始开发 | 停下来,先写 writing-plans | 🔴 高 |
11
- | 3 | Jarvis 说"搞定了"但没有验证证据 | 要求运行测试并展示输出 | 🔴 |
12
- | 4 | Kyle 审查只做了一个阶段 | 要求完成两阶段审查 | 🟡 中 |
13
- | 5 | 审查发现问题但直接跳过 | 要求 Jarvis 修复后重新审查 | 🔴 高 |
14
- | 6 | 有人想跳过工作流环节 | 拒绝,除非符合简单任务豁免 | 🔴 高 |
15
- | 7 | 使用"应该没问题""看起来对了" | 要求提供验证命令和输出证据 | 🟡 |
16
- | 8 | 同一类错误反复出现 | 运行 `bash scripts/harness/logs-query.sh --hotspots --days 30` 查看高频失败项,再触发 [转向循环](steering-loop.md) | 🟡 中 |
17
- | 9 | 文档与代码不一致 | 触发 [熵管理](../skills/max/workflow/entropy-management/SKILL.md),修复漂移 | 🟡 |
18
- | 10 | Harness 传感器长期无告警 | 审查传感器有效性,可能检测不足 | 🟡 |
19
-
20
- ## 升级机制
21
-
22
- - 🔴 高:立即中断当前流程,回到正确阶段
23
- - 🟡 中:在当前阶段结束前处理
24
- - 信号 #8 是 Harness Engineering 的核心:**重复问题不应靠人工反复修正,而应编码为自动化约束**
1
+ # 危险信号检测(Red Flags)
2
+
3
+ 主会话必须持续监测以下危险信号。检测到任何一个时,**立即阻止并采取对应行动**。
4
+
5
+ **适用范围**:
6
+ - **始终生效**:信号 #3、#5、#7、#8、#9、#10、#11 —— 与运行模式无关
7
+ - **仅工作流模式生效**:信号 #1、#2、#4、#6 —— 默认模式下用户未启动管道,这些不触发
8
+
9
+ ## 信号清单
10
+
11
+ | # | 危险信号 | 行动 | 严重度 | 适用 |
12
+ |---|---------|------|--------|------|
13
+ | 1 | 需求不清就开始编码 | 停下来,建议用户 `/workflow-start` 启动 brainstorming | 🔴 高 | 工作流模式 |
14
+ | 2 | 没有实现计划就开始开发 | 停下来,先写 writing-plans | 🔴 高 | 工作流模式 |
15
+ | 3 | 实现 agent 说"搞定了"但没有验证证据 | 要求运行测试并展示输出 | 🔴 | 始终 |
16
+ | 4 | code-reviewer 审查只做了一个阶段 | 要求完成两阶段审查 | 🟡 中 | 工作流模式 |
17
+ | 5 | 审查发现问题但直接跳过 | 要求对应实现 agent 修复后重新审查 | 🔴 | 始终 |
18
+ | 6 | 工作流中有人想跳过关键 phase | 说清楚跳过的理由,让用户确认(phase 按需裁剪,但不能无声跳过) | 🔴 | 工作流模式 |
19
+ | 7 | 使用"应该没问题""看起来对了" | 要求提供验证命令和输出证据 | 🟡 中 | 始终 |
20
+ | 8 | 同一类错误反复出现 | 运行 `bash scripts/harness/logs-query.sh --hotspots --days 30` 查看高频失败项 | 🟡 中 | 始终 |
21
+ | 9 | 文档与代码不一致 | 触发 [熵管理](../skills/entropy-management/SKILL.md),修复漂移 | 🟡 中 | 始终 |
22
+ | 10 | Harness 传感器长期无告警 | 审查传感器有效性,可能检测不足 | 🟡 中 | 始终 |
23
+ | 11 | 主会话直接写代码/做设计/做测试 | 立即停下,按任务类型派遣专项 agent 执行 | 🔴 高 | 始终 |
24
+
25
+ ## 升级机制
26
+
27
+ - 🔴 高:立即中断当前流程,回到正确阶段
28
+ - 🟡 中:在当前阶段结束前处理
29
+ - 信号 #8 是 Harness Engineering 的核心:**重复问题不应靠人工反复修正,而应编码为自动化约束**