@planu/cli 0.35.2 → 0.36.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 (46) hide show
  1. package/dist/config/license-plans.json +2 -1
  2. package/dist/engine/docs-site-generator/dashboard-renderer.d.ts +3 -0
  3. package/dist/engine/docs-site-generator/dashboard-renderer.d.ts.map +1 -0
  4. package/dist/engine/docs-site-generator/dashboard-renderer.js +84 -0
  5. package/dist/engine/docs-site-generator/dashboard-renderer.js.map +1 -0
  6. package/dist/engine/docs-site-generator/data-collector.d.ts +5 -0
  7. package/dist/engine/docs-site-generator/data-collector.d.ts.map +1 -0
  8. package/dist/engine/docs-site-generator/data-collector.js +300 -0
  9. package/dist/engine/docs-site-generator/data-collector.js.map +1 -0
  10. package/dist/engine/docs-site-generator/diagrams-renderer.d.ts +2 -0
  11. package/dist/engine/docs-site-generator/diagrams-renderer.d.ts.map +1 -0
  12. package/dist/engine/docs-site-generator/diagrams-renderer.js +40 -0
  13. package/dist/engine/docs-site-generator/diagrams-renderer.js.map +1 -0
  14. package/dist/engine/docs-site-generator/html-templates.d.ts +12 -0
  15. package/dist/engine/docs-site-generator/html-templates.d.ts.map +1 -0
  16. package/dist/engine/docs-site-generator/html-templates.js +359 -0
  17. package/dist/engine/docs-site-generator/html-templates.js.map +1 -0
  18. package/dist/engine/docs-site-generator/index.d.ts +3 -0
  19. package/dist/engine/docs-site-generator/index.d.ts.map +1 -0
  20. package/dist/engine/docs-site-generator/index.js +74 -0
  21. package/dist/engine/docs-site-generator/index.js.map +1 -0
  22. package/dist/engine/docs-site-generator/markdown-renderer.d.ts +6 -0
  23. package/dist/engine/docs-site-generator/markdown-renderer.d.ts.map +1 -0
  24. package/dist/engine/docs-site-generator/markdown-renderer.js +168 -0
  25. package/dist/engine/docs-site-generator/markdown-renderer.js.map +1 -0
  26. package/dist/engine/docs-site-generator/spec-renderer.d.ts +4 -0
  27. package/dist/engine/docs-site-generator/spec-renderer.d.ts.map +1 -0
  28. package/dist/engine/docs-site-generator/spec-renderer.js +81 -0
  29. package/dist/engine/docs-site-generator/spec-renderer.js.map +1 -0
  30. package/dist/engine/docs-site-generator/tools-renderer.d.ts +3 -0
  31. package/dist/engine/docs-site-generator/tools-renderer.d.ts.map +1 -0
  32. package/dist/engine/docs-site-generator/tools-renderer.js +55 -0
  33. package/dist/engine/docs-site-generator/tools-renderer.js.map +1 -0
  34. package/dist/resources/process.js +2 -2
  35. package/dist/resources/process.js.map +1 -1
  36. package/dist/tools/generate-docs-site.d.ts +3 -0
  37. package/dist/tools/generate-docs-site.d.ts.map +1 -0
  38. package/dist/tools/generate-docs-site.js +25 -0
  39. package/dist/tools/generate-docs-site.js.map +1 -0
  40. package/dist/tools/register-workspace-tools.d.ts.map +1 -1
  41. package/dist/tools/register-workspace-tools.js +15 -0
  42. package/dist/tools/register-workspace-tools.js.map +1 -1
  43. package/dist/types/docs.d.ts +51 -0
  44. package/dist/types/docs.d.ts.map +1 -1
  45. package/package.json +1 -1
  46. package/src/config/license-plans.json +2 -1
