@planu/cli 0.31.0 → 0.33.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 (122) hide show
  1. package/dist/config/license-plans.json +4 -1
  2. package/dist/config/team-templates.json +39 -0
  3. package/dist/engine/license-validator/core.d.ts.map +1 -1
  4. package/dist/engine/license-validator/core.js +7 -4
  5. package/dist/engine/license-validator/core.js.map +1 -1
  6. package/dist/engine/spec-templates/fintech-compliance.d.ts +4 -0
  7. package/dist/engine/spec-templates/fintech-compliance.d.ts.map +1 -0
  8. package/dist/engine/spec-templates/fintech-compliance.js +111 -0
  9. package/dist/engine/spec-templates/fintech-compliance.js.map +1 -0
  10. package/dist/engine/spec-templates/fintech-kyc.d.ts +4 -0
  11. package/dist/engine/spec-templates/fintech-kyc.d.ts.map +1 -0
  12. package/dist/engine/spec-templates/fintech-kyc.js +125 -0
  13. package/dist/engine/spec-templates/fintech-kyc.js.map +1 -0
  14. package/dist/engine/spec-templates/fintech-transactions.d.ts +4 -0
  15. package/dist/engine/spec-templates/fintech-transactions.d.ts.map +1 -0
  16. package/dist/engine/spec-templates/fintech-transactions.js +120 -0
  17. package/dist/engine/spec-templates/fintech-transactions.js.map +1 -0
  18. package/dist/engine/spec-templates/templates-industry-fintech.d.ts +3 -7
  19. package/dist/engine/spec-templates/templates-industry-fintech.d.ts.map +1 -1
  20. package/dist/engine/spec-templates/templates-industry-fintech.js +4 -348
  21. package/dist/engine/spec-templates/templates-industry-fintech.js.map +1 -1
  22. package/dist/engine/team-planner/distribution-planner.d.ts +7 -0
  23. package/dist/engine/team-planner/distribution-planner.d.ts.map +1 -0
  24. package/dist/engine/team-planner/distribution-planner.js +78 -0
  25. package/dist/engine/team-planner/distribution-planner.js.map +1 -0
  26. package/dist/engine/team-planner/index.d.ts +4 -0
  27. package/dist/engine/team-planner/index.d.ts.map +1 -0
  28. package/dist/engine/team-planner/index.js +5 -0
  29. package/dist/engine/team-planner/index.js.map +1 -0
  30. package/dist/engine/team-planner/prompt-builder.d.ts +7 -0
  31. package/dist/engine/team-planner/prompt-builder.d.ts.map +1 -0
  32. package/dist/engine/team-planner/prompt-builder.js +79 -0
  33. package/dist/engine/team-planner/prompt-builder.js.map +1 -0
  34. package/dist/engine/team-planner/result-validator.d.ts +7 -0
  35. package/dist/engine/team-planner/result-validator.d.ts.map +1 -0
  36. package/dist/engine/team-planner/result-validator.js +51 -0
  37. package/dist/engine/team-planner/result-validator.js.map +1 -0
  38. package/dist/index.js +2 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/tools/create-spec/post-creation.d.ts +3 -1
  41. package/dist/tools/create-spec/post-creation.d.ts.map +1 -1
  42. package/dist/tools/create-spec/post-creation.js +37 -1
  43. package/dist/tools/create-spec/post-creation.js.map +1 -1
  44. package/dist/tools/create-spec.d.ts.map +1 -1
  45. package/dist/tools/create-spec.js +6 -1
  46. package/dist/tools/create-spec.js.map +1 -1
  47. package/dist/tools/generate-teammate-prompt.d.ts +17 -0
  48. package/dist/tools/generate-teammate-prompt.d.ts.map +1 -0
  49. package/dist/tools/generate-teammate-prompt.js +86 -0
  50. package/dist/tools/generate-teammate-prompt.js.map +1 -0
  51. package/dist/tools/git/hook-ops.d.ts.map +1 -1
  52. package/dist/tools/git/hook-ops.js +10 -1
  53. package/dist/tools/git/hook-ops.js.map +1 -1
  54. package/dist/tools/init-project/handler.d.ts.map +1 -1
  55. package/dist/tools/init-project/handler.js +71 -1
  56. package/dist/tools/init-project/handler.js.map +1 -1
  57. package/dist/tools/init-project/helpers.d.ts +2 -2
  58. package/dist/tools/init-project/helpers.d.ts.map +1 -1
  59. package/dist/tools/init-project/helpers.js +3 -11
  60. package/dist/tools/init-project/helpers.js.map +1 -1
  61. package/dist/tools/init-project/result-builder.d.ts.map +1 -1
  62. package/dist/tools/init-project/result-builder.js +6 -0
  63. package/dist/tools/init-project/result-builder.js.map +1 -1
  64. package/dist/tools/list-specs.d.ts.map +1 -1
  65. package/dist/tools/list-specs.js +16 -0
  66. package/dist/tools/list-specs.js.map +1 -1
  67. package/dist/tools/plan-team-distribution.d.ts +9 -0
  68. package/dist/tools/plan-team-distribution.d.ts.map +1 -0
  69. package/dist/tools/plan-team-distribution.js +138 -0
  70. package/dist/tools/plan-team-distribution.js.map +1 -0
  71. package/dist/tools/register-team-tools.d.ts +3 -0
  72. package/dist/tools/register-team-tools.d.ts.map +1 -0
  73. package/dist/tools/register-team-tools.js +47 -0
  74. package/dist/tools/register-team-tools.js.map +1 -0
  75. package/dist/tools/update-status.d.ts.map +1 -1
  76. package/dist/tools/update-status.js +71 -3
  77. package/dist/tools/update-status.js.map +1 -1
  78. package/dist/tools/validate-team-results.d.ts +9 -0
  79. package/dist/tools/validate-team-results.d.ts.map +1 -0
  80. package/dist/tools/validate-team-results.js +82 -0
  81. package/dist/tools/validate-team-results.js.map +1 -0
  82. package/dist/types/index.d.ts +1 -0
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/types/index.js +1 -0
  85. package/dist/types/index.js.map +1 -1
  86. package/dist/types/project/agent.d.ts +12 -0
  87. package/dist/types/project/agent.d.ts.map +1 -0
  88. package/dist/types/project/agent.js +3 -0
  89. package/dist/types/project/agent.js.map +1 -0
  90. package/dist/types/project/architecture-detection.d.ts +23 -0
  91. package/dist/types/project/architecture-detection.d.ts.map +1 -0
  92. package/dist/types/project/architecture-detection.js +2 -0
  93. package/dist/types/project/architecture-detection.js.map +1 -0
  94. package/dist/types/project/config-metrics.d.ts +29 -0
  95. package/dist/types/project/config-metrics.d.ts.map +1 -0
  96. package/dist/types/project/config-metrics.js +2 -0
  97. package/dist/types/project/config-metrics.js.map +1 -0
  98. package/dist/types/project/constitution.d.ts +31 -0
  99. package/dist/types/project/constitution.d.ts.map +1 -0
  100. package/dist/types/project/constitution.js +3 -0
  101. package/dist/types/project/constitution.js.map +1 -0
  102. package/dist/types/project/core.d.ts +18 -163
  103. package/dist/types/project/core.d.ts.map +1 -1
  104. package/dist/types/project/core.js +7 -1
  105. package/dist/types/project/core.js.map +1 -1
  106. package/dist/types/project/mfe-detection.d.ts +18 -0
  107. package/dist/types/project/mfe-detection.d.ts.map +1 -0
  108. package/dist/types/project/mfe-detection.js +3 -0
  109. package/dist/types/project/mfe-detection.js.map +1 -0
  110. package/dist/types/project/planu-config.d.ts +59 -0
  111. package/dist/types/project/planu-config.d.ts.map +1 -0
  112. package/dist/types/project/planu-config.js +2 -0
  113. package/dist/types/project/planu-config.js.map +1 -0
  114. package/dist/types/spec/inputs.d.ts +5 -0
  115. package/dist/types/spec/inputs.d.ts.map +1 -1
  116. package/dist/types/team-planner.d.ts +183 -0
  117. package/dist/types/team-planner.d.ts.map +1 -0
  118. package/dist/types/team-planner.js +3 -0
  119. package/dist/types/team-planner.js.map +1 -0
  120. package/package.json +1 -1
  121. package/src/config/license-plans.json +4 -1
  122. package/src/config/team-templates.json +39 -0
