@autocode-cli/autocode 0.1.9 → 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 (108) 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/new.d.ts.map +1 -1
  5. package/dist/cli/commands/new.js +20 -2
  6. package/dist/cli/commands/new.js.map +1 -1
  7. package/dist/cli/commands/serve.js +1 -1
  8. package/dist/cli/commands/serve.js.map +1 -1
  9. package/dist/cli/commands/stats.d.ts +9 -0
  10. package/dist/cli/commands/stats.d.ts.map +1 -0
  11. package/dist/cli/commands/stats.js +108 -0
  12. package/dist/cli/commands/stats.js.map +1 -0
  13. package/dist/cli/parser.d.ts.map +1 -1
  14. package/dist/cli/parser.js +2 -0
  15. package/dist/cli/parser.js.map +1 -1
  16. package/dist/server/api.d.ts.map +1 -1
  17. package/dist/server/api.js +25 -13
  18. package/dist/server/api.js.map +1 -1
  19. package/dist/server/dashboard/pages/index.d.ts +1 -0
  20. package/dist/server/dashboard/pages/index.d.ts.map +1 -1
  21. package/dist/server/dashboard/pages/index.js +1 -0
  22. package/dist/server/dashboard/pages/index.js.map +1 -1
  23. package/dist/server/dashboard/pages/stats-page.d.ts +8 -0
  24. package/dist/server/dashboard/pages/stats-page.d.ts.map +1 -0
  25. package/dist/server/dashboard/pages/stats-page.js +624 -0
  26. package/dist/server/dashboard/pages/stats-page.js.map +1 -0
  27. package/dist/server/dashboard/scripts/index.d.ts.map +1 -1
  28. package/dist/server/dashboard/scripts/index.js +30 -1
  29. package/dist/server/dashboard/scripts/index.js.map +1 -1
  30. package/dist/server/dashboard/styles/base.d.ts.map +1 -1
  31. package/dist/server/dashboard/styles/base.js +9 -0
  32. package/dist/server/dashboard/styles/base.js.map +1 -1
  33. package/dist/server/dashboard.d.ts +1 -1
  34. package/dist/server/dashboard.d.ts.map +1 -1
  35. package/dist/server/dashboard.js +1 -1
  36. package/dist/server/dashboard.js.map +1 -1
  37. package/dist/server/index.d.ts.map +1 -1
  38. package/dist/server/index.js +8 -1
  39. package/dist/server/index.js.map +1 -1
  40. package/dist/services/claude.d.ts +9 -0
  41. package/dist/services/claude.d.ts.map +1 -1
  42. package/dist/services/claude.js +105 -2
  43. package/dist/services/claude.js.map +1 -1
  44. package/dist/services/stats.d.ts +58 -0
  45. package/dist/services/stats.d.ts.map +1 -0
  46. package/dist/services/stats.js +196 -0
  47. package/dist/services/stats.js.map +1 -0
  48. package/dist/utils/fs.js +1 -1
  49. package/dist/utils/fs.js.map +1 -1
  50. package/package.json +1 -1
  51. package/templates/prompts/backlog.en.md +4 -1
  52. package/templates/prompts/backlog.fr.md +4 -1
  53. package/templates/prompts/changelog.en.md +6 -4
  54. package/templates/prompts/changelog.fr.md +6 -4
  55. package/templates/prompts/deploy-prod.en.md +4 -1
  56. package/templates/prompts/deploy-prod.fr.md +4 -1
  57. package/templates/prompts/deploy-staging.en.md +6 -3
  58. package/templates/prompts/deploy-staging.fr.md +6 -3
  59. package/templates/prompts/design.en.md +4 -1
  60. package/templates/prompts/design.fr.md +4 -1
  61. package/templates/prompts/dev.en.md +7 -5
  62. package/templates/prompts/dev.fr.md +7 -5
  63. package/templates/prompts/done.en.md +3 -1
  64. package/templates/prompts/done.fr.md +3 -1
  65. package/templates/prompts/git-commit.en.md +4 -1
  66. package/templates/prompts/git-commit.fr.md +4 -1
  67. package/templates/prompts/git-push.en.md +4 -1
  68. package/templates/prompts/git-push.fr.md +4 -1
  69. package/templates/prompts/git-tag.en.md +4 -1
  70. package/templates/prompts/git-tag.fr.md +4 -1
  71. package/templates/prompts/in-progress.en.md +6 -5
  72. package/templates/prompts/in-progress.fr.md +6 -5
  73. package/templates/prompts/qualification.en.md +4 -1
  74. package/templates/prompts/qualification.fr.md +4 -1
  75. package/templates/prompts/ready.en.md +6 -5
  76. package/templates/prompts/ready.fr.md +6 -5
  77. package/templates/prompts/retest-cypress.en.md +6 -4
  78. package/templates/prompts/retest-cypress.fr.md +6 -4
  79. package/templates/prompts/retest-playwright.en.md +4 -1
  80. package/templates/prompts/retest-playwright.fr.md +4 -1
  81. package/templates/prompts/retest.en.md +4 -1
  82. package/templates/prompts/retest.fr.md +4 -1
  83. package/templates/prompts/review-best-practices.en.md +6 -4
  84. package/templates/prompts/review-best-practices.fr.md +6 -4
  85. package/templates/prompts/review-code.en.md +4 -1
  86. package/templates/prompts/review-code.fr.md +4 -1
  87. package/templates/prompts/review-consistency.en.md +6 -4
  88. package/templates/prompts/review-consistency.fr.md +6 -4
  89. package/templates/prompts/review-no-duplication.en.md +6 -4
  90. package/templates/prompts/review-no-duplication.fr.md +6 -4
  91. package/templates/prompts/review-security.en.md +6 -4
  92. package/templates/prompts/review-security.fr.md +6 -4
  93. package/templates/prompts/specification.en.md +4 -1
  94. package/templates/prompts/specification.fr.md +4 -1
  95. package/templates/prompts/splitter.en.md +9 -1
  96. package/templates/prompts/splitter.fr.md +9 -2
  97. package/templates/prompts/testing-cypress.en.md +6 -4
  98. package/templates/prompts/testing-cypress.fr.md +6 -4
  99. package/templates/prompts/testing-integration.en.md +6 -4
  100. package/templates/prompts/testing-integration.fr.md +6 -4
  101. package/templates/prompts/testing-playwright.en.md +4 -1
  102. package/templates/prompts/testing-playwright.fr.md +4 -1
  103. package/templates/prompts/testing-unit.en.md +6 -4
  104. package/templates/prompts/testing-unit.fr.md +6 -4
  105. package/templates/prompts/update-docs.en.md +6 -4
  106. package/templates/prompts/update-docs.fr.md +6 -4
  107. package/templates/prompts/validate-staging.en.md +11 -9
  108. package/templates/prompts/validate-staging.fr.md +11 -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.9",
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,7 +12,10 @@ Storage for new tickets. Tickets here need qualification before work can begin.
12
12
  4. Define acceptance criteria if missing