@@ -0,0 +1,81 @@
1
+ import { renderProgressBar, renderStatusBadge } from './html-templates.js';
2
+ import { renderMarkdown } from './markdown-renderer.js';
3
+ export function renderSpecPage(spec, specContent, technicalContent) {
4
+ const tagsHtml = spec.tags.length > 0
5
+ ? spec.tags.map((t) => `<span class="tag">${t}</span>`).join(' ')
6
+ : '<span class="tag">none</span>';
7
+ return `<div class="spec-page">
8
+ <header class="spec-header">
9
+ <h1>${spec.id}: ${spec.title}</h1>
10
+ ${renderStatusBadge(spec.status)}
11
+ ${renderProgressBar(spec.criteriaDone, spec.criteriaTotal)}
12
+ </header>
13
+ <div class="spec-layout">
14
+ <div class="spec-content">
15
+ <div class="tabs">
16
+ <div class="tab active" id="tab-story">
17
+ <h2>User Story</h2>
18
+ ${renderMarkdown(specContent)}
19
+ </div>
20
+ <div class="tab" id="tab-technical">
21
+ <h2>Technical Sheet</h2>
22
+ ${renderMarkdown(technicalContent)}
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <aside class="spec-sidebar">
27
+ <h3>Metadata</h3>
28
+ <dl>
29
+ <dt>Type</dt><dd>${spec.type}</dd>
30
+ <dt>Category</dt><dd>${spec.category}</dd>
31
+ <dt>Tags</dt><dd>${tagsHtml}</dd>
32
+ <dt>Criteria</dt><dd>${String(spec.criteriaDone)} / ${String(spec.criteriaTotal)}</dd>
33
+ </dl>
34
+ </aside>
35
+ </div>
36
+ </div>`;
37
+ }
38
+ function groupByCategory(specs) {
39
+ const groups = {};
40
+ for (const spec of specs) {
41
+ const cat = spec.category || '_general';
42
+ const list = groups[cat];
43
+ if (list) {
44
+ list.push(spec);
45
+ }
46
+ else {
47
+ groups[cat] = [spec];
48
+ }
49
+ }
50
+ return groups;
51
+ }
52
+ export function renderSpecIndex(specs) {
53
+ if (specs.length === 0) {
54
+ return '<div class="spec-index"><p class="empty">No specs found.</p></div>';
55
+ }
56
+ const grouped = groupByCategory(specs);
57
+ const sections = Object.entries(grouped)
58
+ .map(([category, categorySpecs]) => {
59
+ const cards = categorySpecs
60
+ .map((spec) => {
61
+ const searchable = `${spec.id} ${spec.title}`.toLowerCase();
62
+ return ` <div class="spec-card" data-searchable="${searchable}">
63
+ <a href="${spec.slug}.html">
64
+ <strong>${spec.id}</strong>: ${spec.title}
65
+ ${renderStatusBadge(spec.status)}
66
+ ${renderProgressBar(spec.criteriaDone, spec.criteriaTotal)}
67
+ </a>
68
+ </div>`;
69
+ })
70
+ .join('\n');
71
+ return ` <section class="spec-category">
72
+ <h2>${category}</h2>
73
+ ${cards}
74
+ </section>`;
75
+ })
76
+ .join('\n');
77
+ return `<div class="spec-index">
78
+ ${sections}
79
+ </div>`;
80
+ }
81
+ //# sourceMappingURL=spec-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-renderer.js","sourceRoot":"","sources":["../../../src/engine/docs-site-generator/spec-renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,UAAU,cAAc,CAC5B,IAAoB,EACpB,WAAmB,EACnB,gBAAwB;IAExB,MAAM,QAAQ,GACZ,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACjE,CAAC,CAAC,+BAA+B,CAAC;IAEtC,OAAO;;UAEC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK;MAC1B,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;MAC9B,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC;;;;;;;YAOlD,cAAc,CAAC,WAAW,CAAC;;;;YAI3B,cAAc,CAAC,gBAAgB,CAAC;;;;;;;2BAOjB,IAAI,CAAC,IAAI;+BACL,IAAI,CAAC,QAAQ;2BACjB,QAAQ;+BACJ,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;;;;OAIjF,CAAC;AACR,CAAC;AAED,SAAS,eAAe,CAAC,KAAuB;IAC9C,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,oEAAoE,CAAC;IAC9E,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,aAAa;aACxB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5D,OAAO,+CAA+C,UAAU;iBACzD,IAAI,CAAC,IAAI;kBACR,IAAI,CAAC,EAAE,cAAc,IAAI,CAAC,KAAK;UACvC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;UAC9B,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC;;WAEvD,CAAC;QACJ,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;UACH,QAAQ;EAChB,KAAK;aACM,CAAC;IACV,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;EACP,QAAQ;OACH,CAAC;AACR,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ToolEntry } from '../../types/index.js';
2
+ export declare function renderToolsCatalog(tools: ToolEntry[]): string;
3
+ //# sourceMappingURL=tools-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools-renderer.d.ts","sourceRoot":"","sources":["../../../src/engine/docs-site-generator/tools-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAqBtD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAuC7D"}
@@ -0,0 +1,55 @@
1
+ function groupByPhase(tools) {
2
+ const groups = {};
3
+ for (const tool of tools) {
4
+ const list = groups[tool.phase];
5
+ if (list) {
6
+ list.push(tool);
7
+ }
8
+ else {
9
+ groups[tool.phase] = [tool];
10
+ }
11
+ }
12
+ return groups;
13
+ }
14
+ function renderTierBadge(tier) {
15
+ const cls = tier === 'free' ? 'badge-free' : 'badge-pro';
16
+ const label = tier === 'free' ? 'Free' : 'Pro';
17
+ return `<span class="tier-badge ${cls}">${label}</span>`;
18
+ }
19
+ export function renderToolsCatalog(tools) {
20
+ const freeCount = tools.filter((t) => t.tier === 'free').length;
21
+ const proCount = tools.filter((t) => t.tier === 'pro').length;
22
+ if (tools.length === 0) {
23
+ return `<div class="tools-catalog">
24
+ <div class="tools-summary">
25
+ <p>Total: 0 | Free: 0 | Pro: 0</p>
26
+ </div>
27
+ <p class="empty">No tools found.</p>
28
+ </div>`;
29
+ }
30
+ const grouped = groupByPhase(tools);
31
+ const sections = Object.entries(grouped)
32
+ .map(([phase, phaseTools]) => {
33
+ const cards = phaseTools
34
+ .map((tool) => {
35
+ const searchable = `${tool.name} ${tool.description}`.toLowerCase();
36
+ return ` <div class="tool-card" data-searchable="${searchable}">
37
+ <h3>${tool.name} ${renderTierBadge(tool.tier)}</h3>
38
+ <p>${tool.description}</p>
39
+ </div>`;
40
+ })
41
+ .join('\n');
42
+ return ` <section class="tools-phase">
43
+ <h2>${phase}</h2>
44
+ ${cards}
45
+ </section>`;
46
+ })
47
+ .join('\n');
48
+ return `<div class="tools-catalog">
49
+ <div class="tools-summary">
50
+ <p>Total: ${String(tools.length)} | Free: ${String(freeCount)} | Pro: ${String(proCount)}</p>
51
+ </div>
52
+ ${sections}
53
+ </div>`;
54
+ }
55
+ //# sourceMappingURL=tools-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools-renderer.js","sourceRoot":"","sources":["../../../src/engine/docs-site-generator/tools-renderer.ts"],"names":[],"mappings":"AAEA,SAAS,YAAY,CAAC,KAAkB;IACtC,MAAM,MAAM,GAAgC,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,IAAoB;IAC3C,MAAM,GAAG,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,OAAO,2BAA2B,GAAG,KAAK,KAAK,SAAS,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;IAE9D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;;;;;OAKJ,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,UAAU;aACrB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;YACpE,OAAO,+CAA+C,UAAU;YAC9D,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;WACxC,IAAI,CAAC,WAAW;WAChB,CAAC;QACJ,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;UACH,KAAK;EACb,KAAK;aACM,CAAC;IACV,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;;gBAEO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,MAAM,CAAC,SAAS,CAAC,WAAW,MAAM,CAAC,QAAQ,CAAC;;EAE1F,QAAQ;OACH,CAAC;AACR,CAAC"}
@@ -92,13 +92,13 @@ function getSddProcess() {
92
92
  {
93
93
  id: 'documenting',
94
94
  name: '8. Document & Ship',
95
- tools: ['generate_docs', 'integrate_pm', 'learn_pattern'],
95
+ tools: ['generate_docs', 'generate_docs_site', 'integrate_pm', 'learn_pattern'],
96
96
  description: 'Generate documentation. Sync with project management tools. ' +
97
97
  'Learn patterns for future estimations.',
98
98
  },
99
99
  ],
