@autocode-cli/autocode 0.1.8 → 0.1.10

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 (67) hide show
  1. package/dist/cli/commands/new.d.ts.map +1 -1
  2. package/dist/cli/commands/new.js +20 -2
  3. package/dist/cli/commands/new.js.map +1 -1
  4. package/dist/server/api.js +1 -1
  5. package/dist/server/dashboard/pages/pipeline-configurator.d.ts.map +1 -1
  6. package/dist/server/dashboard/pages/pipeline-configurator.js +121 -4
  7. package/dist/server/dashboard/pages/pipeline-configurator.js.map +1 -1
  8. package/package.json +1 -1
  9. package/templates/catalog.yaml +3 -1
  10. package/templates/prompts/backlog.en.md +5 -2
  11. package/templates/prompts/backlog.fr.md +5 -2
  12. package/templates/prompts/changelog.en.md +5 -2
  13. package/templates/prompts/changelog.fr.md +5 -2
  14. package/templates/prompts/deploy-prod.en.md +5 -2
  15. package/templates/prompts/deploy-prod.fr.md +5 -2
  16. package/templates/prompts/deploy-staging.en.md +5 -2
  17. package/templates/prompts/deploy-staging.fr.md +5 -2
  18. package/templates/prompts/design.en.md +5 -2
  19. package/templates/prompts/design.fr.md +5 -2
  20. package/templates/prompts/dev.en.md +5 -2
  21. package/templates/prompts/dev.fr.md +5 -2
  22. package/templates/prompts/done.en.md +3 -1
  23. package/templates/prompts/done.fr.md +3 -1
  24. package/templates/prompts/git-commit.en.md +5 -2
  25. package/templates/prompts/git-commit.fr.md +5 -2
  26. package/templates/prompts/git-push.en.md +5 -2
  27. package/templates/prompts/git-push.fr.md +5 -2
  28. package/templates/prompts/git-tag.en.md +5 -2
  29. package/templates/prompts/git-tag.fr.md +5 -2
  30. package/templates/prompts/in-progress.en.md +5 -2
  31. package/templates/prompts/in-progress.fr.md +5 -2
  32. package/templates/prompts/qualification.en.md +5 -2
  33. package/templates/prompts/qualification.fr.md +5 -2
  34. package/templates/prompts/ready.en.md +5 -2
  35. package/templates/prompts/ready.fr.md +5 -2
  36. package/templates/prompts/retest-cypress.en.md +5 -2
  37. package/templates/prompts/retest-cypress.fr.md +5 -2
  38. package/templates/prompts/retest-playwright.en.md +5 -2
  39. package/templates/prompts/retest-playwright.fr.md +5 -2
  40. package/templates/prompts/retest.en.md +5 -2
  41. package/templates/prompts/retest.fr.md +5 -2
  42. package/templates/prompts/review-best-practices.en.md +5 -2
  43. package/templates/prompts/review-best-practices.fr.md +5 -2
  44. package/templates/prompts/review-code.en.md +5 -2
  45. package/templates/prompts/review-code.fr.md +5 -2
  46. package/templates/prompts/review-consistency.en.md +5 -2
  47. package/templates/prompts/review-consistency.fr.md +5 -2
  48. package/templates/prompts/review-no-duplication.en.md +5 -2
  49. package/templates/prompts/review-no-duplication.fr.md +5 -2
  50. package/templates/prompts/review-security.en.md +5 -2
  51. package/templates/prompts/review-security.fr.md +5 -2
  52. package/templates/prompts/specification.en.md +5 -2
  53. package/templates/prompts/specification.fr.md +5 -2
  54. package/templates/prompts/splitter.en.md +31 -0
  55. package/templates/prompts/splitter.fr.md +33 -0
  56. package/templates/prompts/testing-cypress.en.md +5 -2
  57. package/templates/prompts/testing-cypress.fr.md +5 -2
  58. package/templates/prompts/testing-integration.en.md +5 -2
  59. package/templates/prompts/testing-integration.fr.md +5 -2
  60. package/templates/prompts/testing-playwright.en.md +5 -2
  61. package/templates/prompts/testing-playwright.fr.md +5 -2
  62. package/templates/prompts/testing-unit.en.md +5 -2
  63. package/templates/prompts/testing-unit.fr.md +5 -2
  64. package/templates/prompts/update-docs.en.md +5 -2
  65. package/templates/prompts/update-docs.fr.md +5 -2
  66. package/templates/prompts/validate-staging.en.md +5 -2
  67. package/templates/prompts/validate-staging.fr.md +5 -2