13
13
  5. Set priority (P0-P3) based on impact and urgency
14
14
  6. Identify scope and potentially affected files
15
- 7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
15
+ 7. If out of scope work detected:
16
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
+ - In scope: handle directly in current ticket
16
19
  8. Document: `autocode comment <key> "Qualification done"`
17
20
  9. Advance: `autocode next <key>`
18
21
 
@@ -12,7 +12,10 @@ Stockage des nouveaux tickets. Les tickets ici doivent etre qualifies avant de c
12
12
  4. Definir les criteres d'acceptation si manquants
13
13
  5. Definir la priorite (P0-P3) selon l'impact et l'urgence
14
14
  6. Identifier le perimetre et les fichiers potentiellement impactes
15
- 7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
15
+ 7. Si travail hors scope detecte :
16
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
17
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
18
+ - Dans le scope : traiter directement dans le ticket actuel
16
19
  8. Documenter : `autocode comment <key> "Qualification effectuee"`
17
20
  9. Avancer : `autocode next <key>`
18
21
 
@@ -12,10 +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: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
17
- 9. Document: `autocode comment <key> "Changelog updated"`
18
- 10. Advance: `autocode next <key>`
15
+ 7. If out of scope work detected:
16
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
+ - In scope: handle directly in current ticket
19
+ 8. Document: `autocode comment <key> "Changelog updated"`
20
+ 9. Advance: `autocode next <key>`
19
21
 