100
100
  specLifecycle: ['draft', 'review', 'approved', 'implementing', 'done'],
101
- totalTools: 103,
101
+ totalTools: 104,
102
102
  };
103
103
  }
104
104
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/resources/process.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,8DAA8D;AAE9D,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAErC;;;GAGG;AACH,SAAS,aAAa;IACpB,OAAO;QACL,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,KAAK;QACd,WAAW,EACT,4DAA4D;YAC5D,yEAAyE;YACzE,gCAAgC;QAClC,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,cAAc,CAAC;gBAC5D,WAAW,EACT,qEAAqE;oBACrE,yEAAyE;aAC5E;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE;oBACL,sBAAsB;oBACtB,eAAe;oBACf,gBAAgB;oBAChB,cAAc;oBACd,eAAe;oBACf,cAAc;oBACd,iBAAiB;iBAClB;gBACD,WAAW,EACT,sEAAsE;oBACtE,mEAAmE;aACtE;YACD;gBACE,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,UAAU,CAAC;gBACtD,WAAW,EACT,yEAAyE;oBACzE,yEAAyE;aAC5E;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE;oBACL,cAAc;oBACd,eAAe;oBACf,oBAAoB;oBACpB,gBAAgB;oBAChB,yBAAyB;iBAC1B;gBACD,WAAW,EACT,8EAA8E;oBAC9E,wDAAwD;aAC3D;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE;oBACL,gBAAgB;oBAChB,oBAAoB;oBACpB,gBAAgB;oBAChB,YAAY;oBACZ,eAAe;iBAChB;gBACD,WAAW,EACT,qEAAqE;oBACrE,+CAA+C;aAClD;YACD;gBACE,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE;oBACL,gBAAgB;oBAChB,oBAAoB;oBACpB,gBAAgB;oBAChB,YAAY;oBACZ,gBAAgB;oBAChB,aAAa;iBACd;gBACD,WAAW,EACT,gEAAgE;oBAChE,qEAAqE;aACxE;YACD;gBACE,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,CAAC;gBAC9D,WAAW,EACT,0EAA0E;oBAC1E,8BAA8B;aACjC;YACD;gBACE,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC;gBACzD,WAAW,EACT,8DAA8D;oBAC9D,wCAAwC;aAC3C;SACF;QACD,aAAa,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC;QACtE,UAAU,EAAE,GAAG;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,EAAE,iBAAiB;IACtB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,CAAC,CAAC,+BAA+B,CAAC;IAC/C,QAAQ,EAAE,kBAAkB;CAC7B,CAAC"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/resources/process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GenerateDocsSiteInput, ToolResult } from '../types/index.js';
2
+ export declare function handleGenerateDocsSite(params: GenerateDocsSiteInput): Promise<ToolResult>;
3
+ //# sourceMappingURL=generate-docs-site.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-docs-site.d.ts","sourceRoot":"","sources":["../../src/tools/generate-docs-site.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,qBAAqB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG3F,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CA2B/F"}
@@ -0,0 +1,25 @@
1
+ import { join } from 'node:path';
2
+ import { generateDocsSite } from '../engine/docs-site-generator/index.js';
3
+ export async function handleGenerateDocsSite(params) {
4
+ const config = {
5
+ projectPath: params.projectPath,
6
+ outputDir: params.outputDir ?? join(params.projectPath, 'docs-site'),
7
+ title: params.title,
8
+ };
9
+ const result = await generateDocsSite(config);
10
+ return {
11
+ content: [
12
+ {
13
+ type: 'text',
14
+ text: JSON.stringify({
15
+ success: true,
16
+ pagesGenerated: result.pagesGenerated,
17
+ outputDir: result.outputDir,
18
+ pages: result.pages,
19
+ message: `Documentation site generated with ${String(result.pagesGenerated)} pages at ${result.outputDir}`,
20
+ }, null, 2),
21
+ },
22
+ ],
23
+ };
24
+ }
25
+ //# sourceMappingURL=generate-docs-site.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-docs-site.js","sourceRoot":"","sources":["../../src/tools/generate-docs-site.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAA6B;IACxE,MAAM,MAAM,GAAmB;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC;QACpE,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE9C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,OAAO,EAAE,IAAI;oBACb,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,OAAO,EAAE,qCAAqC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,MAAM,CAAC,SAAS,EAAE;iBAC3G,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-workspace-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-workspace-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmB9D"}
1
+ {"version":3,"file":"register-workspace-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-workspace-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuC9D"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { handleAuditClaudeConfig } from './audit-claude-config.js';
3
+ import { handleGenerateDocsSite } from './generate-docs-site.js';
3
4
  import { safeLicensed } from './safe-handler.js';
4
5
  export function registerWorkspaceTools(server) {
5
6
  // audit_claude_config — SPEC-092
@@ -15,5 +16,19 @@ export function registerWorkspaceTools(server) {
15
16
  },
16
17
  annotations: { readOnlyHint: true },
17
18
  }, safeLicensed('audit_claude_config', async (args) => handleAuditClaudeConfig(args)));
