@autocode-cli/autocode 0.1.10 → 0.1.11

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 (79) hide show
  1. package/README.md +2 -1
  2. package/dist/cli/commands/init.js +1 -1
  3. package/dist/cli/commands/init.js.map +1 -1
  4. package/dist/cli/commands/serve.js +1 -1
  5. package/dist/cli/commands/serve.js.map +1 -1
  6. package/dist/cli/commands/stats.d.ts +9 -0
  7. package/dist/cli/commands/stats.d.ts.map +1 -0
  8. package/dist/cli/commands/stats.js +108 -0
  9. package/dist/cli/commands/stats.js.map +1 -0
  10. package/dist/cli/parser.d.ts.map +1 -1
  11. package/dist/cli/parser.js +2 -0
  12. package/dist/cli/parser.js.map +1 -1
  13. package/dist/server/api.d.ts.map +1 -1
  14. package/dist/server/api.js +25 -13
  15. package/dist/server/api.js.map +1 -1
  16. package/dist/server/dashboard/pages/index.d.ts +1 -0
  17. package/dist/server/dashboard/pages/index.d.ts.map +1 -1
  18. package/dist/server/dashboard/pages/index.js +1 -0
  19. package/dist/server/dashboard/pages/index.js.map +1 -1
  20. package/dist/server/dashboard/pages/stats-page.d.ts +8 -0
  21. package/dist/server/dashboard/pages/stats-page.d.ts.map +1 -0
  22. package/dist/server/dashboard/pages/stats-page.js +624 -0
  23. package/dist/server/dashboard/pages/stats-page.js.map +1 -0
  24. package/dist/server/dashboard/scripts/index.d.ts.map +1 -1
  25. package/dist/server/dashboard/scripts/index.js +30 -1
  26. package/dist/server/dashboard/scripts/index.js.map +1 -1
  27. package/dist/server/dashboard/styles/base.d.ts.map +1 -1
  28. package/dist/server/dashboard/styles/base.js +9 -0
  29. package/dist/server/dashboard/styles/base.js.map +1 -1
  30. package/dist/server/dashboard.d.ts +1 -1
  31. package/dist/server/dashboard.d.ts.map +1 -1
  32. package/dist/server/dashboard.js +1 -1
  33. package/dist/server/dashboard.js.map +1 -1
  34. package/dist/server/index.d.ts.map +1 -1
  35. package/dist/server/index.js +8 -1
  36. package/dist/server/index.js.map +1 -1
  37. package/dist/services/claude.d.ts +9 -0
  38. package/dist/services/claude.d.ts.map +1 -1
  39. package/dist/services/claude.js +105 -2
  40. package/dist/services/claude.js.map +1 -1
  41. package/dist/services/stats.d.ts +58 -0
  42. package/dist/services/stats.d.ts.map +1 -0
  43. package/dist/services/stats.js +196 -0
  44. package/dist/services/stats.js.map +1 -0
  45. package/dist/utils/fs.js +1 -1
  46. package/dist/utils/fs.js.map +1 -1
  47. package/package.json +1 -1
  48. package/templates/prompts/changelog.en.md +3 -4
  49. package/templates/prompts/changelog.fr.md +3 -4
  50. package/templates/prompts/deploy-staging.en.md +2 -2
  51. package/templates/prompts/deploy-staging.fr.md +2 -2
  52. package/templates/prompts/dev.en.md +4 -5
  53. package/templates/prompts/dev.fr.md +4 -5
  54. package/templates/prompts/in-progress.en.md +3 -5
  55. package/templates/prompts/in-progress.fr.md +3 -5
  56. package/templates/prompts/ready.en.md +3 -5
  57. package/templates/prompts/ready.fr.md +3 -5
  58. package/templates/prompts/retest-cypress.en.md +3 -4
  59. package/templates/prompts/retest-cypress.fr.md +3 -4
  60. package/templates/prompts/review-best-practices.en.md +3 -4
  61. package/templates/prompts/review-best-practices.fr.md +3 -4
  62. package/templates/prompts/review-consistency.en.md +3 -4
  63. package/templates/prompts/review-consistency.fr.md +3 -4
  64. package/templates/prompts/review-no-duplication.en.md +3 -4
  65. package/templates/prompts/review-no-duplication.fr.md +3 -4
  66. package/templates/prompts/review-security.en.md +3 -4
  67. package/templates/prompts/review-security.fr.md +3 -4
  68. package/templates/prompts/splitter.en.md +9 -1
  69. package/templates/prompts/splitter.fr.md +9 -2
  70. package/templates/prompts/testing-cypress.en.md +3 -4
  71. package/templates/prompts/testing-cypress.fr.md +3 -4
  72. package/templates/prompts/testing-integration.en.md +3 -4
  73. package/templates/prompts/testing-integration.fr.md +3 -4
  74. package/templates/prompts/testing-unit.en.md +3 -4
  75. package/templates/prompts/testing-unit.fr.md +3 -4
  76. package/templates/prompts/update-docs.en.md +3 -4
  77. package/templates/prompts/update-docs.fr.md +3 -4
  78. package/templates/prompts/validate-staging.en.md +8 -9
  79. package/templates/prompts/validate-staging.fr.md +8 -9
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Claude Stats Service - Track Claude CLI usage metrics
3
+ *
4
+ * Persists stats to .autocode/stats.json
5
+ */
6
+ import { join } from 'node:path';
7
+ import { spawnSync } from 'node:child_process';
8
+ import { readFileSafe, writeFileSafe, ensureDir } from '../utils/fs.js';
9
+ import { getConfig } from '../utils/config.js';
10
+ // ============================================
11
+ // STATE
12
+ // ============================================
13
+ const MAX_HISTORY = 100;
14
+ let currentStats = null;
15
+ let sessionStartedAt = null;
16
+ // ============================================
17
+ // HELPERS
18
+ // ============================================
19
+ function getStatsFilePath() {
20
+ const config = getConfig();
21
+ return join(config.root, '.autocode', 'stats.json');
22
+ }
23
+ function getDefaultStats() {
24
+ return {
25
+ profile: '',
26
+ model: '',
27
+ totals: {
28
+ tokensInput: 0,
29
+ tokensOutput: 0,
30
+ callCount: 0,
31
+ costUsd: 0,
32
+ },
33
+ session: {
34
+ startedAt: new Date().toISOString(),
35
+ tokensInput: 0,
36
+ tokensOutput: 0,
37
+ callCount: 0,
38
+ costUsd: 0,
39
+ },
40
+ history: [],
41
+ };
42
+ }
43
+ /**
44
+ * Get Claude profile from claude config
45
+ */
46
+ function fetchClaudeProfile() {
47
+ try {
48
+ const result = spawnSync('claude', ['config', 'get', 'profile'], {
49
+ encoding: 'utf-8',
50
+ timeout: 5000,
51
+ });
52
+ if (result.status === 0 && result.stdout) {
53
+ return result.stdout.trim() || 'default';
54
+ }
55
+ }
56
+ catch {
57
+ // Ignore errors
58
+ }
59
+ return 'default';
60
+ }
61
+ // ============================================
62
+ // PUBLIC API
63
+ // ============================================
64
+ /**
65
+ * Initialize stats - load from file or create default
66
+ */
67
+ export function initStats() {
68
+ if (currentStats)
69
+ return currentStats;
70
+ const filePath = getStatsFilePath();
71
+ const content = readFileSafe(filePath);
72
+ if (content) {
73
+ try {
74
+ currentStats = JSON.parse(content);
75
+ // Start new session
76
+ sessionStartedAt = new Date().toISOString();
77
+ currentStats.session = {
78
+ startedAt: sessionStartedAt,
79
+ tokensInput: 0,
80
+ tokensOutput: 0,
81
+ callCount: 0,
82
+ costUsd: 0,
83
+ };
84
+ // Migrate old stats: add costUsd if missing
85
+ if (currentStats.totals.costUsd === undefined) {
86
+ currentStats.totals.costUsd = 0;
87
+ }
88
+ }
89
+ catch {
90
+ currentStats = getDefaultStats();
91
+ }
92
+ }
93
+ else {
94
+ currentStats = getDefaultStats();
95
+ }
96
+ // Fetch profile if not set
97
+ if (!currentStats.profile) {
98
+ currentStats.profile = fetchClaudeProfile();
99
+ }
100
+ sessionStartedAt = currentStats.session.startedAt;
101
+ saveStats();
102
+ return currentStats;
103
+ }
104
+ /**
105
+ * Save stats to file
106
+ */
107
+ function saveStats() {
108
+ if (!currentStats)
109
+ return;
110
+ const filePath = getStatsFilePath();
111
+ ensureDir(join(getConfig().root, '.autocode'));
112
+ writeFileSafe(filePath, JSON.stringify(currentStats, null, 2));
113
+ }
114
+ /**
115
+ * Record a Claude call with its metrics
116
+ */
117
+ export function recordCall(call) {
118
+ if (!currentStats) {
119
+ initStats();
120
+ }
121
+ // Update model if provided
122
+ if (call.model && currentStats) {
123
+ currentStats.model = call.model;
124
+ }
125
+ if (!currentStats)
126
+ return;
127
+ // Update totals
128
+ currentStats.totals.tokensInput += call.tokensInput;
129
+ currentStats.totals.tokensOutput += call.tokensOutput;
130
+ currentStats.totals.callCount += 1;
131
+ currentStats.totals.costUsd += call.costUsd || 0;
132
+ // Update session
133
+ currentStats.session.tokensInput += call.tokensInput;
134
+ currentStats.session.tokensOutput += call.tokensOutput;
135
+ currentStats.session.callCount += 1;
136
+ currentStats.session.costUsd += call.costUsd || 0;
137
+ // Add to history (limit to MAX_HISTORY)
138
+ currentStats.history.unshift(call);
139
+ if (currentStats.history.length > MAX_HISTORY) {
140
+ currentStats.history = currentStats.history.slice(0, MAX_HISTORY);
141
+ }
142
+ saveStats();
143
+ }
144
+ /**
145
+ * Get current stats
146
+ */
147
+ export function getStats() {
148
+ if (!currentStats) {
149
+ initStats();
150
+ }
151
+ return currentStats || getDefaultStats();
152
+ }
153
+ /**
154
+ * Reset session stats (keeps totals)
155
+ */
156
+ export function resetSession() {
157
+ if (!currentStats) {
158
+ initStats();
159
+ }
160
+ if (!currentStats)
161
+ return;
162
+ sessionStartedAt = new Date().toISOString();
163
+ currentStats.session = {
164
+ startedAt: sessionStartedAt,
165
+ tokensInput: 0,
166
+ tokensOutput: 0,
167
+ callCount: 0,
168
+ costUsd: 0,
169
+ };
170
+ saveStats();
171
+ }
172
+ /**
173
+ * Update profile info (called after fetching from Claude)
174
+ */
175
+ export function updateProfile(profile) {
176
+ if (!currentStats) {
177
+ initStats();
178
+ }
179
+ if (!currentStats)
180
+ return;
181
+ currentStats.profile = profile;
182
+ saveStats();
183
+ }
184
+ /**
185
+ * Update model info (called after receiving from stream-json)
186
+ */
187
+ export function updateModel(model) {
188
+ if (!currentStats) {
189
+ initStats();
190
+ }
191
+ if (!currentStats)
192
+ return;
193
+ currentStats.model = model;
194
+ saveStats();
195
+ }
196
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/services/stats.ts"],"names":[],"mappings":"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"}
package/dist/utils/fs.js CHANGED
@@ -85,7 +85,7 @@ export function getFileMtime(filePath) {
85
85
  * Get the sequence number from .seq file
86
86
  */
87
87
  export function getNextSequence(rootDir) {
88
- const seqFile = join(rootDir, '.seq');
88
+ const seqFile = join(rootDir, '.autocode', '.seq');
89
89
  let seq = 1;
90
90
  if (existsSync(seqFile)) {
91
91
  const content = readFileSync(seqFile, 'utf-8').trim();
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.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.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "Filesystem-based ticket system with web dashboard",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,13 +12,12 @@ Update the changelog with the changes made in this ticket. Document for users an
12
12
  4. Add entry under "Unreleased" section
13
13
  5. Use clear, user-facing language
14
14
  6. Reference ticket key if applicable
15
- 7. Commit + push changelog update
16
- 8. If out of scope work detected:
15
+ 7. If out of scope work detected:
17
16
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
18
17
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
19
18
  - In scope: handle directly in current ticket
20
- 9. Document: `autocode comment <key> "Changelog updated"`
21
- 10. Advance: `autocode next <key>`
19
+ 8. Document: `autocode comment <key> "Changelog updated"`
20
+ 9. Advance: `autocode next <key>`
22
21
 
23
22
  > Or return: `autocode move <key> <targetColumn>`
24
23
 
@@ -12,13 +12,12 @@ Mettre a jour le changelog avec les changements effectues dans ce ticket. Docume
12
12
  4. Ajouter une entree sous la section "Unreleased"
13
13
  5. Utiliser un langage clair oriente utilisateur
14
14
  6. Referencer la cle du ticket si applicable
15
- 7. Commit + push de la mise a jour du changelog
16
- 8. Si travail hors scope detecte :
15
+ 7. Si travail hors scope detecte :
17
16
  - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
18
17
  - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
19
18
  - Dans le scope : traiter directement dans le ticket actuel
20
- 9. Documenter : `autocode comment <key> "Changelog mis a jour"`
21
- 10. Avancer : `autocode next <key>`
19
+ 8. Documenter : `autocode comment <key> "Changelog mis a jour"`
20
+ 9. Avancer : `autocode next <key>`
22
21
 
23
22
  > Ou retour : `autocode move <key> <targetColumn>`
24
23
 
@@ -6,7 +6,7 @@ Deploy changes to staging environment for validation.
6
6
 
7
7
  ## Actions
8
8
 
9
- 1. Verify all commits are pushed (git status)
9
+ 1. Verify git status is clean
10
10
  2. Execute deployment to staging
11
11
  3. Wait for deployment to complete
12
12
  4. Verify deployment is stable
@@ -22,7 +22,7 @@ Deploy changes to staging environment for validation.
22
22
 
23
23
  ## Validation Criteria
24
24
 
25
- - [ ] All commits pushed
25
+ - [ ] Git status clean
26
26
  - [ ] Deployment successful
27
27
  - [ ] Application accessible in staging
28
28
  - [ ] No startup errors
@@ -6,7 +6,7 @@ Deployer les changements sur l'environnement de staging pour validation.
6
6
 
7
7
  ## Actions
8
8
 
9
- 1. Verifier que tous les commits sont pousses (git status)
9
+ 1. Verifier que git status est propre
10
10
  2. Executer le deploiement vers staging
11
11
  3. Attendre la fin du deploiement
12
12
  4. Verifier que le deploiement est stable
@@ -22,7 +22,7 @@ Deployer les changements sur l'environnement de staging pour validation.
22
22
 
23
23
  ## Criteres de Validation
24
24
 
25
- - [ ] Tous les commits pousses
25
+ - [ ] Git status propre
26
26
  - [ ] Deploiement reussi
27
27
  - [ ] Application accessible en staging
28
28
  - [ ] Pas d'erreurs au demarrage
@@ -11,14 +11,13 @@ Implement the feature or fix according to specifications. Write clean, maintaina
11
11
  3. Implement the feature following coding standards
12
12
  4. Add inline comments for complex logic
13
13
  5. Handle edge cases and errors gracefully
14
- 6. Test locally before committing
15
- 7. Commit + push with descriptive message
16
- 8. If out of scope work detected:
14
+ 6. Test locally before proceeding
15
+ 7. If out of scope work detected:
17
16
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
18
17
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
19
18
  - In scope: handle directly in current ticket
20
- 9. Document: `autocode comment <key> "Development complete: <files modified>"`
21
- 10. Advance: `autocode next <key>`
19
+ 8. Document: `autocode comment <key> "Development complete: <files modified>"`
20
+ 9. Advance: `autocode next <key>`
22
21
 
23
22
  > Or return: `autocode move <key> <targetColumn>`
24
23
 
@@ -11,14 +11,13 @@ Implementer la fonctionnalite ou le correctif selon les specifications. Ecrire d
11
11
  3. Implementer la fonctionnalite en suivant les standards de code
12
12
  4. Ajouter des commentaires pour la logique complexe
13
13
  5. Gerer les cas limites et erreurs elegamment
14
- 6. Tester localement avant de commiter
15
- 7. Commit + push avec message descriptif
16
- 8. Si travail hors scope detecte :
14
+ 6. Tester localement avant de continuer
15
+ 7. Si travail hors scope detecte :
17
16
  - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
18
17
  - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
19
18
  - Dans le scope : traiter directement dans le ticket actuel
20
- 9. Documenter : `autocode comment <key> "Developpement termine : <fichiers modifies>"`
21
- 10. Avancer : `autocode next <key>`
19
+ 8. Documenter : `autocode comment <key> "Developpement termine : <fichiers modifies>"`
20
+ 9. Avancer : `autocode next <key>`
22
21
 
23
22
  > Ou retour : `autocode move <key> <targetColumn>`
24
23
 
@@ -11,13 +11,12 @@ Active development. Ticket is being worked on, code is being written.
11
11
  3. Plan modifications (files to create/modify)
12
12
  4. Implement the solution
13
13
  5. Test locally that it works
14
- 6. Commit + push work done
15
- 7. If out of scope work detected:
14
+ 6. If out of scope work detected:
16
15
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
16
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
17
  - In scope: handle directly in current ticket
19
- 8. Document: `autocode comment <key> "Work completed"`
20
- 9. Advance: `autocode next <key>`
18
+ 7. Document: `autocode comment <key> "Work completed"`
19
+ 8. Advance: `autocode next <key>`
21
20
 
22
21
  > Or return: `autocode move <key> <targetColumn>`
23
22
 
@@ -25,7 +24,6 @@ Active development. Ticket is being worked on, code is being written.
25
24
 
26
25
  - [ ] Feature/fix is implemented
27
26
  - [ ] Local tests pass
28
- - [ ] Code is committed and pushed
29
27
  - [ ] A comment summarizes work done
30
28
 
31
29
  ## Notes
@@ -11,13 +11,12 @@ Developpement actif. Le ticket est en cours de travail, le code est en cours d'e
11
11
  3. Planifier les modifications (fichiers a creer/modifier)
12
12
  4. Implementer la solution
13
13
  5. Tester localement que ca fonctionne
14
- 6. Commit + push du travail effectue
15
- 7. Si travail hors scope detecte :
14
+ 6. Si travail hors scope detecte :
16
15
  - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
17
16
  - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
18
17
  - Dans le scope : traiter directement dans le ticket actuel
19
- 8. Documenter : `autocode comment <key> "Travail effectue"`
20
- 9. Avancer : `autocode next <key>`
18
+ 7. Documenter : `autocode comment <key> "Travail effectue"`
19
+ 8. Avancer : `autocode next <key>`
21
20
 
22
21
  > Ou retour : `autocode move <key> <targetColumn>`
23
22
 
@@ -25,7 +24,6 @@ Developpement actif. Le ticket est en cours de travail, le code est en cours d'e
25
24
 
26
25
  - [ ] Feature/fix implementee
27
26
  - [ ] Tests locaux passent
28
- - [ ] Code commite et pousse
29
27
  - [ ] Un commentaire resume le travail effectue
30
28
 
31
29
  ## Notes
@@ -11,13 +11,12 @@ Qualified tickets ready to be worked on. All information needed is available.
11
11
  3. Plan modifications (files to create/modify)
12
12
  4. Implement the solution
13
13
  5. Test locally that it works
14
- 6. Commit + push work done
15
- 7. If out of scope work detected:
14
+ 6. If out of scope work detected:
16
15
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
16
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
17
  - In scope: handle directly in current ticket
19
- 8. Document: `autocode comment <key> "Work completed"`
20
- 9. Advance: `autocode next <key>`
18
+ 7. Document: `autocode comment <key> "Work completed"`
19
+ 8. Advance: `autocode next <key>`
21
20
 
22
21
  > Or return: `autocode move <key> <targetColumn>`
23
22
 
@@ -25,7 +24,6 @@ Qualified tickets ready to be worked on. All information needed is available.
25
24
 
26
25
  - [ ] Feature/fix is implemented
27
26
  - [ ] Local tests pass
28
- - [ ] Code is committed and pushed
29
27
  - [ ] A comment summarizes work done
30
28
 
31
29
  ## Notes
@@ -11,13 +11,12 @@ Tickets qualifies prets a etre travailles. Toutes les informations necessaires s
11
11
  3. Planifier les modifications (fichiers a creer/modifier)
12
12
  4. Implementer la solution
13
13
  5. Tester localement que ca fonctionne
14
- 6. Commit + push du travail effectue
15
- 7. Si travail hors scope detecte :
14
+ 6. Si travail hors scope detecte :
16
15
  - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
17
16
  - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
18
17
  - Dans le scope : traiter directement dans le ticket actuel
19
- 8. Documenter : `autocode comment <key> "Travail effectue"`
20
- 9. Avancer : `autocode next <key>`
18
+ 7. Documenter : `autocode comment <key> "Travail effectue"`
19
+ 8. Avancer : `autocode next <key>`
21
20
 
22
21
  > Ou retour : `autocode move <key> <targetColumn>`
23
22
 
@@ -25,7 +24,6 @@ Tickets qualifies prets a etre travailles. Toutes les informations necessaires s
25
24
 
26
25
  - [ ] Feature/fix implementee
27
26
  - [ ] Tests locaux passent
28
- - [ ] Code commite et pousse
29
27
  - [ ] Un commentaire resume le travail effectue
30
28
 
31
29
  ## Notes
@@ -10,13 +10,12 @@ Re-run all automated E2E tests to ensure refactoring did not introduce regressio
10
10
  2. Compare results with pre-refactoring run
11
11
  3. If new failures: identify cause (test or code issue)
12
12
  4. Fix any regressions before proceeding
13
- 5. Commit test fixes if needed
14
- 6. If out of scope work detected:
13
+ 5. If out of scope work detected:
15
14
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
16
15
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
17
16
  - In scope: handle directly in current ticket
18
- 7. Document: `autocode comment <key> "Retest Cypress OK"`
19
- 8. Advance: `autocode next <key>`
17
+ 6. Document: `autocode comment <key> "Retest Cypress OK"`
18
+ 7. Advance: `autocode next <key>`
20
19
 
21
20
  > Or return: `autocode move <key> <targetColumn>`
22
21
 
@@ -10,13 +10,12 @@ Re-executer tous les tests E2E automatises pour s'assurer que le refactoring n'a
10
10
  2. Comparer les resultats avec l'execution pre-refactoring
11
11
  3. Si nouveaux echecs : identifier la cause (probleme de test ou de code)
12
12
  4. Corriger toute regression avant de continuer
13
- 5. Commiter les corrections de tests si necessaire
14
- 6. Si travail hors scope detecte :
13
+ 5. Si travail hors scope detecte :
15
14
  - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
16
15
  - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
17
16
  - Dans le scope : traiter directement dans le ticket actuel
18
- 7. Documenter : `autocode comment <key> "Retest Cypress OK"`
19
- 8. Avancer : `autocode next <key>`
17
+ 6. Documenter : `autocode comment <key> "Retest Cypress OK"`
18
+ 7. Avancer : `autocode next <key>`
20
19
 
21
20
  > Ou retour : `autocode move <key> <targetColumn>`
22
21
 
@@ -12,13 +12,12 @@ Code quality audit. Verify conventions and best practices are followed.
12
12
  4. Verify file size (components < 300 lines)
13
13
  5. Verify import organization
14
14
  6. Fix violations found
15
- 7. Commit + push corrections
16
- 8. If out of scope work detected:
15
+ 7. If out of scope work detected:
17
16
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
18
17
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
19
18
  - In scope: handle directly in current ticket
20
- 9. Document: `autocode comment <key> "Review best practices OK"`
21
- 10. Advance: `autocode next <key>`
19
+ 8. Document: `autocode comment <key> "Review best practices OK"`
20
+ 9. Advance: `autocode next <key>`
22
21
 
23
22
  > Or return: `autocode move <key> <targetColumn>`
24
23
 
@@ -12,13 +12,12 @@ Audit qualite du code. Verifier que les conventions et bonnes pratiques sont res
12
12
  4. Verifier la taille des fichiers (composants < 300 lignes)
13
13
  5. Verifier l'organisation des imports
14
14
  6. Corriger les violations trouvees
15
- 7. Commit + push des corrections
16
- 8. Si travail hors scope detecte :
15
+ 7. Si travail hors scope detecte :
17
16
  - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
18
17
  - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
19
18
  - Dans le scope : traiter directement dans le ticket actuel
20
- 9. Documenter : `autocode comment <key> "Review best practices OK"`
21
- 10. Avancer : `autocode next <key>`
19
+ 8. Documenter : `autocode comment <key> "Review best practices OK"`
20
+ 9. Avancer : `autocode next <key>`
22
21
 
23
22
  > Ou retour : `autocode move <key> <targetColumn>`
24
23
 
@@ -12,13 +12,12 @@ Verify code integrates harmoniously with existing project architecture.
12
12
  4. Check error handling (uniform try/catch)
13
13
  5. Verify correct Pinia store usage
14
14
  6. Fix inconsistencies
15
- 7. Commit + push
16
- 8. If out of scope work detected:
15
+ 7. If out of scope work detected:
17
16
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
18
17
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
19
18
  - In scope: handle directly in current ticket
20
- 9. Document: `autocode comment <key> "Review consistency OK"`
21
- 10. Advance: `autocode next <key>`
19
+ 8. Document: `autocode comment <key> "Review consistency OK"`
20
+ 9. Advance: `autocode next <key>`
22
21
 
23
22
  > Or return: `autocode move <key> <targetColumn>`
24
23
 
@@ -12,13 +12,12 @@ Verifier que le code s'integre harmonieusement avec l'architecture existante du
12
12
  4. Controler la gestion d'erreurs (try/catch uniforme)
13
13
  5. Verifier l'usage correct des stores Pinia
14
14
  6. Corriger les incoherences
15
- 7. Commit + push
16
- 8. Si travail hors scope detecte :
15
+ 7. Si travail hors scope detecte :
17
16
  - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
18
17
  - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
19
18
  - Dans le scope : traiter directement dans le ticket actuel
20
- 9. Documenter : `autocode comment <key> "Review consistency OK"`
21
- 10. Avancer : `autocode next <key>`
19
+ 8. Documenter : `autocode comment <key> "Review consistency OK"`
20
+ 9. Avancer : `autocode next <key>`
22
21
 
23
22
  > Ou retour : `autocode move <key> <targetColumn>`
24
23
 
@@ -12,13 +12,12 @@ Identify and eliminate code duplication. Factor into reusable functions/composab
12
12
  4. Detect copy-pasted business logic
13
13
  5. Extract to composable/service/shared function if >2 usages
14
14
  6. Update all existing calls
15
- 7. Commit + push
16
- 8. If out of scope work detected:
15
+ 7. If out of scope work detected:
17
16
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
18
17
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
19
18
  - In scope: handle directly in current ticket
20
- 9. Document: `autocode comment <key> "Review no duplication OK"`
21
- 10. Advance: `autocode next <key>`
19
+ 8. Document: `autocode comment <key> "Review no duplication OK"`
20
+ 9. Advance: `autocode next <key>`
22
21
 
23
22
  > Or return: `autocode move <key> <targetColumn>`
24
23
 
@@ -12,13 +12,12 @@ Identifier et eliminer la duplication de code. Factoriser en fonctions/composabl
12
12
  4. Detecter la logique metier copiee-collee
13
13
  5. Extraire en composable/service/fonction partagee si >2 usages
14
14
  6. Mettre a jour tous les appels existants
15
- 7. Commit + push
16
- 8. Si travail hors scope detecte :
15
+ 7. Si travail hors scope detecte :
17
16
  - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
18
17
  - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
19
18
  - Dans le scope : traiter directement dans le ticket actuel
20
- 9. Documenter : `autocode comment <key> "Review no duplication OK"`
21
- 10. Avancer : `autocode next <key>`
19
+ 8. Documenter : `autocode comment <key> "Review no duplication OK"`
20
+ 9. Avancer : `autocode next <key>`
22
21
 
23
22
  > Ou retour : `autocode move <key> <targetColumn>`
24
23
 
@@ -13,13 +13,12 @@ Security audit. Identify and fix potential vulnerabilities (OWASP Top 10).
13
13
  5. Ensure API keys are in .env, never in code
14
14
  6. Audit API calls (injection, XSS)
15
15
  7. Fix vulnerabilities
16
- 8. Commit + push
17
- 9. If out of scope work detected:
16
+ 8. If out of scope work detected:
18
17
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
19
18
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
20
19
  - In scope: handle directly in current ticket
21
- 10. Document: `autocode comment <key> "Review security OK"`
22
- 11. Advance: `autocode next <key>`
20
+ 9. Document: `autocode comment <key> "Review security OK"`
21
+ 10. Advance: `autocode next <key>`
23
22
 
24
23
  > Or return: `autocode move <key> <targetColumn>`
25
24