20
22
  > Or return: `autocode move <key> <targetColumn>`
21
23
 
@@ -12,10 +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 : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
17
- 9. Documenter : `autocode comment <key> "Changelog mis a jour"`
18
- 10. Avancer : `autocode next <key>`
15
+ 7. Si travail hors scope detecte :
16
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
17
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
18
+ - Dans le scope : traiter directement dans le ticket actuel
19
+ 8. Documenter : `autocode comment <key> "Changelog mis a jour"`
20
+ 9. Avancer : `autocode next <key>`
19
21
 
20
22
  > Ou retour : `autocode move <key> <targetColumn>`
21
23
 
@@ -14,7 +14,10 @@ Deploy the release to production environment. Ensure zero-downtime deployment.
14
14
  6. Verify critical functionality
15
15
  7. Monitor logs for errors
16
16
  8. If issues detected: rollback immediately
17
- 9. If out of scope work detected: `autocode new "<title>" "<description>" -p P0 -l "urgent" -a "<criteria>" -s patch`
17
+ 9. If out of scope work detected:
18
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
19
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
20
+ - In scope: handle directly in current ticket
18
21
  10. Document: `autocode comment <key> "Deployed to production: v<version>"`
19
22
  11. Advance: `autocode next <key>`
20
23
 
@@ -14,7 +14,10 @@ Deployer la release en environnement de production. Assurer un deploiement sans
14
14
  6. Verifier les fonctionnalites critiques
15
15
  7. Surveiller les logs pour les erreurs
16
16
  8. Si problemes detectes : rollback immediatement
17
- 9. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P0 -l "urgent" -a "<criteres>" -s patch`
17
+ 9. Si travail hors scope detecte :
18
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
19
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
20
+ - Dans le scope : traiter directement dans le ticket actuel
18
21
  10. Documenter : `autocode comment <key> "Deploye en production : v<version>"`
19
22
  11. Avancer : `autocode next <key>`
20
23
 
@@ -6,12 +6,15 @@ 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
13
13
  5. Document deployed version
14
- 6. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
14
+ 6. If out of scope work detected:
15
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
16
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
17
+ - In scope: handle directly in current ticket
15
18
  7. Document: `autocode comment <key> "Deployed to staging"`
16
19
  8. Advance: `autocode next <key>`
17
20
 
@@ -19,7 +22,7 @@ Deploy changes to staging environment for validation.
19
22
 
20
23
  ## Validation Criteria
21
24
 
22
- - [ ] All commits pushed
25
+ - [ ] Git status clean
23
26
  - [ ] Deployment successful
24
27
  - [ ] Application accessible in staging
25
28
  - [ ] No startup errors
@@ -6,12 +6,15 @@ 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
13
13
  5. Documenter la version deployee
14
- 6. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
14
+ 6. Si travail hors scope detecte :
15
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
16
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
17
+ - Dans le scope : traiter directement dans le ticket actuel
15
18
  7. Documenter : `autocode comment <key> "Deploye en staging"`
16
19
  8. Avancer : `autocode next <key>`
17
20
 
@@ -19,7 +22,7 @@ Deployer les changements sur l'environnement de staging pour validation.
19
22
 
20
23
  ## Criteres de Validation
21
24
 
22
- - [ ] Tous les commits pousses
25
+ - [ ] Git status propre
23
26
  - [ ] Deploiement reussi
24
27
  - [ ] Application accessible en staging
25
28
  - [ ] Pas d'erreurs au demarrage
@@ -12,7 +12,10 @@ Create technical and/or UX design for the feature. Prepare mockups, diagrams, or
12
12
  4. Create sequence diagrams for complex flows
13
13
  5. Define state management approach if applicable
14
14
  6. Document design decisions and trade-offs
15
- 7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
15
+ 7. If out of scope work detected:
16
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
+ - In scope: handle directly in current ticket
16
19
  8. Document: `autocode comment <key> "Design complete: <summary>"`
17
20
  9. Advance: `autocode next <key>`
18
21
 
@@ -12,7 +12,10 @@ Creer le design technique et/ou UX pour la fonctionnalite. Preparer les maquette
12
12
  4. Creer des diagrammes de sequence pour les flux complexes
13
13
  5. Definir l'approche de gestion d'etat si applicable
14
14
  6. Documenter les decisions de design et compromis
15
- 7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
15
+ 7. Si travail hors scope detecte :
16
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
17
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
18
+ - Dans le scope : traiter directement dans le ticket actuel
16
19
  8. Documenter : `autocode comment <key> "Design termine : <resume>"`
17
20
  9. Avancer : `autocode next <key>`
18
21
 
@@ -11,11 +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: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
17
- 9. Document: `autocode comment <key> "Development complete: <files modified>"`
18
- 10. Advance: `autocode next <key>`
14
+ 6. Test locally before proceeding
15
+ 7. If out of scope work detected:
16
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
+ - In scope: handle directly in current ticket
19
+ 8. Document: `autocode comment <key> "Development complete: <files modified>"`
20
+ 9. Advance: `autocode next <key>`
19
21
 
20
22
  > Or return: `autocode move <key> <targetColumn>`
21
23
 
@@ -11,11 +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 : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
17
- 9. Documenter : `autocode comment <key> "Developpement termine : <fichiers modifies>"`
18
- 10. Avancer : `autocode next <key>`
14
+ 6. Tester localement avant de continuer
15
+ 7. Si travail hors scope detecte :
16
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
17
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
18
+ - Dans le scope : traiter directement dans le ticket actuel
19
+ 8. Documenter : `autocode comment <key> "Developpement termine : <fichiers modifies>"`
20
+ 9. Avancer : `autocode next <key>`
19
21
 
20
22
  > Ou retour : `autocode move <key> <targetColumn>`
21
23
 
@@ -8,7 +8,9 @@ Archive of completed and validated tickets. End of workflow.
8
8
 
9
9
  1. Document: `autocode comment <key> "Ticket completed"`
10
10
 
11
- > If problem discovered: `autocode move <key> <targetColumn>` or `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
11
+ > If problem discovered: `autocode move <key> <targetColumn>` or create a new ticket:
12
+ > - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
13
+ > - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
12
14
 
