@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.
Files changed (143) hide show
  1. package/LICENSE +5 -5
  2. package/LICENSE.fr.md +203 -0
  3. package/README.md +57 -20
  4. package/dist/cli/commands/init.js +1 -1
  5. package/dist/cli/commands/init.js.map +1 -1
  6. package/dist/cli/parser.d.ts +1 -1
  7. package/dist/cli/parser.d.ts.map +1 -1
  8. package/dist/cli/parser.js +5 -4
  9. package/dist/cli/parser.js.map +1 -1
  10. package/dist/index.js +4 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/server/api.d.ts.map +1 -1
  13. package/dist/server/api.js +47 -7
  14. package/dist/server/api.js.map +1 -1
  15. package/dist/server/dashboard/index.d.ts +10 -0
  16. package/dist/server/dashboard/index.d.ts.map +1 -0
  17. package/dist/server/dashboard/index.js +16 -0
  18. package/dist/server/dashboard/index.js.map +1 -0
  19. package/dist/server/dashboard/pages/column-edit.d.ts +8 -0
  20. package/dist/server/dashboard/pages/column-edit.d.ts.map +1 -0
  21. package/dist/server/dashboard/pages/column-edit.js +303 -0
  22. package/dist/server/dashboard/pages/column-edit.js.map +1 -0
  23. package/dist/server/dashboard/pages/column-prompt.d.ts +8 -0
  24. package/dist/server/dashboard/pages/column-prompt.d.ts.map +1 -0
  25. package/dist/server/dashboard/pages/column-prompt.js +228 -0
  26. package/dist/server/dashboard/pages/column-prompt.js.map +1 -0
  27. package/dist/server/dashboard/pages/column-terminal.d.ts +8 -0
  28. package/dist/server/dashboard/pages/column-terminal.d.ts.map +1 -0
  29. package/dist/server/dashboard/pages/column-terminal.js +529 -0
  30. package/dist/server/dashboard/pages/column-terminal.js.map +1 -0
  31. package/dist/server/dashboard/pages/index.d.ts +12 -0
  32. package/dist/server/dashboard/pages/index.d.ts.map +1 -0
  33. package/dist/server/dashboard/pages/index.js +12 -0
  34. package/dist/server/dashboard/pages/index.js.map +1 -0
  35. package/dist/server/dashboard/pages/main-dashboard.d.ts +11 -0
  36. package/dist/server/dashboard/pages/main-dashboard.d.ts.map +1 -0
  37. package/dist/server/dashboard/pages/main-dashboard.js +209 -0
  38. package/dist/server/dashboard/pages/main-dashboard.js.map +1 -0
  39. package/dist/server/dashboard/pages/shared.d.ts +8 -0
  40. package/dist/server/dashboard/pages/shared.d.ts.map +1 -0
  41. package/dist/server/dashboard/pages/shared.js +58 -0
  42. package/dist/server/dashboard/pages/shared.js.map +1 -0
  43. package/dist/server/dashboard/pages/ticket-view.d.ts +8 -0
  44. package/dist/server/dashboard/pages/ticket-view.d.ts.map +1 -0
  45. package/dist/server/dashboard/pages/ticket-view.js +1364 -0
  46. package/dist/server/dashboard/pages/ticket-view.js.map +1 -0
  47. package/dist/server/dashboard/scripts/index.d.ts +11 -0
  48. package/dist/server/dashboard/scripts/index.d.ts.map +1 -0
  49. package/dist/server/dashboard/scripts/index.js +1325 -0
  50. package/dist/server/dashboard/scripts/index.js.map +1 -0
  51. package/dist/server/dashboard/styles/base.d.ts +5 -0
  52. package/dist/server/dashboard/styles/base.d.ts.map +1 -0
  53. package/dist/server/dashboard/styles/base.js +110 -0
  54. package/dist/server/dashboard/styles/base.js.map +1 -0
  55. package/dist/server/dashboard/styles/board.d.ts +5 -0
  56. package/dist/server/dashboard/styles/board.d.ts.map +1 -0
  57. package/dist/server/dashboard/styles/board.js +168 -0
  58. package/dist/server/dashboard/styles/board.js.map +1 -0
  59. package/dist/server/dashboard/styles/comments.d.ts +5 -0
  60. package/dist/server/dashboard/styles/comments.d.ts.map +1 -0
  61. package/dist/server/dashboard/styles/comments.js +249 -0
  62. package/dist/server/dashboard/styles/comments.js.map +1 -0
  63. package/dist/server/dashboard/styles/components.d.ts +5 -0
  64. package/dist/server/dashboard/styles/components.d.ts.map +1 -0
  65. package/dist/server/dashboard/styles/components.js +190 -0
  66. package/dist/server/dashboard/styles/components.js.map +1 -0
  67. package/dist/server/dashboard/styles/footer.d.ts +5 -0
  68. package/dist/server/dashboard/styles/footer.d.ts.map +1 -0
  69. package/dist/server/dashboard/styles/footer.js +32 -0
  70. package/dist/server/dashboard/styles/footer.js.map +1 -0
  71. package/dist/server/dashboard/styles/index.d.ts +8 -0
  72. package/dist/server/dashboard/styles/index.d.ts.map +1 -0
  73. package/dist/server/dashboard/styles/index.js +27 -0
  74. package/dist/server/dashboard/styles/index.js.map +1 -0
  75. package/dist/server/dashboard/styles/logs.d.ts +5 -0
  76. package/dist/server/dashboard/styles/logs.d.ts.map +1 -0
  77. package/dist/server/dashboard/styles/logs.js +89 -0
  78. package/dist/server/dashboard/styles/logs.js.map +1 -0
  79. package/dist/server/dashboard/styles/notifications.d.ts +5 -0
  80. package/dist/server/dashboard/styles/notifications.d.ts.map +1 -0
  81. package/dist/server/dashboard/styles/notifications.js +51 -0
  82. package/dist/server/dashboard/styles/notifications.js.map +1 -0
  83. package/dist/server/dashboard/styles/variables.d.ts +5 -0
  84. package/dist/server/dashboard/styles/variables.d.ts.map +1 -0
  85. package/dist/server/dashboard/styles/variables.js +29 -0
  86. package/dist/server/dashboard/styles/variables.js.map +1 -0
  87. package/dist/server/dashboard/utils.d.ts +8 -0
  88. package/dist/server/dashboard/utils.d.ts.map +1 -0
  89. package/dist/server/dashboard/utils.js +14 -0
  90. package/dist/server/dashboard/utils.js.map +1 -0
  91. package/dist/server/dashboard.d.ts +5 -21
  92. package/dist/server/dashboard.d.ts.map +1 -1
  93. package/dist/server/dashboard.js +5 -4945
  94. package/dist/server/dashboard.js.map +1 -1
  95. package/dist/server/index.d.ts.map +1 -1
  96. package/dist/server/index.js +51 -0
  97. package/dist/server/index.js.map +1 -1
  98. package/dist/server/websocket.d.ts +12 -0
  99. package/dist/server/websocket.d.ts.map +1 -1
  100. package/dist/server/websocket.js +19 -0
  101. package/dist/server/websocket.js.map +1 -1
  102. package/dist/services/claude.d.ts.map +1 -1
  103. package/dist/services/claude.js +4 -1
  104. package/dist/services/claude.js.map +1 -1
  105. package/dist/utils/config.d.ts +29 -21
  106. package/dist/utils/config.d.ts.map +1 -1
  107. package/dist/utils/config.js +13 -11
  108. package/dist/utils/config.js.map +1 -1
  109. package/dist/utils/version-check.d.ts +26 -0
  110. package/dist/utils/version-check.d.ts.map +1 -0
  111. package/dist/utils/version-check.js +234 -0
  112. package/dist/utils/version-check.js.map +1 -0
  113. package/package.json +2 -2
  114. package/templates/columns/00_backlog.en.md +1 -1
  115. package/templates/columns/00_backlog.fr.md +1 -1
  116. package/templates/columns/01_ready.en.md +1 -1
  117. package/templates/columns/01_ready.fr.md +1 -1
  118. package/templates/columns/02_in-progress.en.md +1 -1
  119. package/templates/columns/02_in-progress.fr.md +1 -1
  120. package/templates/columns/{07_testing-playwright.en.md → 03_testing-playwright.en.md} +1 -1
  121. package/templates/columns/{07_testing-playwright.fr.md → 03_testing-playwright.fr.md} +1 -1
  122. package/templates/columns/{08_testing-cypress.en.md → 04_testing-cypress.en.md} +1 -1
  123. package/templates/columns/{08_testing-cypress.fr.md → 04_testing-cypress.fr.md} +1 -1
  124. package/templates/columns/{03_review-best-practices.en.md → 05_review-best-practices.en.md} +1 -1
  125. package/templates/columns/{03_review-best-practices.fr.md → 05_review-best-practices.fr.md} +1 -1
  126. package/templates/columns/{04_review-no-duplication.en.md → 06_review-no-duplication.en.md} +1 -1
  127. package/templates/columns/{04_review-no-duplication.fr.md → 06_review-no-duplication.fr.md} +1 -1
  128. package/templates/columns/{05_review-consistency.en.md → 07_review-consistency.en.md} +1 -1
  129. package/templates/columns/{05_review-consistency.fr.md → 07_review-consistency.fr.md} +1 -1
  130. package/templates/columns/{06_review-security.en.md → 08_review-security.en.md} +1 -1
  131. package/templates/columns/{06_review-security.fr.md → 08_review-security.fr.md} +1 -1
  132. package/templates/columns/09_retest-playwright.en.md +30 -0
  133. package/templates/columns/09_retest-playwright.fr.md +30 -0
  134. package/templates/columns/10_retest-cypress.en.md +29 -0
  135. package/templates/columns/10_retest-cypress.fr.md +29 -0
  136. package/templates/columns/{09_update-docs.en.md → 11_update-docs.en.md} +1 -1
  137. package/templates/columns/{09_update-docs.fr.md → 11_update-docs.fr.md} +1 -1
  138. package/templates/columns/{10_deploy-staging.en.md → 12_deploy-staging.en.md} +1 -1
  139. package/templates/columns/{10_deploy-staging.fr.md → 12_deploy-staging.fr.md} +1 -1
  140. package/templates/columns/{11_validate-staging.en.md → 13_validate-staging.en.md} +1 -1
  141. package/templates/columns/{11_validate-staging.fr.md → 13_validate-staging.fr.md} +1 -1
  142. package/templates/columns/{12_done.en.md → 14_done.en.md} +1 -1
  143. 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.0.44",
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": "MIT",
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 <title> <description>`
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 <title> <description>`
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 <title> <description>`
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 <title> <description>`
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 <title> <description>`
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 <title> <description>`
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 <title> <description>`
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 <title> <description>`
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 <title> <description>`
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 <title> <description>`
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 <title> <description>`
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 <title> <description>`
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