@autocode-cli/autocode 0.1.12 → 0.1.14

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 (166) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/commands/init.js +1 -1
  3. package/dist/cli/commands/init.js.map +1 -1
  4. package/dist/cli/commands/list.js +2 -2
  5. package/dist/cli/commands/list.js.map +1 -1
  6. package/dist/cli/commands/move.js +3 -3
  7. package/dist/cli/commands/move.js.map +1 -1
  8. package/dist/cli/commands/new.js +3 -3
  9. package/dist/cli/commands/new.js.map +1 -1
  10. package/dist/core/column.d.ts +0 -4
  11. package/dist/core/column.d.ts.map +1 -1
  12. package/dist/core/column.js +0 -6
  13. package/dist/core/column.js.map +1 -1
  14. package/dist/core/ticket.d.ts +1 -1
  15. package/dist/core/ticket.js +4 -4
  16. package/dist/core/ticket.js.map +1 -1
  17. package/dist/core/workflow.d.ts +1 -1
  18. package/dist/core/workflow.js +4 -4
  19. package/dist/server/api.d.ts.map +1 -1
  20. package/dist/server/api.js +168 -5
  21. package/dist/server/api.js.map +1 -1
  22. package/dist/server/dashboard/pages/autocreate.d.ts +9 -0
  23. package/dist/server/dashboard/pages/autocreate.d.ts.map +1 -0
  24. package/dist/server/dashboard/pages/autocreate.js +847 -0
  25. package/dist/server/dashboard/pages/autocreate.js.map +1 -0
  26. package/dist/server/dashboard/pages/index.d.ts +1 -0
  27. package/dist/server/dashboard/pages/index.d.ts.map +1 -1
  28. package/dist/server/dashboard/pages/index.js +1 -0
  29. package/dist/server/dashboard/pages/index.js.map +1 -1
  30. package/dist/server/dashboard/pages/pipeline-configurator.d.ts.map +1 -1
  31. package/dist/server/dashboard/pages/pipeline-configurator.js +198 -0
  32. package/dist/server/dashboard/pages/pipeline-configurator.js.map +1 -1
  33. package/dist/server/dashboard/scripts/index.js +3 -3
  34. package/dist/server/dashboard.d.ts +1 -1
  35. package/dist/server/dashboard.d.ts.map +1 -1
  36. package/dist/server/dashboard.js +1 -1
  37. package/dist/server/dashboard.js.map +1 -1
  38. package/dist/server/index.d.ts.map +1 -1
  39. package/dist/server/index.js +9 -1
  40. package/dist/server/index.js.map +1 -1
  41. package/dist/services/autocreate.d.ts +34 -0
  42. package/dist/services/autocreate.d.ts.map +1 -0
  43. package/dist/services/autocreate.js +503 -0
  44. package/dist/services/autocreate.js.map +1 -0
  45. package/dist/services/claude.d.ts +4 -1
  46. package/dist/services/claude.d.ts.map +1 -1
  47. package/dist/services/claude.js +7 -4
  48. package/dist/services/claude.js.map +1 -1
  49. package/dist/types/index.d.ts +49 -0
  50. package/dist/types/index.d.ts.map +1 -1
  51. package/package.json +1 -1
  52. package/templates/analysis-prompt.en.md +77 -0
  53. package/templates/analysis-prompt.fr.md +87 -0
  54. package/templates/catalog.yaml +103 -1
  55. package/templates/prompts/accessibility-check.en.md +25 -0
  56. package/templates/prompts/accessibility-check.fr.md +25 -0
  57. package/templates/prompts/api-endpoints-test.en.md +26 -0
  58. package/templates/prompts/api-endpoints-test.fr.md +26 -0
  59. package/templates/prompts/backlog.en.md +8 -19
  60. package/templates/prompts/backlog.fr.md +8 -19
  61. package/templates/prompts/build-dist.en.md +20 -0
  62. package/templates/prompts/build-dist.fr.md +20 -0
  63. package/templates/prompts/ci-gitlab-validate.en.md +22 -0
  64. package/templates/prompts/ci-gitlab-validate.fr.md +22 -0
  65. package/templates/prompts/claude-integration-test.en.md +22 -0
  66. package/templates/prompts/claude-integration-test.fr.md +22 -0
  67. package/templates/prompts/cli-smoke-test.en.md +30 -0
  68. package/templates/prompts/cli-smoke-test.fr.md +30 -0
  69. package/templates/prompts/dashboard-responsive.en.md +27 -0
  70. package/templates/prompts/dashboard-responsive.fr.md +27 -0
  71. package/templates/prompts/dead-code-check.en.md +25 -0
  72. package/templates/prompts/dead-code-check.fr.md +25 -0
  73. package/templates/prompts/deps-licenses.en.md +23 -0
  74. package/templates/prompts/deps-licenses.fr.md +23 -0
  75. package/templates/prompts/deps-outdated.en.md +23 -0
  76. package/templates/prompts/deps-outdated.fr.md +23 -0
  77. package/templates/prompts/design.en.md +2 -2
  78. package/templates/prompts/design.fr.md +2 -2
  79. package/templates/prompts/dev.en.md +2 -2
  80. package/templates/prompts/dev.fr.md +2 -2
  81. package/templates/prompts/docs-readme-validate.en.md +22 -0
  82. package/templates/prompts/docs-readme-validate.fr.md +22 -0
  83. package/templates/prompts/done.en.md +2 -2
  84. package/templates/prompts/done.fr.md +2 -2
  85. package/templates/prompts/error-handling-review.en.md +24 -0
  86. package/templates/prompts/error-handling-review.fr.md +24 -0
  87. package/templates/prompts/esm-compatibility.en.md +24 -0
  88. package/templates/prompts/esm-compatibility.fr.md +24 -0
  89. package/templates/prompts/file-watcher-test.en.md +20 -0
  90. package/templates/prompts/file-watcher-test.fr.md +20 -0
  91. package/templates/prompts/format-prettier-setup.en.md +21 -0
  92. package/templates/prompts/format-prettier-setup.fr.md +21 -0
  93. package/templates/prompts/git-conventional-commits.en.md +21 -0
  94. package/templates/prompts/git-conventional-commits.fr.md +21 -0
  95. package/templates/prompts/git-hooks-setup.en.md +27 -0
  96. package/templates/prompts/git-hooks-setup.fr.md +27 -0
  97. package/templates/prompts/graceful-shutdown.en.md +25 -0
  98. package/templates/prompts/graceful-shutdown.fr.md +25 -0
  99. package/templates/prompts/i18n-completeness.en.md +21 -0
  100. package/templates/prompts/i18n-completeness.fr.md +21 -0
  101. package/templates/prompts/in-progress.en.md +2 -2
  102. package/templates/prompts/in-progress.fr.md +2 -2
  103. package/templates/prompts/landing-html-validate.en.md +23 -0
  104. package/templates/prompts/landing-html-validate.fr.md +23 -0
  105. package/templates/prompts/lint-eslint-setup.en.md +20 -0
  106. package/templates/prompts/lint-eslint-setup.fr.md +20 -0
  107. package/templates/prompts/node-version-check.en.md +21 -0
  108. package/templates/prompts/node-version-check.fr.md +21 -0
  109. package/templates/prompts/npm-publish-dry-run.en.md +25 -0
  110. package/templates/prompts/npm-publish-dry-run.fr.md +25 -0
  111. package/templates/prompts/pkg-exports-validate.en.md +23 -0
  112. package/templates/prompts/pkg-exports-validate.fr.md +23 -0
  113. package/templates/prompts/port-conflict-handling.en.md +22 -0
  114. package/templates/prompts/port-conflict-handling.fr.md +22 -0
  115. package/templates/prompts/qualification.en.md +2 -2
  116. package/templates/prompts/qualification.fr.md +2 -2
  117. package/templates/prompts/retest-cypress.en.md +2 -6
  118. package/templates/prompts/retest-cypress.fr.md +2 -6
  119. package/templates/prompts/retest-playwright.en.md +1 -4
  120. package/templates/prompts/retest-playwright.fr.md +1 -4
  121. package/templates/prompts/retest.en.md +1 -4
  122. package/templates/prompts/retest.fr.md +1 -4
  123. package/templates/prompts/review-best-practices.en.md +2 -6
  124. package/templates/prompts/review-best-practices.fr.md +2 -6
  125. package/templates/prompts/review-code.en.md +2 -6
  126. package/templates/prompts/review-code.fr.md +2 -6
  127. package/templates/prompts/review-consistency.en.md +2 -6
  128. package/templates/prompts/review-consistency.fr.md +2 -6
  129. package/templates/prompts/review-no-duplication.en.md +2 -6
  130. package/templates/prompts/review-no-duplication.fr.md +2 -6
  131. package/templates/prompts/review-security.en.md +2 -2
  132. package/templates/prompts/review-security.fr.md +2 -2
  133. package/templates/prompts/security-audit.en.md +20 -0
  134. package/templates/prompts/security-audit.fr.md +20 -0
  135. package/templates/prompts/security-secrets.en.md +26 -0
  136. package/templates/prompts/security-secrets.fr.md +26 -0
  137. package/templates/prompts/specification.en.md +2 -2
  138. package/templates/prompts/specification.fr.md +2 -2
  139. package/templates/prompts/splitter.en.md +3 -4
  140. package/templates/prompts/splitter.fr.md +3 -4
  141. package/templates/prompts/template-validation.en.md +23 -0
  142. package/templates/prompts/template-validation.fr.md +23 -0
  143. package/templates/prompts/testing-coverage.en.md +20 -0
  144. package/templates/prompts/testing-coverage.fr.md +20 -0
  145. package/templates/prompts/testing-cypress.en.md +1 -4
  146. package/templates/prompts/testing-cypress.fr.md +1 -4
  147. package/templates/prompts/testing-integration.en.md +1 -4
  148. package/templates/prompts/testing-integration.fr.md +1 -4
  149. package/templates/prompts/testing-playwright.en.md +1 -4
  150. package/templates/prompts/testing-playwright.fr.md +1 -4
  151. package/templates/prompts/testing-unit.en.md +1 -4
  152. package/templates/prompts/testing-unit.fr.md +1 -4
  153. package/templates/prompts/testing-vitest.en.md +17 -0
  154. package/templates/prompts/testing-vitest.fr.md +17 -0
  155. package/templates/prompts/typecheck.en.md +17 -0
  156. package/templates/prompts/typecheck.fr.md +17 -0
  157. package/templates/prompts/update-docs.en.md +2 -6
  158. package/templates/prompts/update-docs.fr.md +2 -6
  159. package/templates/prompts/version-semver.en.md +20 -0
  160. package/templates/prompts/version-semver.fr.md +20 -0
  161. package/templates/prompts/websocket-test.en.md +19 -0
  162. package/templates/prompts/websocket-test.fr.md +19 -0
  163. package/templates/prompts/yaml-validate.en.md +24 -0
  164. package/templates/prompts/yaml-validate.fr.md +24 -0
  165. package/templates/prompts/ready.en.md +0 -31
  166. package/templates/prompts/ready.fr.md +0 -31
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocreate.js","sourceRoot":"","sources":["../../../../src/server/dashboard/pages/autocreate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO;cACK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAm0BV,CAAC;AACT,CAAC"}
@@ -9,6 +9,7 @@ export { generateTicketViewPage } from './ticket-view.js';
9
9
  export { generateColumnTerminalPage } from './column-terminal.js';