13
15
  ## Validation Criteria
14
16
 
@@ -8,7 +8,9 @@ Archive des tickets termines et valides. Fin du workflow.
8
8
 
9
9
  1. Documenter : `autocode comment <key> "Ticket termine"`
10
10
 
11
- > Si probleme decouvert : `autocode move <key> <targetColumn>` ou `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
11
+ > Si probleme decouvert : `autocode move <key> <targetColumn>` ou creer un nouveau ticket :
12
+ > - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
13
+ > - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
12
14
 
13
15
  ## Criteres de Validation
14
16
 
@@ -17,7 +17,10 @@ Create a clean, atomic git commit for the changes. Follow conventional commit fo
17
17
  4. Include ticket key in commit body
18
18
  5. Create commit: `git commit -m "<type>: <description>"`
19
19
  6. Verify commit: `git log -1`
20
- 7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
20
+ 7. If out of scope work detected:
21
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
22
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
23
+ - In scope: handle directly in current ticket
21
24
  8. Document: `autocode comment <key> "Committed: <commit hash>"`
22
25
  9. Advance: `autocode next <key>`
23
26
 
@@ -17,7 +17,10 @@ Creer un commit git propre et atomique pour les changements. Suivre le format co
17
17
  4. Inclure la cle du ticket dans le corps du commit
18
18
  5. Creer le commit : `git commit -m "<type>: <description>"`
19
19
  6. Verifier le commit : `git log -1`
20
- 7. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
20
+ 7. Si travail hors scope detecte :
21
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
22
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
23
+ - Dans le scope : traiter directement dans le ticket actuel
21
24
  8. Documenter : `autocode comment <key> "Commite : <hash du commit>"`
22
25
  9. Avancer : `autocode next <key>`
23
26
 
@@ -13,7 +13,10 @@ Push committed changes to the remote repository. Ensure CI/CD pipelines pass.
13
13
  5. Verify push succeeded
14
14
  6. Check CI/CD pipeline status
15
15
  7. If pipeline fails: fix issues and re-push
16
- 8. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
16
+ 8. If out of scope work detected:
17
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
18
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
19
+ - In scope: handle directly in current ticket
17
20
  9. Document: `autocode comment <key> "Pushed to <branch>"`
18
21
  10. Advance: `autocode next <key>`
19
22
 
@@ -13,7 +13,10 @@ Pousser les changements commites vers le depot distant. S'assurer que les pipeli
13
13
  5. Verifier que le push a reussi
14
14
  6. Verifier le statut du pipeline CI/CD
15
15
  7. Si le pipeline echoue : corriger les problemes et re-pousser
16
- 8. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
16
+ 8. Si travail hors scope detecte :
17
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
18
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
19
+ - Dans le scope : traiter directement dans le ticket actuel
17
20
  9. Documenter : `autocode comment <key> "Pousse vers <branche>"`
18
21
  10. Avancer : `autocode next <key>`
19
22
 
@@ -14,7 +14,10 @@ Create a version tag for the release. Follow semantic versioning.
14
14
  3. Create annotated tag: `git tag -a v<version> -m "<release notes>"`
15
15
  4. Push tag: `git push origin v<version>`
16
16
  5. Verify tag on remote
17
- 6. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
17
+ 6. If out of scope work detected:
18
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
19
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
20
+ - In scope: handle directly in current ticket
18
21
  7. Document: `autocode comment <key> "Tagged: v<version>"`
19
22
  8. Advance: `autocode next <key>`
20
23
 
@@ -14,7 +14,10 @@ Creer un tag de version pour la release. Suivre le versionnement semantique.
14
14
  3. Creer un tag annote : `git tag -a v<version> -m "<notes de release>"`
15
15
  4. Pousser le tag : `git push origin v<version>`
16
16
  5. Verifier le tag sur le distant
17
- 6. Si travail hors scope detecte : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
17
+ 6. Si travail hors scope detecte :
18
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
19
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
20
+ - Dans le scope : traiter directement dans le ticket actuel
18
21
  7. Documenter : `autocode comment <key> "Tag cree : v<version>"`
19
22
  8. Avancer : `autocode next <key>`
20
23
 
@@ -11,10 +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: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
16
- 8. Document: `autocode comment <key> "Work completed"`
17
- 9. Advance: `autocode next <key>`
14
+ 6. If out of scope work detected:
15
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
16
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
17
+ - In scope: handle directly in current ticket
18
+ 7. Document: `autocode comment <key> "Work completed"`
19
+ 8. Advance: `autocode next <key>`
18
20
 
19
21
  > Or return: `autocode move <key> <targetColumn>`
20
22
 
@@ -22,7 +24,6 @@ Active development. Ticket is being worked on, code is being written.
22
24
 
23
25
  - [ ] Feature/fix is implemented
24
26
  - [ ] Local tests pass
25
- - [ ] Code is committed and pushed
26
27
  - [ ] A comment summarizes work done
27
28
 
28
29
  ## Notes
@@ -11,10 +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 : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<critères>" -s patch`
16
- 8. Documenter : `autocode comment <key> "Travail effectue"`
17
- 9. Avancer : `autocode next <key>`
14
+ 6. Si travail hors scope detecte :
15
+ - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
16
+ - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
17
+ - Dans le scope : traiter directement dans le ticket actuel
18
+ 7. Documenter : `autocode comment <key> "Travail effectue"`
19
+ 8. Avancer : `autocode next <key>`
18
20
 
19
21
  > Ou retour : `autocode move <key> <targetColumn>`
20
22
 
@@ -22,7 +24,6 @@ Developpement actif. Le ticket est en cours de travail, le code est en cours d'e
22
24
 
23
25
  - [ ] Feature/fix implementee
24
26
  - [ ] Tests locaux passent
25
- - [ ] Code commite et pousse
26
27
  - [ ] Un commentaire resume le travail effectue
27
28
 
28
29
  ## Notes
@@ -12,7 +12,10 @@ Analyze and qualify the ticket requirement. Ensure the request is clear, feasibl
12
12
  4. Estimate complexity (simple/medium/complex)
13
13
  5. Identify dependencies with other tickets or systems
14
14
  6. If clarification needed: add comment with questions
15
- 7. If out of scope work detected: `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
15
+ 7. If out of scope work detected:
16
+ - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
+ - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
+ - In scope: handle directly in current ticket
16
19
  8. Document: `autocode comment <key> "Qualification complete: <summary>"`
17
20
  9. Advance: `autocode next <key>`
18
21