@@ -1 +1 @@
1
- {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CA8CpC"}
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAiEpC"}
@@ -2,7 +2,8 @@
2
2
  * new command - Create a new ticket
3
3
  */
4
4
  import { Command } from 'commander';
5
- import { createTicket } from '../../core/ticket.js';
5
+ import { createTicket, moveTicket } from '../../core/ticket.js';
6
+ import { getColumnByName, getColumnBySlug, getColumns } from '../../core/column.js';
6
7
  import { getConfig } from '../../utils/config.js';
7
8
  import { logger } from '../../utils/logger.js';
8
9
  /**
@@ -18,13 +19,14 @@ export function newCommand() {
18
19
  .option('-l, --labels <labels>', 'Comma-separated labels')
19
20
  .option('-a, --acceptance <criteria>', 'Comma-separated acceptance criteria')
20
21
  .option('-s, --semver <type>', 'Semver type (major/minor/patch/none)', 'patch')
22
+ .option('-c, --column <column>', 'Target column (default: backlog)')
21
23
  .action((title, description, options) => {
22
24
  const config = getConfig();
23
25
  const priority = validatePriority(options.priority);
24
26
  const semver = validateSemver(options.semver);
25
27
  const labels = options.labels ? options.labels.split(',').map((l) => l.trim()) : [];
26
28
  const acceptanceCriteria = options.acceptance ? options.acceptance.split(',').map((c) => c.trim()) : [];
27
- const ticket = createTicket(config.root, {
29
+ let ticket = createTicket(config.root, {
28
30
  title,
29
31
  priority,
30
32
  labels,
@@ -32,6 +34,22 @@ export function newCommand() {
32
34
  acceptance_criteria: acceptanceCriteria,
33
35
  semver,
34
36
  });
37
+ // Move to target column if specified
38
+ if (options.column) {
39
+ const targetColumn = getColumnByName(options.column) || getColumnBySlug(options.column);
40
+ if (!targetColumn) {
41
+ logger.error(`Column '${options.column}' not found`);
42
+ logger.info('Available columns:');
43
+ for (const col of getColumns()) {
44
+ console.log(` - ${col.name} (${col.slug})`);
45
+ }
46
+ process.exit(1);
47
+ }
48
+ const moved = moveTicket(config.root, ticket.key, targetColumn.name, true);
49
+ if (moved) {
50
+ ticket = moved;
51
+ }
52
+ }
35
53
  logger.success(`Created ticket ${logger.bold(ticket.key)}`);
36
54
  logger.row('Title', ticket.title);
37
55
  logger.row('Priority', logger.priority(ticket.priority));
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"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"}
@@ -675,7 +675,7 @@ Generate EXACTLY this format for EACH language, nothing else:
675
675
  9. Document: \`autocode comment <key> "[summary]"\`
676
676
  10. Advance: \`autocode next <key>\`
677
677
 
678
- > Or return: \`autocode move <key> <column>\`
678
+ > Or return: \`autocode move <key> <targetColumn>\`
679
679
 
680
680
  ## Validation Criteria
681
681
 
@@ -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,CAmjDrE"}
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"}
@@ -268,6 +268,25 @@ export function generatePipelineConfiguratorPage(lang) {
268
268
  border-radius: 4px;
269
269
  }
270
270
  .column-item .remove-btn:hover { color: var(--red); background: rgba(239, 68, 68, 0.1); }
271
+ .column-item .order-btns {
272
+ display: flex;
273
+ flex-direction: column;
274
+ gap: 2px;
275
+ margin-right: 4px;
276
+ }
277
+ .column-item .order-btn {
278
+ background: none;
279
+ border: none;
280
+ color: var(--muted);
281
+ cursor: pointer;
282
+ padding: 2px 4px;
283
+ border-radius: 3px;
284
+ font-size: 10px;
285
+ line-height: 1;
286
+ }
287
+ .column-item .order-btn:hover { color: var(--accent); background: rgba(124, 58, 237, 0.1); }
288
+ .column-item .order-btn:disabled { opacity: 0.2; cursor: not-allowed; }
289
+ .column-item .order-btn:disabled:hover { color: var(--muted); background: none; }
271
290
 
272
291
  /* Catalog */
273
292
  .catalog {
@@ -676,6 +695,10 @@ export function generatePipelineConfiguratorPage(lang) {
676
695
  </div>
677
696
  </div>
678
697
  <div id="promptPreviewContent" style="background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 16px; max-height: 60vh; overflow-y: auto; white-space: pre-wrap; font-family: monospace; font-size: 13px; line-height: 1.5;"></div>
698
+ <div class="modal-actions" id="promptPreviewActions" style="display: none;">
699
+ <button class="btn btn-success" id="applyColumnBtn" onclick="applyColumnFromModal()">Apply</button>
700
+ <button class="btn btn-danger" id="removeColumnBtn" onclick="removeColumnFromModal()" style="display: none;">Remove</button>
701
+ </div>
679
702
  </div>
680
703
  </div>
681
704
 
@@ -742,6 +765,11 @@ export function generatePipelineConfiguratorPage(lang) {
742
765
  errorFillFields: 'Please fill in all fields',
743
766
  errorColumnExists: 'A column with this name already exists in the catalog. Please choose a different name.',
744
767
  errorGeneric: 'An error occurred. Please try again.',
768
+ applyColumn: 'Apply',
769
+ removeColumn: 'Remove',
770
+ columnApplied: 'Column applied!',
771
+ columnRemoved: 'Column removed!',
772
+ selectPipelineFirst: 'Please select a pipeline first',
745
773
  },
746
774
  fr: {
747
775
  backBtn: '← Tableau de bord',
@@ -803,6 +831,11 @@ export function generatePipelineConfiguratorPage(lang) {
803
831
  errorFillFields: 'Veuillez remplir tous les champs',
804
832
  errorColumnExists: 'Une colonne avec ce nom existe déjà dans le catalogue. Veuillez choisir un autre nom.',
805
833
  errorGeneric: 'Une erreur est survenue. Veuillez réessayer.',
834
+ applyColumn: 'Appliquer',
835
+ removeColumn: 'Retirer',
836
+ columnApplied: 'Colonne appliquée !',
837
+ columnRemoved: 'Colonne retirée !',
838
+ selectPipelineFirst: 'Veuillez d\\'abord sélectionner un pipeline',
806
839
  }
807
840
  };
808
841
 
@@ -893,6 +926,7 @@ export function generatePipelineConfiguratorPage(lang) {
893
926
  let currentPromptSlug = null;
894
927
  let currentPromptLang = 'en';
895
928
  let currentLang = localStorage.getItem('autocode-lang') || 'en';
929
+ let currentModalColumn = null; // { slug, name, segment }
896
930
 
897
931
  // Elements
898
932
  const pipelineList = document.getElementById('pipelineList');
@@ -968,7 +1002,7 @@ export function generatePipelineConfiguratorPage(lang) {
968
1002
  item.innerHTML = '<span class="catalog-item-name">' + escapeHtml(col.name) + '</span><span class="catalog-item-eye">👁</span>';
969
1003
  item.onclick = (e) => {
970
1004
  if (!e.target.classList.contains('dragging')) {
971
- openPromptPreview(col.slug, col.name);
1005
+ openPromptPreview(col.slug, col.name, segment);
972
1006
  }
973
1007
  };
974
1008
  columnsDiv.appendChild(item);
@@ -1047,22 +1081,31 @@ export function generatePipelineConfiguratorPage(lang) {
1047
1081
  container.innerHTML = '';
1048
1082
 
1049
1083
  const columns = currentPipeline[segment] || [];
1084
+ const total = columns.length;
1050
1085
  columns.forEach((col, index) => {
1051
- const item = createColumnItem(col, segment, index);
1086
+ const item = createColumnItem(col, segment, index, total);
1052
1087
  container.appendChild(item);
1053
1088
  });
1054
1089
  });
1055
1090
  }
1056
1091
 
1057
1092
  // Create a column item element
1058
- function createColumnItem(col, segment, index) {
1093
+ function createColumnItem(col, segment, index, total) {
1059
1094
  const item = document.createElement('div');
1060
1095
  item.className = 'column-item';
1061
1096
  item.draggable = true;
1062
1097
  item.dataset.segment = segment;
1063
1098
  item.dataset.index = index;
1099
+
1100
+ const isFirst = index === 0;
1101
+ const isLast = index === total - 1;
1102
+
1064
1103
  item.innerHTML =
1065
1104
  '<span class="drag-handle">⋮⋮</span>' +
1105
+ '<div class="order-btns">' +
1106
+ '<button class="order-btn up-btn" title="Move up"' + (isFirst ? ' disabled' : '') + '>▲</button>' +
1107
+ '<button class="order-btn down-btn" title="Move down"' + (isLast ? ' disabled' : '') + '>▼</button>' +
1108
+ '</div>' +
1066
1109
  '<span class="name">' + escapeHtml(col.name) + '</span>' +
1067
1110
  '<button class="remove-btn" title="Remove">✕</button>';
1068
1111
 
@@ -1071,9 +1114,30 @@ export function generatePipelineConfiguratorPage(lang) {
1071
1114
  removeColumn(segment, index);
1072
1115
  };
1073
1116
 
1117
+ item.querySelector('.up-btn').onclick = (e) => {
1118
+ e.stopPropagation();
1119
+ if (!isFirst) moveColumn(segment, index, index - 1);
1120
+ };
1121
+
1122
+ item.querySelector('.down-btn').onclick = (e) => {
1123
+ e.stopPropagation();
1124
+ if (!isLast) moveColumn(segment, index, index + 1);
1125
+ };
1126
+
1074
1127
  return item;
1075
1128
  }
1076
1129
 
1130
+ // Move column within segment
1131
+ function moveColumn(segment, fromIndex, toIndex) {
1132
+ if (!currentPipeline || !currentPipeline[segment]) return;
1133
+ const columns = currentPipeline[segment];
1134
+ const [removed] = columns.splice(fromIndex, 1);
1135
+ columns.splice(toIndex, 0, removed);
1136
+ renderSegmentColumns();
1137
+ hasChanges = true;
1138
+ updateButtons();
1139
+ }
1140
+
1077
1141
  // Add column to segment
1078
1142
  function addColumn(segment, slug, name) {
1079
1143
  if (!currentPipeline) return;
@@ -1415,15 +1479,68 @@ export function generatePipelineConfiguratorPage(lang) {
1415
1479
  }
1416
1480
 
1417
1481
  // Prompt preview
1418
- async function openPromptPreview(slug, name) {
1482
+ async function openPromptPreview(slug, name, segment) {
1419
1483
  currentPromptSlug = slug;
1420
1484
  currentPromptLang = currentLang || 'en';
1485
+ currentModalColumn = { slug, name, segment };
1421
1486
  document.getElementById('promptPreviewTitle').textContent = name;
1422
1487
  document.getElementById('promptPreviewModal').classList.add('show');
1423
1488
  updatePromptLangButtons();
1489
+ updatePromptActionButtons();
1424
1490
  await loadPromptContent();
1425
1491
  }
1426
1492
 
1493
+ function updatePromptActionButtons() {
1494
+ const actionsDiv = document.getElementById('promptPreviewActions');
1495
+ const applyBtn = document.getElementById('applyColumnBtn');
1496
+ const removeBtn = document.getElementById('removeColumnBtn');
1497
+
1498
+ // Only show actions if a pipeline is selected
1499
+ if (!currentPipeline || !currentModalColumn) {
1500
+ actionsDiv.style.display = 'none';
1501
+ return;
1502
+ }
1503
+
1504
+ actionsDiv.style.display = 'flex';
1505
+ const segment = currentModalColumn.segment;
1506
+ const isInPipeline = currentPipeline[segment]?.some(c => c.slug.includes(currentModalColumn.slug));
1507
+
1508
+ applyBtn.textContent = t('applyColumn');
1509
+ removeBtn.textContent = t('removeColumn');
1510
+
1511
+ if (isInPipeline) {
1512
+ applyBtn.style.display = 'none';
1513
+ removeBtn.style.display = '';
1514
+ } else {
1515
+ applyBtn.style.display = '';
1516
+ removeBtn.style.display = 'none';
1517
+ }
1518
+ }
1519
+
1520
+ function applyColumnFromModal() {
1521
+ if (!currentPipeline) {
1522
+ showNotification(t('selectPipelineFirst'), 'warning');
1523
+ return;
1524
+ }
1525
+ if (!currentModalColumn) return;
1526
+
1527
+ addColumn(currentModalColumn.segment, currentModalColumn.slug, currentModalColumn.name);
1528
+ showNotification(t('columnApplied'));
1529
+ closePromptPreview();
1530
+ }
1531
+
1532
+ function removeColumnFromModal() {
1533
+ if (!currentPipeline || !currentModalColumn) return;
1534
+
1535
+ const segment = currentModalColumn.segment;
1536
+ const index = currentPipeline[segment]?.findIndex(c => c.slug.includes(currentModalColumn.slug));
1537
+ if (index !== undefined && index >= 0) {
1538
+ removeColumn(segment, index);
1539
+ showNotification(t('columnRemoved'));
1540
+ closePromptPreview();
1541
+ }
1542
+ }
1543
+
1427
1544
  function closePromptPreview() {
1428
1545
  document.getElementById('promptPreviewModal').classList.remove('show');
1429
1546
  currentPromptSlug = null;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgjDV,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqqDV,CAAC;AACT,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autocode-cli/autocode",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "Filesystem-based ticket system with web dashboard",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,7 +21,9 @@ segments:
21
21
  - slug: ready
22
22
  name: Ready
23
23
  description: Ready for development
24
-
24
+ - slug: splitter
25
+ name: Splitter
26
+ description: Si un besoin est trop gros, il faut le splitter en pleins de petits tickets pour limiter la responsabilité ! on crée ces tickets avec `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch` une fois terminé et qu'on a RIEN oublié on vient `autocode move <key> <targetColumn>` dans la colonne terminated. et on vient créer un nouveau ticket qui cite tous ceux qu'on vient de créer pour vérifier que le "tout" fonctionne bien ensemble et est bien cohérent !
25
27
  action:
26
28
  description: Columns for implementation and validation
27
29
  columns:
@@ -12,11 +12,14 @@ Storage for new tickets. Tickets here need qualification before work can begin.
12
12
  4. Define acceptance criteria if missing
13
13
  5. Set priority (P0-P3) based on impact and urgency
14
14
  6. Identify scope and potentially affected files
15
- 7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
15
+ 7. If out of scope work detected:
16
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
+ - In scope: handle directly in current ticket
16
19
  8. Document: `autocode comment <key> "Qualification done"`
17
20
  9. Advance: `autocode next <key>`
18
21
 
19
- > Or return: `autocode move <key> <column>`
22
+ > Or return: `autocode move <key> <targetColumn>`
20
23
 
21
24
  ## Validation Criteria
22
25
 
@@ -12,11 +12,14 @@ Stockage des nouveaux tickets. Les tickets ici doivent etre qualifies avant de c
12
12
  4. Definir les criteres d'acceptation si manquants
13
13
  5. Definir la priorite (P0-P3) selon l'impact et l'urgence
14
14
  6. Identifier le perimetre et les fichiers potentiellement impactes
15
- 7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
15
+ 7. Si travail hors scope detecte :
16
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
17
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
18
+ - Dans le scope : traiter directement dans le ticket actuel
16
19
  8. Documenter : `autocode comment <key> "Qualification effectuee"`
17
20
  9. Avancer : `autocode next <key>`
18
21
 
19
- > Ou retour : `autocode move <key> <column>`
22
+ > Ou retour : `autocode move <key> <targetColumn>`
20
23
 
21
24
  ## Criteres de Validation
22
25
 
@@ -13,11 +13,14 @@ Update the changelog with the changes made in this ticket. Document for users an
13
13
  5. Use clear, user-facing language
14
14
  6. Reference ticket key if applicable
15
15
  7. Commit + push changelog update
16
- 8. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
16
+ 8. If out of scope work detected:
17
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
18
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
19
+ - In scope: handle directly in current ticket
17
20
  9. Document: `autocode comment <key> "Changelog updated"`
18
21
  10. Advance: `autocode next <key>`
19
22
 
20
- > Or return: `autocode move <key> <column>`
23
+ > Or return: `autocode move <key> <targetColumn>`
21
24
 
22
25
  ## Validation Criteria
23
26
 
@@ -13,11 +13,14 @@ Mettre a jour le changelog avec les changements effectues dans ce ticket. Docume
13
13
  5. Utiliser un langage clair oriente utilisateur
14
14
  6. Referencer la cle du ticket si applicable
15
15
  7. Commit + push de la mise a jour du changelog
16
- 8. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
16
+ 8. Si travail hors scope detecte :
17
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
18
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
19
+ - Dans le scope : traiter directement dans le ticket actuel
17
20
  9. Documenter : `autocode comment <key> "Changelog mis a jour"`
18
21
  10. Avancer : `autocode next <key>`
19
22
 
20
- > Ou retour : `autocode move <key> <column>`
23
+ > Ou retour : `autocode move <key> <targetColumn>`
21
24
 
22
25
  ## Criteres de Validation
23
26
 
@@ -14,11 +14,14 @@ Deploy the release to production environment. Ensure zero-downtime deployment.
14
14
  6. Verify critical functionality
15
15
  7. Monitor logs for errors
16
16
  8. If issues detected: rollback immediately
17
- 9. If out of scope work detected: `autocode new "<title>" "<description>" -p P0 -l "urgent" -a "<criteria>" -s patch`
17
+ 9. If out of scope work detected:
18
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
19
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
20
+ - In scope: handle directly in current ticket
18
21
  10. Document: `autocode comment <key> "Deployed to production: v<version>"`
19
22
  11. Advance: `autocode next <key>`
20
23
 
21
- > Or rollback: `autocode move <key> <column>`
24
+ > Or rollback: `autocode move <key> <targetColumn>`
22
25
 
23
26
  ## Validation Criteria
24
27
 
@@ -14,11 +14,14 @@ Deployer la release en environnement de production. Assurer un deploiement sans
14
14
  6. Verifier les fonctionnalites critiques
15
15
  7. Surveiller les logs pour les erreurs
16
16
  8. Si problemes detectes : rollback immediatement
17
- 9. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P0 -l "urgent" -a "<criteres>" -s patch`
17
+ 9. Si travail hors scope detecte :
18
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
19
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
20
+ - Dans le scope : traiter directement dans le ticket actuel
18
21
  10. Documenter : `autocode comment <key> "Deploye en production : v<version>"`
19
22
  11. Avancer : `autocode next <key>`
20
23
 
21
- > Ou rollback : `autocode move <key> <column>`
24
+ > Ou rollback : `autocode move <key> <targetColumn>`
22
25
 
23
26
  ## Criteres de Validation
24
27
 
@@ -11,11 +11,14 @@ Deploy changes to staging environment for validation.
11
11
  3. Wait for deployment to complete
12
12
  4. Verify deployment is stable
13
13
  5. Document deployed version
14
- 6. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
14
+ 6. If out of scope work detected:
15
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
16
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
17
+ - In scope: handle directly in current ticket
15
18
  7. Document: `autocode comment <key> "Deployed to staging"`
16
19
  8. Advance: `autocode next <key>`
17
20
 
18
- > Or return: `autocode move <key> <column>`
21
+ > Or return: `autocode move <key> <targetColumn>`
19
22
 
20
23
  ## Validation Criteria
21
24
 
@@ -11,11 +11,14 @@ Deployer les changements sur l'environnement de staging pour validation.
11
11
  3. Attendre la fin du deploiement
12
12
  4. Verifier que le deploiement est stable
13
13
  5. Documenter la version deployee
14
- 6. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
14
+ 6. Si travail hors scope detecte :
15
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
16
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
17
+ - Dans le scope : traiter directement dans le ticket actuel
15
18
  7. Documenter : `autocode comment <key> "Deploye en staging"`
16
19
  8. Avancer : `autocode next <key>`
17
20
 
18
- > Ou retour : `autocode move <key> <column>`
21
+ > Ou retour : `autocode move <key> <targetColumn>`
19
22
 
20
23
  ## Criteres de Validation
21
24
 
@@ -12,11 +12,14 @@ Create technical and/or UX design for the feature. Prepare mockups, diagrams, or
12
12
  4. Create sequence diagrams for complex flows
13
13
  5. Define state management approach if applicable
14
14
  6. Document design decisions and trade-offs
15
- 7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
15
+ 7. If out of scope work detected:
16
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
+ - In scope: handle directly in current ticket
16
19
  8. Document: `autocode comment <key> "Design complete: <summary>"`
17
20
  9. Advance: `autocode next <key>`
18
21
 
19
- > Or return: `autocode move <key> <column>`
22
+ > Or return: `autocode move <key> <targetColumn>`
20
23
 
21
24
  ## Validation Criteria
22
25
 
@@ -12,11 +12,14 @@ Creer le design technique et/ou UX pour la fonctionnalite. Preparer les maquette
12
12
  4. Creer des diagrammes de sequence pour les flux complexes
13
13
  5. Definir l'approche de gestion d'etat si applicable
14
14
  6. Documenter les decisions de design et compromis
15
- 7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
15
+ 7. Si travail hors scope detecte :
16
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
17
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
18
+ - Dans le scope : traiter directement dans le ticket actuel
16
19
  8. Documenter : `autocode comment <key> "Design termine : <resume>"`
17
20
  9. Avancer : `autocode next <key>`
18
21
 
19
- > Ou retour : `autocode move <key> <column>`
22
+ > Ou retour : `autocode move <key> <targetColumn>`
20
23
 
21
24
  ## Criteres de Validation
22
25
 
@@ -13,11 +13,14 @@ Implement the feature or fix according to specifications. Write clean, maintaina
13
13
  5. Handle edge cases and errors gracefully
14
14
  6. Test locally before committing
15
15
  7. Commit + push with descriptive message
16
- 8. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
16
+ 8. If out of scope work detected:
17
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
18
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
19
+ - In scope: handle directly in current ticket
17
20
  9. Document: `autocode comment <key> "Development complete: <files modified>"`
18
21
  10. Advance: `autocode next <key>`
19
22
 
20
- > Or return: `autocode move <key> <column>`
23
+ > Or return: `autocode move <key> <targetColumn>`
21
24
 
22
25
  ## Validation Criteria
23
26
 
@@ -13,11 +13,14 @@ Implementer la fonctionnalite ou le correctif selon les specifications. Ecrire d
13
13
  5. Gerer les cas limites et erreurs elegamment
14
14
  6. Tester localement avant de commiter
15
15
  7. Commit + push avec message descriptif
16
- 8. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
16
+ 8. Si travail hors scope detecte :
17
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
18
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
19
+ - Dans le scope : traiter directement dans le ticket actuel
17
20
  9. Documenter : `autocode comment <key> "Developpement termine : <fichiers modifies>"`
18
21
  10. Avancer : `autocode next <key>`
19
22
 
20
- > Ou retour : `autocode move <key> <column>`
23
+ > Ou retour : `autocode move <key> <targetColumn>`
21
24
 
22
25
  ## Criteres de Validation
23
26
 
@@ -8,7 +8,9 @@ Archive of completed and validated tickets. End of workflow.
8
8
 
9
9
  1. Document: `autocode comment <key> "Ticket completed"`
10
10
 
11
- > If problem discovered: `autocode move <key> <column>` or `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
11
+ > If problem discovered: `autocode move <key> <targetColumn>` or create a new ticket:
12
+ > - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
13
+ > - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
12
14
 
13
15
  ## Validation Criteria
14
16
 
@@ -8,7 +8,9 @@ Archive des tickets termines et valides. Fin du workflow.
8
8
 
9
9
  1. Documenter : `autocode comment <key> "Ticket termine"`
10
10
 
11
- > Si probleme decouvert : `autocode move <key> <column>` ou `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
11
+ > Si probleme decouvert : `autocode move <key> <targetColumn>` ou creer un nouveau ticket :
12
+ > - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
13
+ > - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
12
14
 
13
15
  ## Criteres de Validation
14
16
 
@@ -17,11 +17,14 @@ Create a clean, atomic git commit for the changes. Follow conventional commit fo
17
17
  4. Include ticket key in commit body
18
18
  5. Create commit: `git commit -m "<type>: <description>"`
19
19
  6. Verify commit: `git log -1`
20
- 7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
20
+ 7. If out of scope work detected:
21
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
22
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
23
+ - In scope: handle directly in current ticket
21
24
  8. Document: `autocode comment <key> "Committed: <commit hash>"`
22
25
  9. Advance: `autocode next <key>`
23
26
 
24
- > Or return: `autocode move <key> <column>`
27
+ > Or return: `autocode move <key> <targetColumn>`
25
28
 
26
29
  ## Validation Criteria
27
30
 
@@ -17,11 +17,14 @@ Creer un commit git propre et atomique pour les changements. Suivre le format co
17
17
  4. Inclure la cle du ticket dans le corps du commit
18
18
  5. Creer le commit : `git commit -m "<type>: <description>"`
19
19
  6. Verifier le commit : `git log -1`
20
- 7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
20
+ 7. Si travail hors scope detecte :
21
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
22
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
23
+ - Dans le scope : traiter directement dans le ticket actuel
21
24
  8. Documenter : `autocode comment <key> "Commite : <hash du commit>"`
22
25
  9. Avancer : `autocode next <key>`
23
26
 
24
- > Ou retour : `autocode move <key> <column>`
27
+ > Ou retour : `autocode move <key> <targetColumn>`
25
28
 
26
29
  ## Criteres de Validation
27
30
 
@@ -13,11 +13,14 @@ Push committed changes to the remote repository. Ensure CI/CD pipelines pass.
13
13
  5. Verify push succeeded
14
14
  6. Check CI/CD pipeline status
15
15
  7. If pipeline fails: fix issues and re-push
16
- 8. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
16
+ 8. If out of scope work detected:
17
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
18
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
19
+ - In scope: handle directly in current ticket
17
20
  9. Document: `autocode comment <key> "Pushed to <branch>"`
18
21
  10. Advance: `autocode next <key>`
19
22
 
20
- > Or return: `autocode move <key> <column>`
23
+ > Or return: `autocode move <key> <targetColumn>`
21
24
 
22
25
  ## Validation Criteria
23
26