10
10
  export { generateColumnPromptPage } from './column-prompt.js';
11
11
  export { generatePipelineConfiguratorPage } from './pipeline-configurator.js';
12
+ export { generateAutocreatePage } from './autocreate.js';
12
13
  export { generateStatsPage } from './stats-page.js';
13
14
  export { generate404Page } from './shared.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/dashboard/pages/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/dashboard/pages/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -9,6 +9,7 @@ export { generateTicketViewPage } from './ticket-view.js';
9
9
  export { generateColumnTerminalPage } from './column-terminal.js';
10
10
  export { generateColumnPromptPage } from './column-prompt.js';
11
11
  export { generatePipelineConfiguratorPage } from './pipeline-configurator.js';
12
+ export { generateAutocreatePage } from './autocreate.js';
12
13
  export { generateStatsPage } from './stats-page.js';
13
14
  export { generate404Page } from './shared.js';
14
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dashboard/pages/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dashboard/pages/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-configurator.d.ts","sourceRoot":"","sources":["../../../../src/server/dashboard/pages/pipeline-configurator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwqDrE"}
1
+ {"version":3,"file":"pipeline-configurator.d.ts","sourceRoot":"","sources":["../../../../src/server/dashboard/pages/pipeline-configurator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA82DrE"}
@@ -523,6 +523,53 @@ export function generatePipelineConfiguratorPage(lang) {
523
523
  color: white;
524
524
  border-color: var(--accent);
525
525
  }
526
+
527
+ /* Analysis Modal */
528
+ .analysis-modal {
529
+ max-width: 900px;
530
+ width: 95%;
531
+ max-height: 90vh;
532
+ display: flex;
533
+ flex-direction: column;
534
+ }
535
+ .analysis-content {
536
+ flex: 1;
537
+ overflow-y: auto;
538
+ max-height: 70vh;
539
+ padding: 16px;
540
+ background: var(--bg);
541
+ border: 1px solid var(--border);
542
+ border-radius: 6px;
543
+ font-size: 14px;
544
+ line-height: 1.6;
545
+ }
546
+ .analysis-loading {
547
+ text-align: center;
548
+ padding: 40px;
549
+ color: var(--muted);
550
+ }
551
+ .analysis-error {
552
+ color: var(--red);
553
+ background: rgba(239, 68, 68, 0.1);
554
+ padding: 12px;
555
+ border-radius: 6px;
556
+ }
557
+
558
+ /* Markdown styles in analysis */
559
+ .analysis-content h1 { font-size: 20px; margin: 20px 0 12px 0; color: var(--accent); border-bottom: 1px solid var(--border); padding-bottom: 8px; }
560
+ .analysis-content h2 { font-size: 17px; margin: 18px 0 10px 0; color: var(--blue); }
561
+ .analysis-content h3 { font-size: 15px; margin: 14px 0 8px 0; color: var(--fg); }
562
+ .analysis-content p { margin: 8px 0; }
563
+ .analysis-content ul, .analysis-content ol { margin: 8px 0; padding-left: 24px; }
564
+ .analysis-content li { margin: 4px 0; }
565
+ .analysis-content strong { color: var(--fg); }
566
+ .analysis-content code { background: var(--bg-card); padding: 2px 6px; border-radius: 4px; font-family: monospace; font-size: 13px; }
567
+ .analysis-content pre { background: var(--bg-card); padding: 12px; border-radius: 6px; overflow-x: auto; margin: 10px 0; }
568
+ .analysis-content pre code { background: none; padding: 0; }
569
+ .analysis-content blockquote { border-left: 3px solid var(--accent); padding-left: 12px; margin: 10px 0; color: var(--muted); }
570
+ .analysis-content table { width: 100%; border-collapse: collapse; margin: 10px 0; }
571
+ .analysis-content th, .analysis-content td { border: 1px solid var(--border); padding: 8px; text-align: left; }
572
+ .analysis-content th { background: var(--bg-card); }
526
573
  </style>
527
574
  </head>
528
575
  <body>
@@ -533,6 +580,7 @@ export function generatePipelineConfiguratorPage(lang) {
533
580
  <button class="lang-btn" data-lang="en">EN</button>
534
581
  <button class="lang-btn" data-lang="fr">FR</button>
535
582
  </div>
583
+ <button class="btn btn-secondary" id="analyzeBtn" disabled>Analyze</button>
536
584
  <button class="btn btn-success" id="savePipelineBtn" disabled>Save Pipeline</button>
537
585
  <button class="btn btn-primary" id="activateBtn" disabled>Activate & Sync</button>
538
586
  </header>
@@ -609,6 +657,17 @@ export function generatePipelineConfiguratorPage(lang) {
609
657
  </div>
610
658
  </div>
611
659
 
660
+ <!-- Autocreate Section -->
661
+ <div class="autocreate-section" id="autocreateSection" style="margin-top: 24px; margin-bottom: 24px; padding: 20px; background: linear-gradient(135deg, var(--accent) 0%, #7c3aed 100%); border-radius: 8px; color: white;">
662
+ <div style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;">
663
+ <div>
664
+ <h3 id="autocreateTitle" style="margin: 0 0 4px 0; font-size: 16px; font-weight: 600;">Autocreate</h3>
665
+ <p id="autocreateDesc" style="margin: 0; font-size: 13px; opacity: 0.9;">Analyze your project and generate relevant columns automatically</p>
666
+ </div>
667
+ <a href="/settings/pipeline/autocreate" class="btn" id="autocreateBtn" style="background: white; color: var(--accent); font-weight: 600; text-decoration: none; padding: 8px 16px; border-radius: 4px; font-size: 13px;">Analyze Project</a>
668
+ </div>
669
+ </div>
670
+
612
671
  <!-- Catalog -->
613
672
  <div class="catalog">
614
673
  <h2>
@@ -702,6 +761,22 @@ export function generatePipelineConfiguratorPage(lang) {
702
761
  </div>
703
762
  </div>
704
763
 
764
+ <!-- Analysis Modal -->
765
+ <div class="modal-overlay" id="analysisModal">
766
+ <div class="modal analysis-modal">
767
+ <div class="modal-header" style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;">
768
+ <h3 id="analysisModalTitle" style="margin: 0;">Pipeline Analysis</h3>
769
+ <button class="btn btn-secondary" onclick="closeAnalysisModal()" style="padding: 4px 10px;">✕</button>
770
+ </div>
771
+ <div id="analysisContent" class="analysis-content">
772
+ <div class="analysis-loading">Analyzing...</div>
773
+ </div>
774
+ <div class="modal-actions">
775
+ <button class="btn btn-secondary" onclick="closeAnalysisModal()">Close</button>
776
+ </div>
777
+ </div>
778
+ </div>
779
+
705
780
  <script>
706
781
  // Translations
707
782
  const translations = {
@@ -770,6 +845,14 @@ export function generatePipelineConfiguratorPage(lang) {
770
845
  columnApplied: 'Column applied!',
771
846
  columnRemoved: 'Column removed!',
772
847
  selectPipelineFirst: 'Please select a pipeline first',
848
+ analyze: 'Analyze',
849
+ analysisTitle: 'Pipeline Analysis',
850
+ analyzing: 'Analyzing pipeline configuration...',
851
+ analysisError: 'Analysis failed',
852
+ close: 'Close',
853
+ autocreateTitle: 'Autocreate',
854
+ autocreateDesc: 'Analyze your project and generate relevant columns automatically',
855
+ autocreateBtn: 'Analyze Project',
773
856
  },
774
857
  fr: {
775
858
  backBtn: '← Tableau de bord',
@@ -836,6 +919,14 @@ export function generatePipelineConfiguratorPage(lang) {
836
919
  columnApplied: 'Colonne appliquée !',
837
920
  columnRemoved: 'Colonne retirée !',
838
921
  selectPipelineFirst: 'Veuillez d\\'abord sélectionner un pipeline',
922
+ analyze: 'Analyser',
923
+ analysisTitle: 'Analyse du Pipeline',
924
+ analyzing: 'Analyse de la configuration du pipeline...',
925
+ analysisError: 'Échec de l\\'analyse',
926
+ close: 'Fermer',
927
+ autocreateTitle: 'Autocreate',
928
+ autocreateDesc: 'Analysez votre projet et générez automatiquement des colonnes pertinentes',
929
+ autocreateBtn: 'Analyser le projet',
839
930
  }
840
931
  };
841
932
 
@@ -854,9 +945,14 @@ export function generatePipelineConfiguratorPage(lang) {
854
945
  setText($q('.title span'), t('titleSpan'));
855
946
  const titleEl = $q('.title');
856
947
  if (titleEl && titleEl.childNodes[2]) titleEl.childNodes[2].textContent = ' ' + t('title');
948
+ setText($('analyzeBtn'), t('analyze'));
857
949
  setText($('savePipelineBtn'), t('savePipeline'));
858
950
  setText($('activateBtn'), t('activateSync'));
859
951
 
952
+ // Analysis modal
953
+ setText($('analysisModalTitle'), t('analysisTitle'));
954
+ setText($q('#analysisModal .modal-actions button'), t('close'));
955
+
860
956
  // Sidebar
861
957
  setText($q('.sidebar h2'), t('pipelines'));
862
958
  setText($('newPipelineBtn'), t('newPipeline'));
@@ -881,6 +977,11 @@ export function generatePipelineConfiguratorPage(lang) {
881
977
  setText($('segmentTitleFinish'), t('finish'));
882
978
  setText($('segmentDescFinish'), t('finishDesc'));
883
979
 
980
+ // Autocreate section
981
+ setText($('autocreateTitle'), t('autocreateTitle'));
982
+ setText($('autocreateDesc'), t('autocreateDesc'));
983
+ setText($('autocreateBtn'), t('autocreateBtn'));
984
+
884
985
  // Catalog
885
986
  const catalogH2 = $q('.catalog h2');
886
987
  if (catalogH2 && catalogH2.childNodes[0]) {
@@ -935,6 +1036,7 @@ export function generatePipelineConfiguratorPage(lang) {
935
1036
  const pipelineEditor = document.getElementById('pipelineEditor');
936
1037
  const savePipelineBtn = document.getElementById('savePipelineBtn');
937
1038
  const activateBtn = document.getElementById('activateBtn');
1039
+ const analyzeBtn = document.getElementById('analyzeBtn');
938
1040
  const notification = document.getElementById('notification');
939
1041
 
940
1042
  // Load initial data
@@ -1265,6 +1367,7 @@ export function generatePipelineConfiguratorPage(lang) {
1265
1367
  function updateButtons() {
1266
1368
  savePipelineBtn.disabled = !hasChanges || !currentPipeline;
1267
1369
  activateBtn.disabled = !currentPipeline || hasChanges;
1370
+ analyzeBtn.disabled = !currentPipeline;
1268
1371
 
1269
1372
  // Validate pipeline
1270
1373
  if (currentPipeline) {
@@ -1698,6 +1801,101 @@ export function generatePipelineConfiguratorPage(lang) {
1698
1801
  });
1699
1802
  }
1700
1803
 
1804
+ // =============== Pipeline Analysis ===============
1805
+
1806
+ // Simple markdown to HTML renderer
1807
+ function renderMarkdown(text) {
1808
+ if (!text) return '';
1809
+
1810
+ // Escape HTML first
1811
+ let html = text
1812
+ .replace(/&/g, '&amp;')
1813
+ .replace(/</g, '&lt;')
1814
+ .replace(/>/g, '&gt;');
1815
+
1816
+ // Code blocks (must be before inline code)
1817
+ html = html.replace(/\`\`\`([\\s\\S]*?)\`\`\`/g, '<pre><code>$1</code></pre>');
1818
+
1819
+ // Headers
1820
+ html = html.replace(/^### (.*$)/gm, '<h3>$1</h3>');
1821
+ html = html.replace(/^## (.*$)/gm, '<h2>$1</h2>');
1822
+ html = html.replace(/^# (.*$)/gm, '<h1>$1</h1>');
1823
+
1824
+ // Bold and italic
1825
+ html = html.replace(/\\*\\*([^*]+)\\*\\*/g, '<strong>$1</strong>');
1826
+ html = html.replace(/\\*([^*]+)\\*/g, '<em>$1</em>');
1827
+
1828
+ // Inline code
1829
+ html = html.replace(/\`([^\`]+)\`/g, '<code>$1</code>');
1830
+
1831
+ // Lists
1832
+ html = html.replace(/^\\* (.*$)/gm, '<li>$1</li>');
1833
+ html = html.replace(/^- (.*$)/gm, '<li>$1</li>');
1834
+ html = html.replace(/^\\d+\\. (.*$)/gm, '<li>$1</li>');
1835
+
1836
+ // Wrap consecutive li elements in ul
1837
+ html = html.replace(/(<li>.*<\\/li>\\n?)+/g, (match) => '<ul>' + match + '</ul>');
1838
+
1839
+ // Paragraphs (double newlines)
1840
+ html = html.replace(/\\n\\n/g, '</p><p>');
1841
+
1842
+ // Single newlines to br (except after block elements)
1843
+ html = html.replace(/([^>])\\n([^<])/g, '$1<br>$2');
1844
+
1845
+ // Wrap in paragraph
1846
+ html = '<p>' + html + '</p>';
1847
+
1848
+ // Clean up empty paragraphs
1849
+ html = html.replace(/<p><\\/p>/g, '');
1850
+ html = html.replace(/<p>(<h[1-3]>)/g, '$1');
1851
+ html = html.replace(/(<\\/h[1-3]>)<\\/p>/g, '$1');
1852
+ html = html.replace(/<p>(<ul>)/g, '$1');
1853
+ html = html.replace(/(<\\/ul>)<\\/p>/g, '$1');
1854
+ html = html.replace(/<p>(<pre>)/g, '$1');
1855
+ html = html.replace(/(<\\/pre>)<\\/p>/g, '$1');
1856
+
1857
+ return html;
1858
+ }
1859
+
1860
+ // Run pipeline analysis
1861
+ async function runAnalysis() {
1862
+ const modal = document.getElementById('analysisModal');
1863
+ const content = document.getElementById('analysisContent');
1864
+
1865
+ // Show modal with loading state
1866
+ modal.classList.add('show');
1867
+ content.innerHTML = '<div class="analysis-loading">' + t('analyzing') + '</div>';
1868
+
1869
+ try {
1870
+ const response = await fetch('/api/pipeline/analyze', {
1871
+ method: 'POST',
1872
+ headers: { 'Content-Type': 'application/json' },
1873
+ body: JSON.stringify({
1874
+ lang: currentLang,
1875
+ pipelineKey: currentPipelineKey
1876
+ })
1877
+ });
1878
+
1879
+ const data = await response.json();
1880
+
1881
+ if (data.success && data.data?.analysis) {
1882
+ content.innerHTML = renderMarkdown(data.data.analysis);
1883
+ } else {
1884
+ content.innerHTML = '<div class="analysis-error">' + t('analysisError') + ': ' + (data.error || 'Unknown error') + '</div>';
1885
+ }
1886
+ } catch (error) {
1887
+ content.innerHTML = '<div class="analysis-error">' + t('analysisError') + ': ' + error.message + '</div>';
1888
+ }
1889
+ }
1890
+
1891
+ // Close analysis modal
1892
+ function closeAnalysisModal() {
1893
+ document.getElementById('analysisModal').classList.remove('show');
1894
+ }
1895
+
1896
+ // Analyze button click handler
1897
+ analyzeBtn.addEventListener('click', runAnalysis);
1898
+
1701
1899
  // Initialize
1702
1900
  init().then(() => {
1703
1901
  updateUILanguage();
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-configurator.js","sourceRoot":"","sources":["../../../../src/server/dashboard/pages/pipeline-configurator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,OAAO;cACK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqqDV,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"pipeline-configurator.js","sourceRoot":"","sources":["../../../../src/server/dashboard/pages/pipeline-configurator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,OAAO;cACK,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA22DV,CAAC;AACT,CAAC"}
@@ -538,7 +538,7 @@ export function getScript() {
538
538
  await fetch('/api/tickets/' + editingKey + '/move', {
539
539
  method: 'POST',
540
540
  headers: { 'Content-Type': 'application/json' },
541
- body: JSON.stringify({ column: lastColumn.name, force: true, lang: currentLang })
541
+ body: JSON.stringify({ column: lastColumn.slug, force: true, lang: currentLang })
542
542
  });
543
543
  showNotification('info', t('notify.ticketArchived'), editingKey);
544
544
  closeModal();
@@ -850,7 +850,7 @@ export function getScript() {
850
850
  await fetch('/api/tickets/' + key + '/move', {
851
851
  method: 'POST',
852
852
  headers: { 'Content-Type': 'application/json' },
853
- body: JSON.stringify({ column: targetColumnName, force: true, lang: currentLang })
853
+ body: JSON.stringify({ column: targetColumnSlug, force: true, lang: currentLang })
854
854
  });
855
855
  showNotification('info', key + ' ' + t('notify.ticketMoved'), t('notify.moveTo') + ' "' + targetColumnName + '"');
856
856
  loadTicketsFromAPI();
@@ -892,7 +892,7 @@ export function getScript() {
892
892
  await fetch('/api/tickets/' + key + '/move', {
893
893
  method: 'POST',
894
894
  headers: { 'Content-Type': 'application/json' },
895
- body: JSON.stringify({ column: lastColumn.name, force: true, lang: currentLang })
895
+ body: JSON.stringify({ column: lastColumn.slug, force: true, lang: currentLang })
896
896
  });
897
897
  showNotification('info', t('notify.ticketArchived'), key);
898
898
  loadTicketsFromAPI();
@@ -4,5 +4,5 @@
4
4
  * This is a wrapper module that re-exports from the modular structure.
5
5
  * See ./dashboard/ for the module organization.
6
6
  */
7
- export { generateDashboard, generateColumnEditPage, generateTicketViewPage, generateColumnTerminalPage, generateColumnPromptPage, generatePipelineConfiguratorPage, generateStatsPage, } from './dashboard/pages/index.js';
7
+ export { generateDashboard, generateColumnEditPage, generateTicketViewPage, generateColumnTerminalPage, generateColumnPromptPage, generatePipelineConfiguratorPage, generateAutocreatePage, generateStatsPage, } from './dashboard/pages/index.js';
8
8
  //# sourceMappingURL=dashboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,EAChC,iBAAiB,GAClB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC"}
@@ -4,5 +4,5 @@
4
4
  * This is a wrapper module that re-exports from the modular structure.
5
5
  * See ./dashboard/ for the module organization.
6
6
  */
7
- export { generateDashboard, generateColumnEditPage, generateTicketViewPage, generateColumnTerminalPage, generateColumnPromptPage, generatePipelineConfiguratorPage, generateStatsPage, } from './dashboard/pages/index.js';
7
+ export { generateDashboard, generateColumnEditPage, generateTicketViewPage, generateColumnTerminalPage, generateColumnPromptPage, generatePipelineConfiguratorPage, generateAutocreatePage, generateStatsPage, } from './dashboard/pages/index.js';
8
8
  //# sourceMappingURL=dashboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,EAChC,iBAAiB,GAClB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6CH;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmL7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6CH;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4L7D"}
@@ -6,7 +6,7 @@ import { readFile } from 'node:fs/promises';
6
6
  import { join, extname } from 'node:path';
7
7
  import { fileURLToPath } from 'node:url';
8
8
  import { dirname } from 'node:path';
9
- import { generateDashboard, generateColumnEditPage, generateTicketViewPage, generateColumnTerminalPage, generateColumnPromptPage, generatePipelineConfiguratorPage, generateStatsPage } from './dashboard.js';
9
+ import { generateDashboard, generateColumnEditPage, generateTicketViewPage, generateColumnTerminalPage, generateColumnPromptPage, generatePipelineConfiguratorPage, generateAutocreatePage, generateStatsPage } from './dashboard.js';
10
10
  import { handleApiRequest } from './api.js';
11
11
  import { handleWebSocketUpgrade, setupPingInterval, getClientCount } from './websocket.js';
12
12
  import { startWatcher, stopWatcher } from './watcher.js';
@@ -73,6 +73,14 @@ export async function startServer(port) {
73
73
  res.end(html);
74
74
  return;
75
75
  }
76
+ // Handle autocreate page
77
+ if (url === '/settings/pipeline/autocreate') {
78
+ const config = getConfig();
79
+ const html = generateAutocreatePage(config.lang);
80
+ res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
81
+ res.end(html);
82
+ return;
83
+ }
76
84
  // Handle stats page
77
85
  if (url === '/stats') {
78
86
  const html = generateStatsPage();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Autocreate service
3
+ * Analyzes project context and generates column proposals using Claude
4
+ */
5
+ import type { ProjectContext, AutocreateResult, AutocreateProposedColumn } from '../types/index.js';
6
+ /**
7
+ * Gather project context for analysis
8
+ */
9
+ export declare function gatherProjectContext(): ProjectContext;
10
+ /**
11
+ * Get all existing column slugs from the catalog
12
+ */
13
+ export declare function getExistingSlugs(): string[];
14
+ /**
15
+ * Build the autocreate prompt for Claude
16
+ */
17
+ export declare function buildAutocreatePrompt(context: ProjectContext, existingSlugs: string[]): string;
18
+ /**
19
+ * Parse Claude's response and extract the JSON result
20
+ */
21
+ export declare function parseAutocreateResponse(output: string): AutocreateResult;
22
+ /**
23
+ * Compute overlap warnings for proposed columns against existing catalog
24
+ */
25
+ export declare function computeOverlaps(proposed: AutocreateProposedColumn[], existingSlugs: string[]): void;
26
+ /**
27
+ * Execute the autocreate analysis using Claude CLI
28
+ */
29
+ export declare function executeAutocreate(): AutocreateResult;
30
+ /**
31
+ * Check if Claude CLI is available
32
+ */
33
+ export declare function isClaudeAvailable(): boolean;
34
+ //# sourceMappingURL=autocreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocreate.d.ts","sourceRoot":"","sources":["../../src/services/autocreate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EAEzB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAsHrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAW3C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,MAAM,EAAE,GACtB,MAAM,CA+NR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAkDxE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,wBAAwB,EAAE,EACpC,aAAa,EAAE,MAAM,EAAE,GACtB,IAAI,CAyBN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,gBAAgB,CAsCpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAU3C"}