19
+ // generate_docs_site — SPEC-093
20
+ server.registerTool('generate_docs_site', {
21
+ description: 'Generate a static HTML documentation site from project specs, tools catalog, architecture diagrams, and metrics. ' +
22
+ 'Produces a navigable portal with dashboard, spec pages, tools catalog, Mermaid diagrams, and search.',
23
+ inputSchema: {
24
+ projectPath: z.string().describe('Absolute path to the project root'),
25
+ outputDir: z
26
+ .string()
27
+ .optional()
28
+ .describe('Output directory for the site (default: {projectPath}/docs-site)'),
29
+ title: z.string().optional().describe('Site title (default: "Planu Documentation")'),
30
+ },
31
+ annotations: { readOnlyHint: false },
32
+ }, safeLicensed('generate_docs_site', async (args) => handleGenerateDocsSite(args)));
18
33
  }
19
34
  //# sourceMappingURL=register-workspace-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-workspace-tools.js","sourceRoot":"","sources":["../../src/tools/register-workspace-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,iCAAiC;IACjC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,wOAAwO;QAC1O,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YAC9E,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,qDAAqD,CAAC;SACnE;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,YAAY,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CACnF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"register-workspace-tools.js","sourceRoot":"","sources":["../../src/tools/register-workspace-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,iCAAiC;IACjC,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,wOAAwO;QAC1O,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YAC9E,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,qDAAqD,CAAC;SACnE;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,YAAY,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CACnF,CAAC;IAEF,gCAAgC;IAChC,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EACT,mHAAmH;YACnH,sGAAsG;QACxG,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACrE,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,kEAAkE,CAAC;YAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACrF;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE;KACrC,EACD,YAAY,CAAC,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CACjF,CAAC;AACJ,CAAC"}
