@autocode-cli/autocode 0.0.44 → 0.1.5
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/LICENSE +5 -5
- package/LICENSE.fr.md +203 -0
- package/README.md +57 -20
- package/dist/cli/commands/init.js +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/parser.d.ts +1 -1
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +5 -4
- package/dist/cli/parser.js.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +47 -7
- package/dist/server/api.js.map +1 -1
- package/dist/server/dashboard/index.d.ts +10 -0
- package/dist/server/dashboard/index.d.ts.map +1 -0
- package/dist/server/dashboard/index.js +16 -0
- package/dist/server/dashboard/index.js.map +1 -0
- package/dist/server/dashboard/pages/column-edit.d.ts +8 -0
- package/dist/server/dashboard/pages/column-edit.d.ts.map +1 -0
- package/dist/server/dashboard/pages/column-edit.js +303 -0
- package/dist/server/dashboard/pages/column-edit.js.map +1 -0
- package/dist/server/dashboard/pages/column-prompt.d.ts +8 -0
- package/dist/server/dashboard/pages/column-prompt.d.ts.map +1 -0
- package/dist/server/dashboard/pages/column-prompt.js +228 -0
- package/dist/server/dashboard/pages/column-prompt.js.map +1 -0
- package/dist/server/dashboard/pages/column-terminal.d.ts +8 -0
- package/dist/server/dashboard/pages/column-terminal.d.ts.map +1 -0
- package/dist/server/dashboard/pages/column-terminal.js +529 -0
- package/dist/server/dashboard/pages/column-terminal.js.map +1 -0
- package/dist/server/dashboard/pages/index.d.ts +12 -0
- package/dist/server/dashboard/pages/index.d.ts.map +1 -0
- package/dist/server/dashboard/pages/index.js +12 -0
- package/dist/server/dashboard/pages/index.js.map +1 -0
- package/dist/server/dashboard/pages/main-dashboard.d.ts +11 -0
- package/dist/server/dashboard/pages/main-dashboard.d.ts.map +1 -0
- package/dist/server/dashboard/pages/main-dashboard.js +209 -0
- package/dist/server/dashboard/pages/main-dashboard.js.map +1 -0
- package/dist/server/dashboard/pages/shared.d.ts +8 -0
- package/dist/server/dashboard/pages/shared.d.ts.map +1 -0
- package/dist/server/dashboard/pages/shared.js +58 -0
- package/dist/server/dashboard/pages/shared.js.map +1 -0
- package/dist/server/dashboard/pages/ticket-view.d.ts +8 -0
- package/dist/server/dashboard/pages/ticket-view.d.ts.map +1 -0
- package/dist/server/dashboard/pages/ticket-view.js +1364 -0
- package/dist/server/dashboard/pages/ticket-view.js.map +1 -0
- package/dist/server/dashboard/scripts/index.d.ts +11 -0
- package/dist/server/dashboard/scripts/index.d.ts.map +1 -0
- package/dist/server/dashboard/scripts/index.js +1325 -0
- package/dist/server/dashboard/scripts/index.js.map +1 -0
- package/dist/server/dashboard/styles/base.d.ts +5 -0
- package/dist/server/dashboard/styles/base.d.ts.map +1 -0
- package/dist/server/dashboard/styles/base.js +110 -0
- package/dist/server/dashboard/styles/base.js.map +1 -0
- package/dist/server/dashboard/styles/board.d.ts +5 -0
- package/dist/server/dashboard/styles/board.d.ts.map +1 -0
- package/dist/server/dashboard/styles/board.js +168 -0
- package/dist/server/dashboard/styles/board.js.map +1 -0
- package/dist/server/dashboard/styles/comments.d.ts +5 -0
- package/dist/server/dashboard/styles/comments.d.ts.map +1 -0
- package/dist/server/dashboard/styles/comments.js +249 -0
- package/dist/server/dashboard/styles/comments.js.map +1 -0
- package/dist/server/dashboard/styles/components.d.ts +5 -0
- package/dist/server/dashboard/styles/components.d.ts.map +1 -0
- package/dist/server/dashboard/styles/components.js +190 -0
- package/dist/server/dashboard/styles/components.js.map +1 -0
- package/dist/server/dashboard/styles/footer.d.ts +5 -0
- package/dist/server/dashboard/styles/footer.d.ts.map +1 -0
- package/dist/server/dashboard/styles/footer.js +32 -0
- package/dist/server/dashboard/styles/footer.js.map +1 -0
- package/dist/server/dashboard/styles/index.d.ts +8 -0
- package/dist/server/dashboard/styles/index.d.ts.map +1 -0
- package/dist/server/dashboard/styles/index.js +27 -0
- package/dist/server/dashboard/styles/index.js.map +1 -0
- package/dist/server/dashboard/styles/logs.d.ts +5 -0
- package/dist/server/dashboard/styles/logs.d.ts.map +1 -0
- package/dist/server/dashboard/styles/logs.js +89 -0
- package/dist/server/dashboard/styles/logs.js.map +1 -0
- package/dist/server/dashboard/styles/notifications.d.ts +5 -0
- package/dist/server/dashboard/styles/notifications.d.ts.map +1 -0
- package/dist/server/dashboard/styles/notifications.js +51 -0
- package/dist/server/dashboard/styles/notifications.js.map +1 -0
- package/dist/server/dashboard/styles/variables.d.ts +5 -0
- package/dist/server/dashboard/styles/variables.d.ts.map +1 -0
- package/dist/server/dashboard/styles/variables.js +29 -0
- package/dist/server/dashboard/styles/variables.js.map +1 -0
- package/dist/server/dashboard/utils.d.ts +8 -0
- package/dist/server/dashboard/utils.d.ts.map +1 -0
- package/dist/server/dashboard/utils.js +14 -0
- package/dist/server/dashboard/utils.js.map +1 -0
- package/dist/server/dashboard.d.ts +5 -21
- package/dist/server/dashboard.d.ts.map +1 -1
- package/dist/server/dashboard.js +5 -4945
- package/dist/server/dashboard.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +51 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/websocket.d.ts +12 -0
- package/dist/server/websocket.d.ts.map +1 -1
- package/dist/server/websocket.js +19 -0
- package/dist/server/websocket.js.map +1 -1
- package/dist/services/claude.d.ts.map +1 -1
- package/dist/services/claude.js +4 -1
- package/dist/services/claude.js.map +1 -1
- package/dist/utils/config.d.ts +29 -21
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +13 -11
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/version-check.d.ts +26 -0
- package/dist/utils/version-check.d.ts.map +1 -0
- package/dist/utils/version-check.js +234 -0
- package/dist/utils/version-check.js.map +1 -0
- package/package.json +2 -2
- package/templates/columns/00_backlog.en.md +1 -1
- package/templates/columns/00_backlog.fr.md +1 -1
- package/templates/columns/01_ready.en.md +1 -1
- package/templates/columns/01_ready.fr.md +1 -1
- package/templates/columns/02_in-progress.en.md +1 -1
- package/templates/columns/02_in-progress.fr.md +1 -1
- package/templates/columns/{07_testing-playwright.en.md → 03_testing-playwright.en.md} +1 -1
- package/templates/columns/{07_testing-playwright.fr.md → 03_testing-playwright.fr.md} +1 -1
- package/templates/columns/{08_testing-cypress.en.md → 04_testing-cypress.en.md} +1 -1
- package/templates/columns/{08_testing-cypress.fr.md → 04_testing-cypress.fr.md} +1 -1
- package/templates/columns/{03_review-best-practices.en.md → 05_review-best-practices.en.md} +1 -1
- package/templates/columns/{03_review-best-practices.fr.md → 05_review-best-practices.fr.md} +1 -1
- package/templates/columns/{04_review-no-duplication.en.md → 06_review-no-duplication.en.md} +1 -1
- package/templates/columns/{04_review-no-duplication.fr.md → 06_review-no-duplication.fr.md} +1 -1
- package/templates/columns/{05_review-consistency.en.md → 07_review-consistency.en.md} +1 -1
- package/templates/columns/{05_review-consistency.fr.md → 07_review-consistency.fr.md} +1 -1
- package/templates/columns/{06_review-security.en.md → 08_review-security.en.md} +1 -1
- package/templates/columns/{06_review-security.fr.md → 08_review-security.fr.md} +1 -1
- package/templates/columns/09_retest-playwright.en.md +30 -0
- package/templates/columns/09_retest-playwright.fr.md +30 -0
- package/templates/columns/10_retest-cypress.en.md +29 -0
- package/templates/columns/10_retest-cypress.fr.md +29 -0
- package/templates/columns/{09_update-docs.en.md → 11_update-docs.en.md} +1 -1
- package/templates/columns/{09_update-docs.fr.md → 11_update-docs.fr.md} +1 -1
- package/templates/columns/{10_deploy-staging.en.md → 12_deploy-staging.en.md} +1 -1
- package/templates/columns/{10_deploy-staging.fr.md → 12_deploy-staging.fr.md} +1 -1
- package/templates/columns/{11_validate-staging.en.md → 13_validate-staging.en.md} +1 -1
- package/templates/columns/{11_validate-staging.fr.md → 13_validate-staging.fr.md} +1 -1
- package/templates/columns/{12_done.en.md → 14_done.en.md} +1 -1
- package/templates/columns/{12_done.fr.md → 14_done.fr.md} +1 -1
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version check utilities for CLI updates
|
|
3
|
+
*/
|
|
4
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
5
|
+
import { homedir } from 'node:os';
|
|
6
|
+
import { join } from 'node:path';
|
|
7
|
+
import { createInterface } from 'node:readline';
|
|
8
|
+
import { spawn } from 'node:child_process';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
// Constants
|
|
11
|
+
const PACKAGE_NAME = '@autocode-cli/autocode';
|
|
12
|
+
const CACHE_DIR = join(homedir(), '.autocode');
|
|
13
|
+
const CACHE_FILE = join(CACHE_DIR, 'version-cache.json');
|
|
14
|
+
const CACHE_DURATION_MS = 24 * 60 * 60 * 1000; // 24 heures
|
|
15
|
+
const FETCH_TIMEOUT_MS = 3000; // 3 secondes max
|
|
16
|
+
const PROMPT_TIMEOUT_MS = 10000; // 10 secondes pour répondre
|
|
17
|
+
/**
|
|
18
|
+
* Lire la version depuis package.json du module
|
|
19
|
+
*/
|
|
20
|
+
export function getCurrentVersion() {
|
|
21
|
+
try {
|
|
22
|
+
const pkgPath = join(import.meta.dirname, '../../package.json');
|
|
23
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
24
|
+
return pkg.version;
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return '0.0.0';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Lire le cache de version
|
|
32
|
+
*/
|
|
33
|
+
function readCache() {
|
|
34
|
+
try {
|
|
35
|
+
if (!existsSync(CACHE_FILE))
|
|
36
|
+
return null;
|
|
37
|
+
const content = readFileSync(CACHE_FILE, 'utf-8');
|
|
38
|
+
return JSON.parse(content);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Ecrire le cache de version
|
|
46
|
+
*/
|
|
47
|
+
function writeCache(cache) {
|
|
48
|
+
try {
|
|
49
|
+
if (!existsSync(CACHE_DIR)) {
|
|
50
|
+
mkdirSync(CACHE_DIR, { recursive: true });
|
|
51
|
+
}
|
|
52
|
+
writeFileSync(CACHE_FILE, JSON.stringify(cache, null, 2));
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Silently fail - cache is optional
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Verifier si le cache est encore valide
|
|
60
|
+
*/
|
|
61
|
+
function isCacheValid(cache) {
|
|
62
|
+
const lastCheck = new Date(cache.lastCheck).getTime();
|
|
63
|
+
const now = Date.now();
|
|
64
|
+
return (now - lastCheck) < CACHE_DURATION_MS;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Comparer deux versions semver (simple)
|
|
68
|
+
* Retourne true si latest > current
|
|
69
|
+
*/
|
|
70
|
+
function isNewerVersion(current, latest) {
|
|
71
|
+
const currentParts = current.split('.').map(Number);
|
|
72
|
+
const latestParts = latest.split('.').map(Number);
|
|
73
|
+
for (let i = 0; i < 3; i++) {
|
|
74
|
+
const c = currentParts[i] || 0;
|
|
75
|
+
const l = latestParts[i] || 0;
|
|
76
|
+
if (l > c)
|
|
77
|
+
return true;
|
|
78
|
+
if (l < c)
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Fetcher la derniere version depuis npm registry
|
|
85
|
+
*/
|
|
86
|
+
async function fetchLatestVersion() {
|
|
87
|
+
try {
|
|
88
|
+
const controller = new AbortController();
|
|
89
|
+
const timeout = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
|
|
90
|
+
const response = await fetch(`https://registry.npmjs.org/${PACKAGE_NAME}/latest`, { signal: controller.signal });
|
|
91
|
+
clearTimeout(timeout);
|
|
92
|
+
if (!response.ok)
|
|
93
|
+
return null;
|
|
94
|
+
const data = await response.json();
|
|
95
|
+
return data.version;
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Network error, timeout, etc. - fail silently
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Verifier si une mise a jour est disponible
|
|
104
|
+
* Utilise le cache si valide, sinon fetch
|
|
105
|
+
*/
|
|
106
|
+
export async function checkForUpdates() {
|
|
107
|
+
const currentVersion = getCurrentVersion();
|
|
108
|
+
const cache = readCache();
|
|
109
|
+
// Si cache valide, l'utiliser
|
|
110
|
+
if (cache && isCacheValid(cache) && cache.currentVersion === currentVersion) {
|
|
111
|
+
return {
|
|
112
|
+
updateAvailable: isNewerVersion(currentVersion, cache.latestVersion),
|
|
113
|
+
currentVersion,
|
|
114
|
+
latestVersion: cache.latestVersion,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
// Sinon, verifier npm (avec timeout)
|
|
118
|
+
const latestVersion = await fetchLatestVersion();
|
|
119
|
+
if (latestVersion) {
|
|
120
|
+
// Mettre a jour le cache
|
|
121
|
+
writeCache({
|
|
122
|
+
lastCheck: new Date().toISOString(),
|
|
123
|
+
latestVersion,
|
|
124
|
+
currentVersion,
|
|
125
|
+
});
|
|
126
|
+
return {
|
|
127
|
+
updateAvailable: isNewerVersion(currentVersion, latestVersion),
|
|
128
|
+
currentVersion,
|
|
129
|
+
latestVersion,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
// Echec du fetch - pas de mise a jour a signaler
|
|
133
|
+
return {
|
|
134
|
+
updateAvailable: false,
|
|
135
|
+
currentVersion,
|
|
136
|
+
latestVersion: null,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Afficher la notification de mise a jour
|
|
141
|
+
*/
|
|
142
|
+
function displayUpdateNotification(result) {
|
|
143
|
+
if (!result.updateAvailable || !result.latestVersion)
|
|
144
|
+
return;
|
|
145
|
+
const boxWidth = 50;
|
|
146
|
+
const line = chalk.yellow('─'.repeat(boxWidth));
|
|
147
|
+
console.log();
|
|
148
|
+
console.log(line);
|
|
149
|
+
console.log(chalk.yellow('│ ') +
|
|
150
|
+
chalk.bold.yellow('Mise à jour disponible: ') +
|
|
151
|
+
chalk.red(result.currentVersion) +
|
|
152
|
+
chalk.yellow(' → ') +
|
|
153
|
+
chalk.green(result.latestVersion));
|
|
154
|
+
console.log(line);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Demander à l'utilisateur s'il veut mettre à jour
|
|
158
|
+
*/
|
|
159
|
+
function promptForUpdate() {
|
|
160
|
+
return new Promise((resolve) => {
|
|
161
|
+
// Timeout pour ne pas bloquer indéfiniment
|
|
162
|
+
const timeout = setTimeout(() => {
|
|
163
|
+
console.log(chalk.dim('\n(timeout - pas de mise à jour)'));
|
|
164
|
+
rl.close();
|
|
165
|
+
resolve(false);
|
|
166
|
+
}, PROMPT_TIMEOUT_MS);
|
|
167
|
+
const rl = createInterface({
|
|
168
|
+
input: process.stdin,
|
|
169
|
+
output: process.stdout,
|
|
170
|
+
});
|
|
171
|
+
rl.question(chalk.cyan('Voulez-vous mettre à jour maintenant? (o/n): '), (answer) => {
|
|
172
|
+
clearTimeout(timeout);
|
|
173
|
+
rl.close();
|
|
174
|
+
const normalized = answer.toLowerCase().trim();
|
|
175
|
+
resolve(['o', 'oui', 'y', 'yes'].includes(normalized));
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Exécuter la mise à jour via npm
|
|
181
|
+
*/
|
|
182
|
+
function runUpdate() {
|
|
183
|
+
return new Promise((resolve) => {
|
|
184
|
+
console.log(chalk.cyan('→ Mise à jour en cours...'));
|
|
185
|
+
const npmCmd = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
186
|
+
const child = spawn(npmCmd, ['install', '-g', PACKAGE_NAME], {
|
|
187
|
+
stdio: 'inherit',
|
|
188
|
+
});
|
|
189
|
+
child.on('close', (code) => {
|
|
190
|
+
if (code === 0) {
|
|
191
|
+
console.log(chalk.green('→ Mise à jour réussie!'));
|
|
192
|
+
resolve(true);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
console.log(chalk.red('→ Échec de la mise à jour. Essayez manuellement:'));
|
|
196
|
+
console.log(chalk.dim(` npm install -g ${PACKAGE_NAME}`));
|
|
197
|
+
resolve(false);
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
child.on('error', () => {
|
|
201
|
+
console.log(chalk.red('→ Échec de la mise à jour. Essayez manuellement:'));
|
|
202
|
+
console.log(chalk.dim(` npm install -g ${PACKAGE_NAME}`));
|
|
203
|
+
resolve(false);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Version complète: check + notification + prompt + update
|
|
209
|
+
* A utiliser dans le hook post-commande
|
|
210
|
+
*/
|
|
211
|
+
export async function checkAndNotify() {
|
|
212
|
+
// Permettre de désactiver via env
|
|
213
|
+
if (process.env.AUTOCODE_NO_UPDATE_CHECK === '1') {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
// Ne pas vérifier si pas en mode TTY (pipe, script)
|
|
217
|
+
if (!process.stdout.isTTY) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
const result = await checkForUpdates();
|
|
221
|
+
if (!result.updateAvailable) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
displayUpdateNotification(result);
|
|
225
|
+
const wantsUpdate = await promptForUpdate();
|
|
226
|
+
if (wantsUpdate) {
|
|
227
|
+
await runUpdate();
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
console.log(chalk.dim(`Pour mettre à jour plus tard: npm install -g ${PACKAGE_NAME}`));
|
|
231
|
+
}
|
|
232
|
+
console.log();
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=version-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/utils/version-check.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@autocode-cli/autocode",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Filesystem-based ticket system with web dashboard",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"project-management"
|
|
34
34
|
],
|
|
35
35
|
"author": "Evkoh",
|
|
36
|
-
"license": "
|
|
36
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
37
37
|
"homepage": "https://gitlab.com/evkoh/autocode",
|
|
38
38
|
"repository": {
|
|
39
39
|
"type": "git",
|
|
@@ -12,7 +12,7 @@ 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
|
|
15
|
+
7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
16
16
|
8. Document: `autocode comment <key> "Qualification done"`
|
|
17
17
|
9. Advance: `autocode next <key>`
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ 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 <
|
|
15
|
+
7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
16
16
|
8. Documenter : `autocode comment <key> "Qualification effectuee"`
|
|
17
17
|
9. Avancer : `autocode next <key>`
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ Qualified tickets ready to be worked on. All information needed is available.
|
|
|
12
12
|
4. Implement the solution
|
|
13
13
|
5. Test locally that it works
|
|
14
14
|
6. Commit + push work done
|
|
15
|
-
7. If out of scope work detected: `autocode new <title> <description
|
|
15
|
+
7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
16
16
|
8. Document: `autocode comment <key> "Work completed"`
|
|
17
17
|
9. Advance: `autocode next <key>`
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ Tickets qualifies prets a etre travailles. Toutes les informations necessaires s
|
|
|
12
12
|
4. Implementer la solution
|
|
13
13
|
5. Tester localement que ca fonctionne
|
|
14
14
|
6. Commit + push du travail effectue
|
|
15
|
-
7. Si travail hors scope detecte : `autocode new <
|
|
15
|
+
7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
16
16
|
8. Documenter : `autocode comment <key> "Travail effectue"`
|
|
17
17
|
9. Avancer : `autocode next <key>`
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ Active development. Ticket is being worked on, code is being written.
|
|
|
12
12
|
4. Implement the solution
|
|
13
13
|
5. Test locally that it works
|
|
14
14
|
6. Commit + push work done
|
|
15
|
-
7. If out of scope work detected: `autocode new <title> <description
|
|
15
|
+
7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
16
16
|
8. Document: `autocode comment <key> "Work completed"`
|
|
17
17
|
9. Advance: `autocode next <key>`
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ Developpement actif. Le ticket est en cours de travail, le code est en cours d'e
|
|
|
12
12
|
4. Implementer la solution
|
|
13
13
|
5. Tester localement que ca fonctionne
|
|
14
14
|
6. Commit + push du travail effectue
|
|
15
|
-
7. Si travail hors scope detecte : `autocode new <
|
|
15
|
+
7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
16
16
|
8. Documenter : `autocode comment <key> "Travail effectue"`
|
|
17
17
|
9. Avancer : `autocode next <key>`
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ Live functional testing with Playwright. Manually verify feature works by naviga
|
|
|
12
12
|
4. Test edge cases
|
|
13
13
|
5. Verify error handling
|
|
14
14
|
6. Capture screenshots if needed
|
|
15
|
-
7. If out of scope work detected: `autocode new <title> <description
|
|
15
|
+
7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
16
16
|
8. Document: `autocode comment <key> "Playwright tests OK"`
|
|
17
17
|
9. Advance: `autocode next <key>`
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ Test fonctionnel live avec Playwright. Verifier manuellement que la feature fonc
|
|
|
12
12
|
4. Tester les cas limites
|
|
13
13
|
5. Verifier la gestion d'erreurs
|
|
14
14
|
6. Capturer des screenshots si necessaire
|
|
15
|
-
7. Si travail hors scope detecte : `autocode new <
|
|
15
|
+
7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
16
16
|
8. Documenter : `autocode comment <key> "Tests Playwright OK"`
|
|
17
17
|
9. Avancer : `autocode next <key>`
|
|
18
18
|
|
|
@@ -13,7 +13,7 @@ Write AND execute E2E automated tests to prevent regressions.
|
|
|
13
13
|
5. Execute tests: npx cypress run
|
|
14
14
|
6. If failures: fix tests or code
|
|
15
15
|
7. Commit + push tests
|
|
16
|
-
8. If out of scope work detected: `autocode new <title> <description
|
|
16
|
+
8. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
17
17
|
9. Document: `autocode comment <key> "Cypress tests OK"`
|
|
18
18
|
10. Advance: `autocode next <key>`
|
|
19
19
|
|
|
@@ -13,7 +13,7 @@ Rediger ET executer des tests E2E automatises pour prevenir les regressions.
|
|
|
13
13
|
5. Executer les tests : npx cypress run
|
|
14
14
|
6. Si echecs : corriger les tests ou le code
|
|
15
15
|
7. Commit + push des tests
|
|
16
|
-
8. Si travail hors scope detecte : `autocode new <
|
|
16
|
+
8. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
17
17
|
9. Documenter : `autocode comment <key> "Tests Cypress OK"`
|
|
18
18
|
10. Avancer : `autocode next <key>`
|
|
19
19
|
|
|
@@ -13,7 +13,7 @@ Code quality audit. Verify conventions and best practices are followed.
|
|
|
13
13
|
5. Verify import organization
|
|
14
14
|
6. Fix violations found
|
|
15
15
|
7. Commit + push corrections
|
|
16
|
-
8. If out of scope work detected: `autocode new <title> <description
|
|
16
|
+
8. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
17
17
|
9. Document: `autocode comment <key> "Review best practices OK"`
|
|
18
18
|
10. Advance: `autocode next <key>`
|
|
19
19
|
|
|
@@ -13,7 +13,7 @@ Audit qualite du code. Verifier que les conventions et bonnes pratiques sont res
|
|
|
13
13
|
5. Verifier l'organisation des imports
|
|
14
14
|
6. Corriger les violations trouvees
|
|
15
15
|
7. Commit + push des corrections
|
|
16
|
-
8. Si travail hors scope detecte : `autocode new <
|
|
16
|
+
8. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
17
17
|
9. Documenter : `autocode comment <key> "Review best practices OK"`
|
|
18
18
|
10. Avancer : `autocode next <key>`
|
|
19
19
|
|
|
@@ -13,7 +13,7 @@ Identify and eliminate code duplication. Factor into reusable functions/composab
|
|
|
13
13
|
5. Extract to composable/service/shared function if >2 usages
|
|
14
14
|
6. Update all existing calls
|
|
15
15
|
7. Commit + push
|
|
16
|
-
8. If out of scope work detected: `autocode new <title> <description
|
|
16
|
+
8. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
17
17
|
9. Document: `autocode comment <key> "Review no duplication OK"`
|
|
18
18
|
10. Advance: `autocode next <key>`
|
|
19
19
|
|
|
@@ -13,7 +13,7 @@ Identifier et eliminer la duplication de code. Factoriser en fonctions/composabl
|
|
|
13
13
|
5. Extraire en composable/service/fonction partagee si >2 usages
|
|
14
14
|
6. Mettre a jour tous les appels existants
|
|
15
15
|
7. Commit + push
|
|
16
|
-
8. Si travail hors scope detecte : `autocode new <
|
|
16
|
+
8. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
17
17
|
9. Documenter : `autocode comment <key> "Review no duplication OK"`
|
|
18
18
|
10. Avancer : `autocode next <key>`
|
|
19
19
|
|
|
@@ -13,7 +13,7 @@ Verify code integrates harmoniously with existing project architecture.
|
|
|
13
13
|
5. Verify correct Pinia store usage
|
|
14
14
|
6. Fix inconsistencies
|
|
15
15
|
7. Commit + push
|
|
16
|
-
8. If out of scope work detected: `autocode new <title> <description
|
|
16
|
+
8. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
17
17
|
9. Document: `autocode comment <key> "Review consistency OK"`
|
|
18
18
|
10. Advance: `autocode next <key>`
|
|
19
19
|
|
|
@@ -13,7 +13,7 @@ Verifier que le code s'integre harmonieusement avec l'architecture existante du
|
|
|
13
13
|
5. Verifier l'usage correct des stores Pinia
|
|
14
14
|
6. Corriger les incoherences
|
|
15
15
|
7. Commit + push
|
|
16
|
-
8. Si travail hors scope detecte : `autocode new <
|
|
16
|
+
8. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
17
17
|
9. Documenter : `autocode comment <key> "Review consistency OK"`
|
|
18
18
|
10. Avancer : `autocode next <key>`
|
|
19
19
|
|
|
@@ -14,7 +14,7 @@ Security audit. Identify and fix potential vulnerabilities (OWASP Top 10).
|
|
|
14
14
|
6. Audit API calls (injection, XSS)
|
|
15
15
|
7. Fix vulnerabilities
|
|
16
16
|
8. Commit + push
|
|
17
|
-
9. If out of scope work detected: `autocode new <title> <description
|
|
17
|
+
9. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
18
18
|
10. Document: `autocode comment <key> "Review security OK"`
|
|
19
19
|
11. Advance: `autocode next <key>`
|
|
20
20
|
|
|
@@ -14,7 +14,7 @@ Audit securite. Identifier et corriger les vulnerabilites potentielles (OWASP To
|
|
|
14
14
|
6. Auditer les appels API (injection, XSS)
|
|
15
15
|
7. Corriger les vulnerabilites
|
|
16
16
|
8. Commit + push
|
|
17
|
-
9. Si travail hors scope detecte : `autocode new <
|
|
17
|
+
9. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
18
18
|
10. Documenter : `autocode comment <key> "Review security OK"`
|
|
19
19
|
11. Avancer : `autocode next <key>`
|
|
20
20
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Retest Playwright
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
|
|
5
|
+
Post-refactoring validation with Playwright. Verify that refactoring did not break functionality.
|
|
6
|
+
|
|
7
|
+
## Actions
|
|
8
|
+
|
|
9
|
+
1. Launch application locally
|
|
10
|
+
2. Re-run same scenarios as initial testing
|
|
11
|
+
3. Verify nominal scenario still works
|
|
12
|
+
4. Verify edge cases still work
|
|
13
|
+
5. Compare behavior with pre-refactoring state
|
|
14
|
+
6. If regression detected: return to review step
|
|
15
|
+
7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
16
|
+
8. Document: `autocode comment <key> "Retest Playwright OK"`
|
|
17
|
+
9. Advance: `autocode next <key>`
|
|
18
|
+
|
|
19
|
+
> Or return: `autocode move <key> <column>`
|
|
20
|
+
|
|
21
|
+
## Validation Criteria
|
|
22
|
+
|
|
23
|
+
- [ ] All previously passing scenarios still pass
|
|
24
|
+
- [ ] No regressions introduced
|
|
25
|
+
- [ ] Performance not degraded
|
|
26
|
+
- [ ] No new console errors
|
|
27
|
+
|
|
28
|
+
## Notes
|
|
29
|
+
|
|
30
|
+
This step ensures refactoring safety. If any regression is found, the issue must return to the appropriate review step for correction.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Retest Playwright
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
|
|
5
|
+
Validation post-refactoring avec Playwright. Verifier que le refactoring n'a pas casse les fonctionnalites.
|
|
6
|
+
|
|
7
|
+
## Actions
|
|
8
|
+
|
|
9
|
+
1. Lancer l'application localement
|
|
10
|
+
2. Re-executer les memes scenarios que le test initial
|
|
11
|
+
3. Verifier que le scenario nominal fonctionne toujours
|
|
12
|
+
4. Verifier que les cas limites fonctionnent toujours
|
|
13
|
+
5. Comparer le comportement avec l'etat pre-refactoring
|
|
14
|
+
6. Si regression detectee : retour a l'etape de review
|
|
15
|
+
7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
16
|
+
8. Documenter : `autocode comment <key> "Retest Playwright OK"`
|
|
17
|
+
9. Avancer : `autocode next <key>`
|
|
18
|
+
|
|
19
|
+
> Ou retour : `autocode move <key> <column>`
|
|
20
|
+
|
|
21
|
+
## Criteres de Validation
|
|
22
|
+
|
|
23
|
+
- [ ] Tous les scenarios passants precedemment passent toujours
|
|
24
|
+
- [ ] Pas de regressions introduites
|
|
25
|
+
- [ ] Performance non degradee
|
|
26
|
+
- [ ] Pas de nouvelles erreurs console
|
|
27
|
+
|
|
28
|
+
## Notes
|
|
29
|
+
|
|
30
|
+
Cette etape assure la securite du refactoring. Si une regression est trouvee, l'issue doit retourner a l'etape de review appropriee pour correction.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Retest Cypress
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
|
|
5
|
+
Re-run all automated E2E tests to ensure refactoring did not introduce regressions.
|
|
6
|
+
|
|
7
|
+
## Actions
|
|
8
|
+
|
|
9
|
+
1. Run full Cypress test suite: npx cypress run
|
|
10
|
+
2. Compare results with pre-refactoring run
|
|
11
|
+
3. If new failures: identify cause (test or code issue)
|
|
12
|
+
4. Fix any regressions before proceeding
|
|
13
|
+
5. Commit test fixes if needed
|
|
14
|
+
6. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
15
|
+
7. Document: `autocode comment <key> "Retest Cypress OK"`
|
|
16
|
+
8. Advance: `autocode next <key>`
|
|
17
|
+
|
|
18
|
+
> Or return: `autocode move <key> <column>`
|
|
19
|
+
|
|
20
|
+
## Validation Criteria
|
|
21
|
+
|
|
22
|
+
- [ ] All E2E tests passing
|
|
23
|
+
- [ ] No new test failures
|
|
24
|
+
- [ ] Test coverage maintained
|
|
25
|
+
- [ ] No flaky tests introduced
|
|
26
|
+
|
|
27
|
+
## Notes
|
|
28
|
+
|
|
29
|
+
Automated tests are the safety net for refactoring. All tests must pass before proceeding. Any new failure indicates a regression that must be fixed.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Retest Cypress
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
|
|
5
|
+
Re-executer tous les tests E2E automatises pour s'assurer que le refactoring n'a pas introduit de regressions.
|
|
6
|
+
|
|
7
|
+
## Actions
|
|
8
|
+
|
|
9
|
+
1. Executer la suite complete de tests Cypress : npx cypress run
|
|
10
|
+
2. Comparer les resultats avec l'execution pre-refactoring
|
|
11
|
+
3. Si nouveaux echecs : identifier la cause (probleme de test ou de code)
|
|
12
|
+
4. Corriger toute regression avant de continuer
|
|
13
|
+
5. Commiter les corrections de tests si necessaire
|
|
14
|
+
6. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
15
|
+
7. Documenter : `autocode comment <key> "Retest Cypress OK"`
|
|
16
|
+
8. Avancer : `autocode next <key>`
|
|
17
|
+
|
|
18
|
+
> Ou retour : `autocode move <key> <column>`
|
|
19
|
+
|
|
20
|
+
## Criteres de Validation
|
|
21
|
+
|
|
22
|
+
- [ ] Tous les tests E2E passants
|
|
23
|
+
- [ ] Pas de nouveaux echecs de tests
|
|
24
|
+
- [ ] Couverture de tests maintenue
|
|
25
|
+
- [ ] Pas de tests flaky introduits
|
|
26
|
+
|
|
27
|
+
## Notes
|
|
28
|
+
|
|
29
|
+
Les tests automatises sont le filet de securite du refactoring. Tous les tests doivent passer avant de continuer. Tout nouvel echec indique une regression qui doit etre corrigee.
|
|
@@ -12,7 +12,7 @@ Document changes for future developers and users.
|
|
|
12
12
|
4. Update existing guides if impacted
|
|
13
13
|
5. Verify doc consistency
|
|
14
14
|
6. Commit + push
|
|
15
|
-
7. If out of scope work detected: `autocode new <title> <description
|
|
15
|
+
7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
16
16
|
8. Document: `autocode comment <key> "Documentation updated"`
|
|
17
17
|
9. Advance: `autocode next <key>`
|
|
18
18
|
|
|
@@ -12,7 +12,7 @@ Documenter les changements pour les futurs developpeurs et utilisateurs.
|
|
|
12
12
|
4. Mettre a jour les guides existants si impactes
|
|
13
13
|
5. Verifier la coherence de la doc
|
|
14
14
|
6. Commit + push
|
|
15
|
-
7. Si travail hors scope detecte : `autocode new <
|
|
15
|
+
7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
16
16
|
8. Documenter : `autocode comment <key> "Documentation mise a jour"`
|
|
17
17
|
9. Avancer : `autocode next <key>`
|
|
18
18
|
|
|
@@ -11,7 +11,7 @@ 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
|
|
14
|
+
6. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
15
15
|
7. Document: `autocode comment <key> "Deployed to staging"`
|
|
16
16
|
8. Advance: `autocode next <key>`
|
|
17
17
|
|
|
@@ -11,7 +11,7 @@ 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 <
|
|
14
|
+
6. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
15
15
|
7. Documenter : `autocode comment <key> "Deploye en staging"`
|
|
16
16
|
8. Avancer : `autocode next <key>`
|
|
17
17
|
|
|
@@ -13,7 +13,7 @@ Final validation: verify everything works in staging AND git repo is clean.
|
|
|
13
13
|
5. Verify visually everything is OK
|
|
14
14
|
6. Capture proof (screenshot)
|
|
15
15
|
7. Confirm feature works
|
|
16
|
-
8. If out of scope work detected: `autocode new <title> <description
|
|
16
|
+
8. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
17
17
|
9. Document: `autocode comment <key> "Staging validation OK"`
|
|
18
18
|
10. Advance: `autocode next <key>`
|
|
19
19
|
|
|
@@ -13,7 +13,7 @@ Validation finale : verifier que tout fonctionne en staging ET que le repo git e
|
|
|
13
13
|
5. Verifier visuellement que tout est OK
|
|
14
14
|
6. Capturer une preuve (screenshot)
|
|
15
15
|
7. Confirmer que la feature fonctionne
|
|
16
|
-
8. Si travail hors scope detecte : `autocode new <
|
|
16
|
+
8. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
|
|
17
17
|
9. Documenter : `autocode comment <key> "Validation staging OK"`
|
|
18
18
|
10. Avancer : `autocode next <key>`
|
|
19
19
|
|
|
@@ -8,7 +8,7 @@ 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
|
|
11
|
+
> If problem discovered: `autocode move <key> <column>` or `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
12
12
|
|
|
13
13
|
## Validation Criteria
|
|
14
14
|
|