package/dist/index.js CHANGED
@@ -45,6 +45,7 @@ import { registerTokenTools } from './tools/register-token-tools.js';
45
45
  import { registerLLMProviderTools } from './tools/register-llm-provider-tools.js';
46
46
  import { registerPluginTools } from './tools/register-plugin-tools.js';
47
47
  import { registerGitHubTools } from './tools/register-github-tools.js';
48
+ import { registerTeamTools } from './tools/register-team-tools.js';
48
49
  import { PLANU_VERSION } from './config/version.js';
49
50
  import { handleActivateLicense } from './tools/activate-license.js';
50
51
  import { GroupManager } from './engine/tool-groups/group-manager.js';
@@ -154,6 +155,7 @@ registerTokenTools(server);
154
155
  registerLLMProviderTools(server);
155
156
  registerPluginTools(server);
156
157
  registerGitHubTools(server);
158
+ registerTeamTools(server);
157
159
  // ---------------------------------------------------------------------------
158
160
  // Start server
159
161
  // ---------------------------------------------------------------------------
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Spec } from '../../types/index.js';
1
+ import type { Spec, PostCreationSuggestion } from '../../types/index.js';
2
2
  /** Auto-setup git branch (non-blocking). Returns branch info or undefined. */
3
3
  export declare function setupGitBranch(projectId: string, specId: string): Promise<{
4
4
  branch: string;
@@ -8,4 +8,6 @@ export declare function setupGitBranch(projectId: string, specId: string): Promi
8
8
  export declare function checkContradictions(projectId: string, specId: string, description: string): Promise<string | undefined>;
9
9
  /** Dispatches the on_spec_created hook event (fire-and-forget). */
10
10
  export declare function fireSpecCreatedHook(projectId: string, spec: Spec): void;
11
+ /** Generates post-creation suggestions based on project state and spec description. Best-effort: never throws. */
12
+ export declare function generatePostCreationSuggestions(projectPath: string, description: string): Promise<PostCreationSuggestion[]>;
11
13
  //# sourceMappingURL=post-creation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-creation.d.ts","sourceRoot":"","sources":["../../../src/tools/create-spec/post-creation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAKjD,8EAA8E;AAC9E,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,CAQxD;AAED,qFAAqF;AACrF,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsB7B;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAUvE"}
1
+ {"version":3,"file":"post-creation.d.ts","sourceRoot":"","sources":["../../../src/tools/create-spec/post-creation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAMzE,8EAA8E;AAC9E,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,CAQxD;AAED,qFAAqF;AACrF,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsB7B;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAUvE;AAUD,kHAAkH;AAClH,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CA6BnC"}
@@ -1,7 +1,8 @@
1
- // tools/create-spec/post-creation.ts — Git setup + contradiction detection after spec creation.
1
+ // tools/create-spec/post-creation.ts — Git setup + contradiction detection + post-creation suggestions.
2
2
  // Extracted from create-spec.ts to keep file sizes within limits.
3
3
  import { specStore } from '../../storage/index.js';
4
4
  import { detectContradictions } from '../../engine/contradiction-detector.js';
5
+ import { detectCiCd } from '../../engine/detectors/cicd-detector.js';
5
6
  import { tryAutoSetupGit } from '../create-spec-helpers.js';
6
7
  /** Auto-setup git branch (non-blocking). Returns branch info or undefined. */
7
8
  export async function setupGitBranch(projectId, specId) {
@@ -45,4 +46,39 @@ export function fireSpecCreatedHook(projectId, spec) {
45
46
  void dispatchHookEvent(projectId, buildSpecCreatedPayload(projectId, spec.id, spec.title, spec.type));
46
47
  })();
47
48
  }
49
+ // === Template pattern matching ===
50
+ const TEMPLATE_PATTERNS = [
51
+ { pattern: /\b(?:crud|create\s+read\s+update\s+delete|rest\s+api)\b/i, category: 'crud' },
52
+ { pattern: /\b(?:auth|login|signup|authentication)\b/i, category: 'auth' },
53
+ { pattern: /\b(?:payment|checkout|billing|stripe)\b/i, category: 'payments' },
54
+ { pattern: /\b(?:notification|email|push\s+notification)\b/i, category: 'notifications' },
55
+ ];
56
+ /** Generates post-creation suggestions based on project state and spec description. Best-effort: never throws. */
57
+ export async function generatePostCreationSuggestions(projectPath, description) {
58
+ const suggestions = [];
59
+ // Item 1: Suggest generate_ci when no CI detected
60
+ try {
61
+ const ciResult = await detectCiCd(projectPath);
62
+ if (ciResult.platform === null) {
63
+ suggestions.push({
64
+ tool: 'generate_planu_ci',
65
+ reason: 'No CI/CD configuration detected. Run generate_planu_ci to set up automated testing and deployment.',
66
+ });
67
+ }
68
+ }
69
+ catch {
70
+ // Best-effort: if detection fails, skip suggestion
71
+ }
72
+ // Item 2: Suggest templates when description matches known patterns
73
+ for (const { pattern, category } of TEMPLATE_PATTERNS) {
74
+ if (pattern.test(description)) {
75
+ suggestions.push({
76
+ tool: 'apply_template',
77
+ reason: `Description matches "${category}" pattern. Consider using an ${category} template.`,
78
+ templateCategory: category,
79
+ });
80
+ }
81
+ }
82
+ return suggestions;
83
+ }
48
84
  //# sourceMappingURL=post-creation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-creation.js","sourceRoot":"","sources":["../../../src/tools/create-spec/post-creation.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,kEAAkE;AAGlE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,+CAA+C;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;IACD,oBAAoB;IACpB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,MAAc,EACd,WAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,WAAW;SACrC,CAAC,CAAC,CAAC;QACJ,MAAM,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,qBAAqB,GAAG,cAAc,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAChD,CAAC;QACF,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;QAC/E,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,cAAc,QAAQ,CAAC,MAAM,sFAAsF;YACrH,CAAC,CAAC,aAAa,qBAAqB,CAAC,MAAM,8EAA8E,CAAC;IAC9H,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,IAAU;IAC/D,sDAAsD;IACtD,KAAK,CAAC,KAAK,IAAmB,EAAE;QAC9B,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACjE,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QACnF,KAAK,iBAAiB,CACpB,SAAS,EACT,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CACnE,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"post-creation.js","sourceRoot":"","sources":["../../../src/tools/create-spec/post-creation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-spec.d.ts","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAyBrE,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CA8KnF"}
1
+ {"version":3,"file":"create-spec.d.ts","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA0BrE,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAoLnF"}
@@ -13,7 +13,7 @@ import { generateProgressContent } from '../engine/progress-writer.js';
13
13
  import { generatePerSpecExecutiveReport, generatePerSpecTechnicalReport, } from '../engine/doc-generator/per-spec-report/index.js';
14
14
  import { buildSpecContext, buildSplitResult } from './create-spec/spec-builder.js';
15
15
  import { validateConstitution } from './create-spec/constitution-validator.js';
16
- import { setupGitBranch, checkContradictions, fireSpecCreatedHook, } from './create-spec/post-creation.js';
16
+ import { setupGitBranch, checkContradictions, fireSpecCreatedHook, generatePostCreationSuggestions, } from './create-spec/post-creation.js';
17
17
  export async function handleCreateSpec(params) {
18
18
  const { description, clarificationSessionId } = params;
19
19
  try {
@@ -132,6 +132,11 @@ export async function handleCreateSpec(params) {
132
132
  }
133
133
  // Dispatch hook event (fire-and-forget)
134
134
  fireSpecCreatedHook(projectId, spec);
135
+ // Post-creation suggestions (best-effort, non-blocking)
136
+ const nextSteps = await generatePostCreationSuggestions(params.projectPath, description);
137
+ if (nextSteps.length > 0) {
138
+ result.nextSteps = nextSteps;
139
+ }
135
140
  return {
136
141
  content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
137
142
  };
@@ -1 +1 @@
1
- {"version":3,"file":"create-spec.js","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-spec.js","sourceRoot":"","sources":["../../src/tools/create-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAuB;IAC5D,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,MAAM,CAAC;IAEvD,IAAI,CAAC;QACH,+DAA+D;QAC/D,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxF,CAAC;QAED,MAAM,EACJ,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,SAAS,GACV,GAAG,WAAW,CAAC,OAAO,CAAC;QAExB,mDAAmD;QACnD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,oBAAoB,GAAG,sBAAsB;YACjD,CAAC,CAAC,MAAM,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,sBAAsB,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC;QAET,gCAAgC;QAChC,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvF,IAAI,iBAAiB,CAAC,OAAO,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC;YAC/D,OAAO,iBAAiB,CAAC,WAAW,CAAC;QACvC,CAAC;QAED,wCAAwC;QACxC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,MAAM,YAAY,GAChB,IAAI,CAAC,IAAI,KAAK,OAAO;YACnB,CAAC,CAAC,mBAAmB,CACjB,IAAI,CAAC,KAAK,EACV,WAAW,EACX,SAAS,EACT,SAAS,EAAE,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAClE;YACH,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC;YACrC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC;YACvD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,SAAS,GAAG,SAAS,EAAE,WAAW;YACtC,CAAC,CAAC,MAAM,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,WAAW,GACf,SAAS,EAAE,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACxD,CAAC,CAAC,MAAM,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC;YAC5D,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,SAAS,GACb,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;YAClF,YAAY;YACZ,UAAU,CAAC;QACb,MAAM,mBAAmB,GAAG,2BAA2B,CACrD,IAAI,EACJ,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,SAAS,CACV,CAAC;QAEF,MAAM,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,SAAS,CAAC,aAAa,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAE7D,iCAAiC;QACjC,MAAM,eAAe,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,SAAS,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAExD,iCAAiC;QACjC,MAAM,UAAU,GAAG,8BAA8B,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,8BAA8B,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAC9D,MAAM,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE7D,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;QAC1C,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;QAE1C,0BAA0B;QAC1B,MAAM,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE5C,uCAAuC;QACvC,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAChE,+CAA+C;QAC/C,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC;QACzC,CAAC;QACD,oBAAoB;QAEpB,2CAA2C;QAC3C,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAErF,eAAe;QACf,MAAM,MAAM,GAA4B;YACtC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ;YACR,aAAa;YACb,YAAY;YACZ,mBAAmB,EAAE,cAAc;YACnC,mBAAmB,EAAE,cAAc;YACnC,UAAU,EAAE;gBACV,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;gBAC7C,aAAa,EAAE,UAAU,CAAC,iBAAiB,CAAC,IAAI;aACjD;YACD,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACjE,YAAY,EAAE;gBACZ,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,WAAW,EAAE,eAAe,CAAC,YAAY,CAAC;gBAC1C,iBAAiB,EAAE,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;aACnD;YACD,gBAAgB,EAAE,SAAS;gBACzB,CAAC,CAAC,EAAE,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnE,CAAC,CAAC,SAAS;YACb,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACvC,CAAC,CAAC,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,oBAAoB;gBACtB,CAAC,CAAC;oBACE,0BAA0B,EAAE,oBAAoB,CAAC,EAAE;oBACnD,kBAAkB,EAAE,oBAAoB,CAAC,KAAK;oBAC9C,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,MAAM;iBAC3E;gBACH,CAAC,CAAC;oBACE,iBAAiB,EACf,4FAA4F;iBAC/F,CAAC;YACN,OAAO,EAAE,EAAE,CAAC,2BAA2B,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5E,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,8CAA8C;YAC9C,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC;QAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAClF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC;QACvC,CAAC;QAED,wCAAwC;QACxC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAErC,wDAAwD;QACxD,MAAM,SAAS,GAAG,MAAM,+BAA+B,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YAC1E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { GenerateTeammatePromptInput, ToolResult } from '../types/index.js';
2
+ import { z } from 'zod';
3
+ export declare const generateTeammatePromptSchema: z.ZodObject<{
4
+ projectId: z.ZodString;
5
+ specId: z.ZodString;
6
+ teammateName: z.ZodString;
7
+ assignedFiles: z.ZodArray<z.ZodString>;
8
+ role: z.ZodEnum<{
9
+ planner: "planner";
10
+ implementer: "implementer";
11
+ reviewer: "reviewer";
12
+ tester: "tester";
13
+ researcher: "researcher";
14
+ }>;
15
+ }, z.core.$strip>;
16
+ export declare function handleGenerateTeammatePrompt(params: GenerateTeammatePromptInput): Promise<ToolResult>;
17
+ //# sourceMappingURL=generate-teammate-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-teammate-prompt.d.ts","sourceRoot":"","sources":["../../src/tools/generate-teammate-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;iBAQvC,CAAC;AA0CH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,UAAU,CAAC,CAuCrB"}
@@ -0,0 +1,86 @@
1
+ import { z } from 'zod';
2
+ import { specStore, knowledgeStore } from '../storage/index.js';
3
+ import { buildTeammatePrompt } from '../engine/team-planner/index.js';
4
+ import { readFile } from 'node:fs/promises';
5
+ export const generateTeammatePromptSchema = z.object({
6
+ projectId: z.string().describe('Project identifier'),
7
+ specId: z.string().describe('Spec ID to generate prompt for'),
8
+ teammateName: z.string().describe('Name for the teammate'),
9
+ assignedFiles: z.array(z.string()).describe('Files this teammate owns exclusively'),
10
+ role: z
11
+ .enum(['planner', 'implementer', 'reviewer', 'tester', 'researcher'])
12
+ .describe('Role: planner | implementer | reviewer | tester | researcher'),
13
+ });
14
+ // ---------------------------------------------------------------------------
15
+ // Helpers
16
+ // ---------------------------------------------------------------------------
17
+ function text(content) {
18
+ return { content: [{ type: 'text', text: JSON.stringify(content, null, 2) }] };
19
+ }
20
+ function err(message) {
21
+ return { content: [{ type: 'text', text: message }], isError: true };
22
+ }
23
+ /** Extract acceptance criteria from a spec.md file. */
24
+ async function extractCriteria(specPath) {
25
+ try {
26
+ const content = await readFile(specPath, 'utf-8');
27
+ const criteria = [];
28
+ let inCriteria = false;
29
+ for (const line of content.split('\n')) {
30
+ if (/acceptance\s+criteria/i.test(line) || /criterios?\s+de\s+aceptaci/i.test(line)) {
31
+ inCriteria = true;
32
+ continue;
33
+ }
34
+ if (inCriteria && /^#{1,3}\s/.test(line) && !/acceptance|criterio/i.test(line)) {
35
+ break;
36
+ }
37
+ if (inCriteria && /^\s*[-*]\s*\[.\]/.test(line)) {
38
+ criteria.push(line.replace(/^\s*[-*]\s*\[.\]\s*/, '').trim());
39
+ }
40
+ }
41
+ return criteria;
42
+ }
43
+ catch {
44
+ return [];
45
+ }
46
+ }
47
+ // ---------------------------------------------------------------------------
48
+ // Handler
49
+ // ---------------------------------------------------------------------------
50
+ export async function handleGenerateTeammatePrompt(params) {
51
+ const { projectId, specId, teammateName, assignedFiles, role } = params;
52
+ const spec = await specStore.getSpec(projectId, specId);
53
+ if (!spec) {
54
+ return err(`Spec '${specId}' not found in project '${projectId}'. Check the spec ID.`);
55
+ }
56
+ const knowledge = await knowledgeStore.getKnowledge(projectId);
57
+ const constitution = await knowledgeStore.getConstitution(projectId);
58
+ const criteria = await extractCriteria(spec.specPath);
59
+ const prompt = buildTeammatePrompt({
60
+ projectLanguage: knowledge?.language ?? 'unknown',
61
+ projectFramework: knowledge?.framework ?? null,
62
+ architecture: knowledge?.architecture.primary ?? 'unknown',
63
+ conventions: knowledge?.conventions ?? {},
64
+ specDetails: { id: spec.id, title: spec.title, criteria },
65
+ ownedFiles: assignedFiles,
66
+ forbiddenFiles: [],
67
+ qualityRules: constitution?.principles.map((p) => p.principle) ?? [],
68
+ testingRequirements: [
69
+ `Test runner: ${knowledge?.testCommand ?? 'pnpm test'}`,
70
+ 'Coverage must be >= 95%',
71
+ `Type check: ${knowledge?.buildCommand ?? 'pnpm typecheck'}`,
72
+ ],
73
+ gitConventions: [
74
+ 'Use conventional commits (feat:, fix:, docs:, etc.)',
75
+ `Branch naming: feat/${spec.id}-short-name`,
76
+ 'Never commit directly to main or develop',
77
+ ],
78
+ validationCommands: [
79
+ knowledge?.buildCommand ?? 'pnpm typecheck',
80
+ knowledge?.lintCommand ?? 'pnpm lint',
81
+ knowledge?.testCommand ?? 'pnpm test',
82
+ ],
83
+ });
84
+ return text({ teammateName, role, specId, prompt });
85
+ }
86
+ //# sourceMappingURL=generate-teammate-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-teammate-prompt.js","sourceRoot":"","sources":["../../src/tools/generate-teammate-prompt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hook-ops.d.ts","sourceRoot":"","sources":["../../../src/tools/git/hook-ops.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAe,MAAM,sBAAsB,CAAC;AAoL/E,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAyCjG"}
1
+ {"version":3,"file":"hook-ops.d.ts","sourceRoot":"","sources":["../../../src/tools/git/hook-ops.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAe,MAAM,sBAAsB,CAAC;AA6L/E,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAyCjG"}
@@ -67,7 +67,16 @@ function buildPreCommitScript(requireSpecInCommit, stalenessThreshold, baseBranc
67
67
  ' fi',
68
68
  'fi',
69
69
  ].join('\n')
70
- : '# Branch name validation disabled',
70
+ : '# Spec-based branch validation disabled',
71
+ '',
72
+ '# Validate branch naming convention (non-blocking)',
73
+ 'BRANCH_CONVENTION="^(feat|fix|refactor|infra|docs|project|chore|test|perf|ci|build|style|revert)/"',
74
+ 'if [ "$BRANCH" != "main" ] && [ "$BRANCH" != "master" ] && [ "$BRANCH" != "develop" ]; then',
75
+ ' if ! echo "$BRANCH" | grep -qE "$BRANCH_CONVENTION"; then',
76
+ ' echo "WARNING: Branch \'$BRANCH\' does not follow naming convention."',
77
+ ' echo "Expected: feat/*, fix/*, chore/*, docs/*, refactor/*, test/*, perf/*"',
78
+ ' fi',
79
+ 'fi',
71
80
  '',
72
81
  '# Staleness check',
73
82
  `STALENESS_THRESHOLD=${stalenessThreshold}`,
@@ -1 +1 @@
1
- {"version":3,"file":"hook-ops.js","sourceRoot":"","sources":["../../../src/tools/git/hook-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-ops.js","sourceRoot":"","sources":["../../../src/tools/git/hook-ops.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA+BxF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6LrF"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAkCxF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiQrF"}
@@ -13,8 +13,11 @@ import { fetchRecommendedSkills } from '../suggest-tooling/skills-fetcher.js';
13
13
  import { generateRules, detectAgentPlatformFromFiles } from '../../engine/skill-generator.js';
14
14
  import { createPlanuConfig, serializePlanuConfig } from '../../engine/planu-config-writer.js';
15
15
  import { filterLegacySpecs, migrateSpecs } from '../../engine/spec-migrator.js';
16
- import { writeFile, access, mkdir } from 'node:fs/promises';
16
+ import { readFile, writeFile, access, mkdir } from 'node:fs/promises';
17
17
  import { join, dirname } from 'node:path';
18
+ import { handleSetupHooks } from '../git/hook-ops.js';
19
+ import { detectGitFlowType } from '../git/git-helpers.js';
20
+ import { handleInitConstitution } from '../init-constitution/handler.js';
18
21
  export async function handleInitProject(params) {
19
22
  const { projectPath, locale, hourlyRate, experienceLevel, userProfile } = params;
20
23
  try {
@@ -123,6 +126,69 @@ export async function handleInitProject(params) {
123
126
  additionalFilesWritten.push(file.path);
124
127
  }
125
128
  }
129
+ // SPEC-001: Auto-install git hooks (best-effort)
130
+ let hooksInstalled = [];
131
+ try {
132
+ const hookResult = await handleSetupHooks(projectId);
133
+ if (!hookResult.isError) {
134
+ const hookData = JSON.parse(hookResult.content[0]?.text ?? '{}');
135
+ hooksInstalled = hookData.hooksInstalled ?? [];
136
+ }
137
+ }
138
+ catch {
139
+ // Hooks setup is best-effort — don't fail init_project
140
+ }
141
+ // SPEC-001: Auto-detect branching model (best-effort)
142
+ let gitFlowType = 'unknown';
143
+ try {
144
+ gitFlowType = await detectGitFlowType(projectPath);
145
+ }
146
+ catch {
147
+ // Not a git repo — skip
148
+ }
149
+ // SPEC-001: Auto-configure .gitignore (best-effort)
150
+ const gitignorePath = join(projectPath, '.gitignore');
151
+ let gitignoreUpdated = false;
152
+ try {
153
+ let gitignoreContent = '';
154
+ try {
155
+ gitignoreContent = await readFile(gitignorePath, 'utf-8');
156
+ }
157
+ catch {
158
+ /* file doesn't exist */
159
+ }
160
+ const linesToAdd = [];
161
+ if (!gitignoreContent.includes('data/')) {
162
+ linesToAdd.push('data/');
163
+ }
164
+ if (!gitignoreContent.includes('.claude/')) {
165
+ linesToAdd.push('.claude/');
166
+ }
167
+ if (linesToAdd.length > 0) {
168
+ const separator = gitignoreContent.endsWith('\n') || gitignoreContent === '' ? '' : '\n';
169
+ const addition = `${separator}# Planu data (auto-generated)\n${linesToAdd.join('\n')}\n`;
170
+ await writeFile(gitignorePath, gitignoreContent + addition, 'utf-8');
171
+ gitignoreUpdated = true;
172
+ }
173
+ }
174
+ catch {
175
+ /* best-effort */
176
+ }
177
+ // SPEC-001: Auto-initialize constitution (best-effort)
178
+ let constitutionInitialized = false;
179
+ const existingConstitution = await knowledgeStore.getConstitution(projectId);
180
+ if (!existingConstitution) {
181
+ try {
182
+ const constResult = await handleInitConstitution({
183
+ projectId,
184
+ autoDetect: true,
185
+ });
186
+ constitutionInitialized = !constResult.isError;
187
+ }
188
+ catch {
189
+ /* best-effort */
190
+ }
191
+ }
126
192
  // SPEC-036: Request context when knowledge is incomplete
127
193
  const missingAreas = detectMissingAreas(knowledge);
128
194
  let contextRequestPrompt = null;
@@ -169,6 +235,10 @@ export async function handleInitProject(params) {
169
235
  planuConfigGenerated,
170
236
  planuConfigPath,
171
237
  migrationResult,
238
+ hooksInstalled,
239
+ gitFlowType,
240
+ gitignoreUpdated,
241
+ constitutionInitialized,
172
242
  });
173
243
  }
174
244
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tools/init-project/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/tools/init-project/handler.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ import type { DatabaseEngine, ProjectPrivacyConfig, EnvVariable, BeginnerEnvStep
6
6
  export declare function detectProjectPrivacyConfig(projectPath: string): Promise<ProjectPrivacyConfig>;
7
7
  /**
8
8
  * Generates a `.env.example` file from the detected env variables.
9
- * Only writes the file if it does NOT already exist.
10
- * Returns the number of variables written, or null if file already existed.
9
+ * Always overwrites when env vars are detected to keep it in sync.
10
+ * Returns the number of variables written, or 0 if no variables detected.
11
11
  */
12
12
  export declare function maybeGenerateEnvExample(projectPath: string, variables: EnvVariable[]): Promise<number | null>;
13
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAY9B;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC,CAoB/B;AAID;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,WAAW,EAAE,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkCxB;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CA8BjF;AAED,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,cAAc,GACvB,MAAM,EAAE,CAyBV;AAID;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0C3F;AAID;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,wBAAwB,CAAC,CAoCnC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAY9B;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,CAAC,CAoB/B;AAID;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,WAAW,EAAE,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CA8BjF;AAED,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,cAAc,GACvB,MAAM,EAAE,CAyBV;AAID;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0C3F;AAID;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,wBAAwB,CAAC,CAoCnC"}
@@ -30,22 +30,14 @@ export async function detectProjectPrivacyConfig(projectPath) {
30
30
  // SPEC-025 tech-debt: Auto-generate .env.example -------------------------
31
31
  /**
32
32
  * Generates a `.env.example` file from the detected env variables.
33
- * Only writes the file if it does NOT already exist.
34
- * Returns the number of variables written, or null if file already existed.
33
+ * Always overwrites when env vars are detected to keep it in sync.
34
+ * Returns the number of variables written, or 0 if no variables detected.
35
35
  */
36
36
  export async function maybeGenerateEnvExample(projectPath, variables) {
37
- const envExamplePath = join(projectPath, '.env.example');
38
- // Check if .env.example already exists
39
- try {
40
- await access(envExamplePath);
41
- return null; // already exists — skip
42
- }
43
- catch {
44
- // File does not exist — generate it
45
- }
46
37
  if (variables.length === 0) {
47
38
  return 0;
48
39
  }
40
+ const envExamplePath = join(projectPath, '.env.example');
49
41
  const lines = [
50
42
  '# Auto-generated by Planu init_project',
51
43
  '# Copy this file to .env and fill in your values',
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/tools/init-project/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/tools/init-project/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"result-builder.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/result-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAK/E,YAAY,EAAE,sBAAsB,EAAE,CAAC;AAEvC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,GAAG,UAAU,CA+JhF"}
1
+ {"version":3,"file":"result-builder.d.ts","sourceRoot":"","sources":["../../../src/tools/init-project/result-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAK/E,YAAY,EAAE,sBAAsB,EAAE,CAAC;AAEvC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,GAAG,UAAU,CAqKhF"}
@@ -141,6 +141,12 @@ export function buildInitProjectResult(input) {
141
141
  skillsIncluded: input.recommendedSkills.length,
142
142
  },
143
143
  specMigration: input.migrationResult,
144
+ gitAutomation: {
145
+ hooksInstalled: input.hooksInstalled,
146
+ gitFlowType: input.gitFlowType,
147
+ gitignoreUpdated: input.gitignoreUpdated,
148
+ constitutionInitialized: input.constitutionInitialized,
149
+ },
144
150
  };
145
151
  return {
146
152
  phaseEvent: createBasicPhaseEvent('init_project', 'completed', 100, 'initializing'),