@@ -129,4 +129,55 @@ export interface ProgressSection {
129
129
  title: string;
130
130
  content: string;
131
131
  }
132
+ export interface NavItem {
133
+ path: string;
134
+ title: string;
135
+ icon?: string;
136
+ }
137
+ export interface GenerateDocsSiteInput {
138
+ projectPath: string;
139
+ outputDir?: string;
140
+ title?: string;
141
+ }
142
+ export interface DocsSiteConfig {
143
+ projectPath: string;
144
+ outputDir: string;
145
+ title?: string;
146
+ }
147
+ export interface DocSpecSummary {
148
+ id: string;
149
+ title: string;
150
+ slug: string;
151
+ status: string;
152
+ category: string;
153
+ type: string;
154
+ criteriaTotal: number;
155
+ criteriaDone: number;
156
+ tags: string[];
157
+ specPath: string;
158
+ }
159
+ export interface ToolEntry {
160
+ name: string;
161
+ description: string;
162
+ phase: string;
163
+ tier: 'free' | 'pro';
164
+ }
165
+ export interface ProjectMetrics {
166
+ totalSpecs: number;
167
+ specsByStatus: Record<string, number>;
168
+ totalTools: number;
169
+ toolsByPhase: Record<string, number>;
170
+ locByLayer: Record<string, number>;
171
+ testCount: number;
172
+ }
173
+ export interface SitePage {
174
+ path: string;
175
+ title: string;
176
+ html: string;
177
+ }
178
+ export interface DocsSiteResult {
179
+ pagesGenerated: number;
180
+ outputDir: string;
181
+ pages: string[];
182
+ }
132
183
  //# sourceMappingURL=docs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/types/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/types/docs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planu/cli",
3
- "version": "0.35.2",
3
+ "version": "0.36.0",
4
4
  "description": "Planu — MCP Server for Spec Driven Development. Manages specs, estimations, reverse engineering, and auto-learning across any language/framework.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -122,7 +122,8 @@
122
122
  "create_release",
123
123
  "generate_changelog",
124
124
  "validate_team_results",
125
- "audit_claude_config"
125
+ "audit_claude_config",
126
+ "generate_docs_site"
126
127
  ],
127
128
  "alwaysAllowed": [
128
129
  "activate_license",