@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.
- package/dist/cli/commands/new.d.ts.map +1 -1
- package/dist/cli/commands/new.js +20 -2
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/server/api.js +1 -1
- package/dist/server/dashboard/pages/pipeline-configurator.d.ts.map +1 -1
- package/dist/server/dashboard/pages/pipeline-configurator.js +121 -4
- package/dist/server/dashboard/pages/pipeline-configurator.js.map +1 -1
- package/package.json +1 -1
- package/templates/catalog.yaml +3 -1
- package/templates/prompts/backlog.en.md +5 -2
- package/templates/prompts/backlog.fr.md +5 -2
- package/templates/prompts/changelog.en.md +5 -2
- package/templates/prompts/changelog.fr.md +5 -2
- package/templates/prompts/deploy-prod.en.md +5 -2
- package/templates/prompts/deploy-prod.fr.md +5 -2
- package/templates/prompts/deploy-staging.en.md +5 -2
- package/templates/prompts/deploy-staging.fr.md +5 -2
- package/templates/prompts/design.en.md +5 -2
- package/templates/prompts/design.fr.md +5 -2
- package/templates/prompts/dev.en.md +5 -2
- package/templates/prompts/dev.fr.md +5 -2
- package/templates/prompts/done.en.md +3 -1
- package/templates/prompts/done.fr.md +3 -1
- package/templates/prompts/git-commit.en.md +5 -2
- package/templates/prompts/git-commit.fr.md +5 -2
- package/templates/prompts/git-push.en.md +5 -2
- package/templates/prompts/git-push.fr.md +5 -2
- package/templates/prompts/git-tag.en.md +5 -2
- package/templates/prompts/git-tag.fr.md +5 -2
- package/templates/prompts/in-progress.en.md +5 -2
- package/templates/prompts/in-progress.fr.md +5 -2
- package/templates/prompts/qualification.en.md +5 -2
- package/templates/prompts/qualification.fr.md +5 -2
- package/templates/prompts/ready.en.md +5 -2
- package/templates/prompts/ready.fr.md +5 -2
- package/templates/prompts/retest-cypress.en.md +5 -2
- package/templates/prompts/retest-cypress.fr.md +5 -2
- package/templates/prompts/retest-playwright.en.md +5 -2
- package/templates/prompts/retest-playwright.fr.md +5 -2
- package/templates/prompts/retest.en.md +5 -2
- package/templates/prompts/retest.fr.md +5 -2
- package/templates/prompts/review-best-practices.en.md +5 -2
- package/templates/prompts/review-best-practices.fr.md +5 -2
- package/templates/prompts/review-code.en.md +5 -2
- package/templates/prompts/review-code.fr.md +5 -2
- package/templates/prompts/review-consistency.en.md +5 -2
- package/templates/prompts/review-consistency.fr.md +5 -2
- package/templates/prompts/review-no-duplication.en.md +5 -2
- package/templates/prompts/review-no-duplication.fr.md +5 -2
- package/templates/prompts/review-security.en.md +5 -2
- package/templates/prompts/review-security.fr.md +5 -2
- package/templates/prompts/specification.en.md +5 -2
- package/templates/prompts/specification.fr.md +5 -2
- package/templates/prompts/splitter.en.md +31 -0
- package/templates/prompts/splitter.fr.md +33 -0
- package/templates/prompts/testing-cypress.en.md +5 -2
- package/templates/prompts/testing-cypress.fr.md +5 -2
- package/templates/prompts/testing-integration.en.md +5 -2
- package/templates/prompts/testing-integration.fr.md +5 -2
- package/templates/prompts/testing-playwright.en.md +5 -2
- package/templates/prompts/testing-playwright.fr.md +5 -2
- package/templates/prompts/testing-unit.en.md +5 -2
- package/templates/prompts/testing-unit.fr.md +5 -2
- package/templates/prompts/update-docs.en.md +5 -2
- package/templates/prompts/update-docs.fr.md +5 -2
- package/templates/prompts/validate-staging.en.md +5 -2
- 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;
|
|
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"}
|
package/dist/cli/commands/new.js
CHANGED
|
@@ -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
|
-
|
|
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":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/cli/commands/new.ts"],"names":[],"mappings":"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"}
|
package/dist/server/api.js
CHANGED
|
@@ -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> <
|
|
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,
|
|
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
|
|
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
package/templates/catalog.yaml
CHANGED
|
@@ -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:
|
|
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> <
|
|
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 :
|
|
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> <
|
|
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:
|
|
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> <
|
|
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 :
|
|
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> <
|
|
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:
|
|
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> <
|
|
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 :
|
|
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> <
|
|
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:
|
|
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> <
|
|
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 :
|
|
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> <
|
|
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:
|
|
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> <
|
|
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 :
|
|
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> <
|
|
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:
|
|
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> <
|
|
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 :
|
|
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> <
|
|
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> <
|
|
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> <
|
|
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:
|
|
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> <
|
|
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 :
|
|
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> <
|
|
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:
|
|
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> <
|
|
23
|
+
> Or return: `autocode move <key> <targetColumn>`
|
|
21
24
|
|
|
22
25
|
## Validation Criteria
|
|
23
26
|
|