@autocode-cli/autocode 0.1.10 → 0.1.12

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 (118) hide show
  1. package/README.md +7 -6
  2. package/dist/cli/commands/comment.js +1 -1
  3. package/dist/cli/commands/comment.js.map +1 -1
  4. package/dist/cli/commands/init.js +1 -1
  5. package/dist/cli/commands/init.js.map +1 -1
  6. package/dist/cli/commands/list.js +1 -1
  7. package/dist/cli/commands/list.js.map +1 -1
  8. package/dist/cli/commands/move.js +2 -2
  9. package/dist/cli/commands/move.js.map +1 -1
  10. package/dist/cli/commands/new.js +1 -1
  11. package/dist/cli/commands/new.js.map +1 -1
  12. package/dist/cli/commands/next.js +1 -1
  13. package/dist/cli/commands/next.js.map +1 -1
  14. package/dist/cli/commands/serve.js +1 -1
  15. package/dist/cli/commands/serve.js.map +1 -1
  16. package/dist/cli/commands/show.js +1 -1
  17. package/dist/cli/commands/show.js.map +1 -1
  18. package/dist/cli/commands/stats.d.ts +9 -0
  19. package/dist/cli/commands/stats.d.ts.map +1 -0
  20. package/dist/cli/commands/stats.js +108 -0
  21. package/dist/cli/commands/stats.js.map +1 -0
  22. package/dist/cli/parser.d.ts.map +1 -1
  23. package/dist/cli/parser.js +2 -0
  24. package/dist/cli/parser.js.map +1 -1
  25. package/dist/server/api.d.ts.map +1 -1
  26. package/dist/server/api.js +28 -16
  27. package/dist/server/api.js.map +1 -1
  28. package/dist/server/dashboard/pages/index.d.ts +1 -0
  29. package/dist/server/dashboard/pages/index.d.ts.map +1 -1
  30. package/dist/server/dashboard/pages/index.js +1 -0
  31. package/dist/server/dashboard/pages/index.js.map +1 -1
  32. package/dist/server/dashboard/pages/stats-page.d.ts +8 -0
  33. package/dist/server/dashboard/pages/stats-page.d.ts.map +1 -0
  34. package/dist/server/dashboard/pages/stats-page.js +624 -0
  35. package/dist/server/dashboard/pages/stats-page.js.map +1 -0
  36. package/dist/server/dashboard/scripts/index.d.ts.map +1 -1
  37. package/dist/server/dashboard/scripts/index.js +30 -1
  38. package/dist/server/dashboard/scripts/index.js.map +1 -1
  39. package/dist/server/dashboard/styles/base.d.ts.map +1 -1
  40. package/dist/server/dashboard/styles/base.js +9 -0
  41. package/dist/server/dashboard/styles/base.js.map +1 -1
  42. package/dist/server/dashboard.d.ts +1 -1
  43. package/dist/server/dashboard.d.ts.map +1 -1
  44. package/dist/server/dashboard.js +1 -1
  45. package/dist/server/dashboard.js.map +1 -1
  46. package/dist/server/index.d.ts.map +1 -1
  47. package/dist/server/index.js +8 -1
  48. package/dist/server/index.js.map +1 -1
  49. package/dist/services/claude.d.ts +9 -0
  50. package/dist/services/claude.d.ts.map +1 -1
  51. package/dist/services/claude.js +105 -2
  52. package/dist/services/claude.js.map +1 -1
  53. package/dist/services/stats.d.ts +58 -0
  54. package/dist/services/stats.d.ts.map +1 -0
  55. package/dist/services/stats.js +196 -0
  56. package/dist/services/stats.js.map +1 -0
  57. package/dist/utils/fs.js +1 -1
  58. package/dist/utils/fs.js.map +1 -1
  59. package/package.json +1 -1
  60. package/templates/catalog.yaml +1 -1
  61. package/templates/prompts/backlog.en.md +3 -3
  62. package/templates/prompts/backlog.fr.md +3 -3
  63. package/templates/prompts/changelog.en.md +4 -9
  64. package/templates/prompts/changelog.fr.md +4 -9
  65. package/templates/prompts/deploy-prod.en.md +4 -8
  66. package/templates/prompts/deploy-prod.fr.md +4 -8
  67. package/templates/prompts/deploy-staging.en.md +5 -9
  68. package/templates/prompts/deploy-staging.fr.md +5 -9
  69. package/templates/prompts/design.en.md +3 -3
  70. package/templates/prompts/design.fr.md +3 -3
  71. package/templates/prompts/dev.en.md +5 -6
  72. package/templates/prompts/dev.fr.md +5 -6
  73. package/templates/prompts/done.en.md +2 -2
  74. package/templates/prompts/done.fr.md +2 -2
  75. package/templates/prompts/git-commit.en.md +5 -7
  76. package/templates/prompts/git-commit.fr.md +5 -7
  77. package/templates/prompts/git-push.en.md +4 -8
  78. package/templates/prompts/git-push.fr.md +4 -8
  79. package/templates/prompts/git-tag.en.md +4 -8
  80. package/templates/prompts/git-tag.fr.md +4 -8
  81. package/templates/prompts/in-progress.en.md +4 -6
  82. package/templates/prompts/in-progress.fr.md +4 -6
  83. package/templates/prompts/qualification.en.md +3 -3
  84. package/templates/prompts/qualification.fr.md +3 -3
  85. package/templates/prompts/ready.en.md +4 -6
  86. package/templates/prompts/ready.fr.md +4 -6
  87. package/templates/prompts/retest-cypress.en.md +4 -5
  88. package/templates/prompts/retest-cypress.fr.md +4 -5
  89. package/templates/prompts/retest-playwright.en.md +3 -3
  90. package/templates/prompts/retest-playwright.fr.md +3 -3
  91. package/templates/prompts/retest.en.md +3 -3
  92. package/templates/prompts/retest.fr.md +3 -3
  93. package/templates/prompts/review-best-practices.en.md +4 -5
  94. package/templates/prompts/review-best-practices.fr.md +4 -5
  95. package/templates/prompts/review-code.en.md +3 -3
  96. package/templates/prompts/review-code.fr.md +3 -3
  97. package/templates/prompts/review-consistency.en.md +4 -5
  98. package/templates/prompts/review-consistency.fr.md +4 -5
  99. package/templates/prompts/review-no-duplication.en.md +4 -5
  100. package/templates/prompts/review-no-duplication.fr.md +4 -5
  101. package/templates/prompts/review-security.en.md +4 -5
  102. package/templates/prompts/review-security.fr.md +4 -5
  103. package/templates/prompts/specification.en.md +3 -3
  104. package/templates/prompts/specification.fr.md +3 -3
  105. package/templates/prompts/splitter.en.md +12 -4
  106. package/templates/prompts/splitter.fr.md +12 -5
  107. package/templates/prompts/testing-cypress.en.md +4 -5
  108. package/templates/prompts/testing-cypress.fr.md +4 -5
  109. package/templates/prompts/testing-integration.en.md +4 -5
  110. package/templates/prompts/testing-integration.fr.md +4 -5
  111. package/templates/prompts/testing-playwright.en.md +3 -3
  112. package/templates/prompts/testing-playwright.fr.md +3 -3
  113. package/templates/prompts/testing-unit.en.md +4 -5
  114. package/templates/prompts/testing-unit.fr.md +4 -5
  115. package/templates/prompts/update-docs.en.md +4 -5
  116. package/templates/prompts/update-docs.fr.md +4 -5
  117. package/templates/prompts/validate-staging.en.md +9 -14
  118. package/templates/prompts/validate-staging.fr.md +9 -14
@@ -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.12",
4
4
  "description": "Filesystem-based ticket system with web dashboard",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -23,7 +23,7 @@ segments:
23
23
  description: Ready for development
24
24
  - slug: splitter
25
25
  name: Splitter
26
- description: Si un besoin est trop gros, il faut le splitter en pleins de petits tickets pour limiter la responsabilité ! on crée ces tickets avec `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch` une fois terminé et qu'on a RIEN oublié on vient `autocode move <key> <targetColumn>` dans la colonne terminated. et on vient créer un nouveau ticket qui cite tous ceux qu'on vient de créer pour vérifier que le "tout" fonctionne bien ensemble et est bien cohérent !
26
+ description: Si un besoin est trop gros, il faut le splitter en pleins de petits tickets pour limiter la responsabilité ! on crée ces tickets avec `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch` une fois terminé et qu'on a RIEN oublié on vient `autocode move <ticket-key> <target-column-slug>` dans la colonne terminated. et on vient créer un nouveau ticket qui cite tous ceux qu'on vient de créer pour vérifier que le "tout" fonctionne bien ensemble et est bien cohérent !
27
27
  action:
28
28
  description: Columns for implementation and validation
29
29
  columns:
@@ -16,10 +16,10 @@ Storage for new tickets. Tickets here need qualification before work can begin.
16
16
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
17
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
18
  - In scope: handle directly in current ticket
19
- 8. Document: `autocode comment <key> "Qualification done"`
20
- 9. Advance: `autocode next <key>`
19
+ 8. Document: `autocode comment <ticket-key> "Qualification done"`
20
+ 9. Advance: `autocode next <ticket-key>`
21
21
 
22
- > Or return: `autocode move <key> <targetColumn>`
22
+ > Or return: `autocode move <ticket-key> <target-column-slug>`
23
23
 
24
24
  ## Validation Criteria
25
25
 
@@ -16,10 +16,10 @@ Stockage des nouveaux tickets. Les tickets ici doivent etre qualifies avant de c
16
16
  - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
17
17
  - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
18
18
  - Dans le scope : traiter directement dans le ticket actuel
19
- 8. Documenter : `autocode comment <key> "Qualification effectuee"`
20
- 9. Avancer : `autocode next <key>`
19
+ 8. Documenter : `autocode comment <ticket-key> "Qualification effectuee"`
20
+ 9. Avancer : `autocode next <ticket-key>`
21
21
 
22
- > Ou retour : `autocode move <key> <targetColumn>`
22
+ > Ou retour : `autocode move <ticket-key> <target-column-slug>`
23
23
 
24
24
  ## Criteres de Validation
25
25
 
@@ -12,15 +12,10 @@ 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:
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
20
- 9. Document: `autocode comment <key> "Changelog updated"`
21
- 10. Advance: `autocode next <key>`
22
-
23
- > Or return: `autocode move <key> <targetColumn>`
15
+ 7. Document: `autocode comment <ticket-key> "Changelog updated"`
16
+ 8. Advance: `autocode next <ticket-key>`
17
+
18
+ > Or return: `autocode move <ticket-key> <target-column-slug>`
24
19
 
25
20
  ## Validation Criteria
26
21
 
@@ -12,15 +12,10 @@ 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 :
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
20
- 9. Documenter : `autocode comment <key> "Changelog mis a jour"`
21
- 10. Avancer : `autocode next <key>`
22
-
23
- > Ou retour : `autocode move <key> <targetColumn>`
15
+ 7. Documenter : `autocode comment <ticket-key> "Changelog mis a jour"`
16
+ 8. Avancer : `autocode next <ticket-key>`
17
+
18
+ > Ou retour : `autocode move <ticket-key> <target-column-slug>`
24
19
 
25
20
  ## Criteres de Validation
26
21
 
@@ -14,14 +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:
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
21
- 10. Document: `autocode comment <key> "Deployed to production: v<version>"`
22
- 11. Advance: `autocode next <key>`
23
-
24
- > Or rollback: `autocode move <key> <targetColumn>`
17
+ 9. Document: `autocode comment <ticket-key> "Deployed to production: v<version>"`
18
+ 10. Advance: `autocode next <ticket-key>`
19
+
20
+ > Or rollback: `autocode move <ticket-key> <target-column-slug>`
25
21
 
26
22
  ## Validation Criteria
27
23
 
@@ -14,14 +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 :
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
21
- 10. Documenter : `autocode comment <key> "Deploye en production : v<version>"`
22
- 11. Avancer : `autocode next <key>`
23
-
24
- > Ou rollback : `autocode move <key> <targetColumn>`
17
+ 9. Documenter : `autocode comment <ticket-key> "Deploye en production : v<version>"`
18
+ 10. Avancer : `autocode next <ticket-key>`
19
+
20
+ > Ou rollback : `autocode move <ticket-key> <target-column-slug>`
25
21
 
26
22
  ## Criteres de Validation
27
23
 
@@ -6,23 +6,19 @@ 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:
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> "Deployed to staging"`
19
- 8. Advance: `autocode next <key>`
14
+ 6. Document: `autocode comment <ticket-key> "Deployed to staging"`
15
+ 7. Advance: `autocode next <ticket-key>`
20
16
 
21
- > Or return: `autocode move <key> <targetColumn>`
17
+ > Or return: `autocode move <ticket-key> <target-column-slug>`
22
18
 
23
19
  ## Validation Criteria
24
20
 
25
- - [ ] All commits pushed
21
+ - [ ] Git status clean
26
22
  - [ ] Deployment successful
27
23
  - [ ] Application accessible in staging
28
24
  - [ ] No startup errors
@@ -6,23 +6,19 @@ 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 :
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> "Deploye en staging"`
19
- 8. Avancer : `autocode next <key>`
14
+ 6. Documenter : `autocode comment <ticket-key> "Deploye en staging"`
15
+ 7. Avancer : `autocode next <ticket-key>`
20
16
 
21
- > Ou retour : `autocode move <key> <targetColumn>`
17
+ > Ou retour : `autocode move <ticket-key> <target-column-slug>`
22
18
 
23
19
  ## Criteres de Validation
24
20
 
25
- - [ ] Tous les commits pousses
21
+ - [ ] Git status propre
26
22
  - [ ] Deploiement reussi
27
23
  - [ ] Application accessible en staging
28
24
  - [ ] Pas d'erreurs au demarrage
@@ -16,10 +16,10 @@ Create technical and/or UX design for the feature. Prepare mockups, diagrams, or
16
16
  - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
17
17
  - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
18
18
  - In scope: handle directly in current ticket
19
- 8. Document: `autocode comment <key> "Design complete: <summary>"`
20
- 9. Advance: `autocode next <key>`
19
+ 8. Document: `autocode comment <ticket-key> "Design complete: <summary>"`
20
+ 9. Advance: `autocode next <ticket-key>`
21
21
 
22
- > Or return: `autocode move <key> <targetColumn>`
22
+ > Or return: `autocode move <ticket-key> <target-column-slug>`
23
23
 
24
24
  ## Validation Criteria
25
25
 
@@ -16,10 +16,10 @@ Creer le design technique et/ou UX pour la fonctionnalite. Preparer les maquette
16
16
  - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
17
17
  - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
18
18
  - Dans le scope : traiter directement dans le ticket actuel
19
- 8. Documenter : `autocode comment <key> "Design termine : <resume>"`
20
- 9. Avancer : `autocode next <key>`
19
+ 8. Documenter : `autocode comment <ticket-key> "Design termine : <resume>"`
20
+ 9. Avancer : `autocode next <ticket-key>`
21
21
 
22
- > Ou retour : `autocode move <key> <targetColumn>`
22
+ > Ou retour : `autocode move <ticket-key> <target-column-slug>`
23
23
 
24
24
  ## Criteres de Validation
25
25
 
@@ -11,16 +11,15 @@ 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 <ticket-key> "Development complete: <files modified>"`
20
+ 9. Advance: `autocode next <ticket-key>`
22
21
 
23
- > Or return: `autocode move <key> <targetColumn>`
22
+ > Or return: `autocode move <ticket-key> <target-column-slug>`
24
23
 
25
24
  ## Validation Criteria
26
25
 
@@ -11,16 +11,15 @@ 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 <ticket-key> "Developpement termine : <fichiers modifies>"`
20
+ 9. Avancer : `autocode next <ticket-key>`
22
21
 
23
- > Ou retour : `autocode move <key> <targetColumn>`
22
+ > Ou retour : `autocode move <ticket-key> <target-column-slug>`
24
23
 
25
24
  ## Criteres de Validation
26
25
 
@@ -6,9 +6,9 @@ Archive of completed and validated tickets. End of workflow.
6
6
 
7
7
  ## Actions
8
8
 
9
- 1. Document: `autocode comment <key> "Ticket completed"`
9
+ 1. Document: `autocode comment <ticket-key> "Ticket completed"`
10
10
 
11
- > If problem discovered: `autocode move <key> <targetColumn>` or create a new ticket:
11
+ > If problem discovered: `autocode move <ticket-key> <target-column-slug>` or create a new ticket:
12
12
  > - Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch -c ready`
13
13
  > - Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
14
14
 
@@ -6,9 +6,9 @@ Archive des tickets termines et valides. Fin du workflow.
6
6
 
7
7
  ## Actions
8
8
 
9
- 1. Documenter : `autocode comment <key> "Ticket termine"`
9
+ 1. Documenter : `autocode comment <ticket-key> "Ticket termine"`
10
10
 
11
- > Si probleme decouvert : `autocode move <key> <targetColumn>` ou creer un nouveau ticket :
11
+ > Si probleme decouvert : `autocode move <ticket-key> <target-column-slug>` ou creer un nouveau ticket :
12
12
  > - Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch -c ready`
13
13
  > - Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
14
14
 
@@ -17,14 +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:
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
24
- 8. Document: `autocode comment <key> "Committed: <commit hash>"`
25
- 9. Advance: `autocode next <key>`
20
+ 7. Document: `autocode comment <ticket-key> "Committed: <commit hash>"`
21
+ 8. Advance: `autocode next <ticket-key>`
26
22
 
27
- > Or return: `autocode move <key> <targetColumn>`
23
+ > Or return: `autocode move <ticket-key> <target-column-slug>`
28
24
 
29
25
  ## Validation Criteria
30
26
 
@@ -36,3 +32,5 @@ Create a clean, atomic git commit for the changes. Follow conventional commit fo
36
32
  ## Notes
37
33
 
38
34
  Good commits tell a story. Each commit should be a logical unit of change that could be reverted independently.
35
+
36
+ **IMPORTANT**: Never add any Claude signature or reference in the commit message. No "🤖 Generated with Claude Code", no "Co-Authored-By: Claude...", no AI mention whatsoever.
@@ -17,14 +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 :
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
24
- 8. Documenter : `autocode comment <key> "Commite : <hash du commit>"`
25
- 9. Avancer : `autocode next <key>`
20
+ 7. Documenter : `autocode comment <ticket-key> "Commite : <hash du commit>"`
21
+ 8. Avancer : `autocode next <ticket-key>`
26
22
 
27
- > Ou retour : `autocode move <key> <targetColumn>`
23
+ > Ou retour : `autocode move <ticket-key> <target-column-slug>`
28
24
 
29
25
  ## Criteres de Validation
30
26
 
@@ -36,3 +32,5 @@ Creer un commit git propre et atomique pour les changements. Suivre le format co
36
32
  ## Notes
37
33
 
38
34
  De bons commits racontent une histoire. Chaque commit doit etre une unite logique de changement qui pourrait etre revertee independamment.
35
+
36
+ **IMPORTANT** : Ne jamais ajouter de signature ou reference a Claude dans le message de commit. Pas de "🤖 Generated with Claude Code", pas de "Co-Authored-By: Claude...", aucune mention de l'IA.
@@ -13,14 +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:
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
20
- 9. Document: `autocode comment <key> "Pushed to <branch>"`
21
- 10. Advance: `autocode next <key>`
22
-
23
- > Or return: `autocode move <key> <targetColumn>`
16
+ 8. Document: `autocode comment <ticket-key> "Pushed to <branch>"`
17
+ 9. Advance: `autocode next <ticket-key>`
18
+
19
+ > Or return: `autocode move <ticket-key> <target-column-slug>`
24
20
 
25
21
  ## Validation Criteria
26
22
 
@@ -13,14 +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 :
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
20
- 9. Documenter : `autocode comment <key> "Pousse vers <branche>"`
21
- 10. Avancer : `autocode next <key>`
22
-
23
- > Ou retour : `autocode move <key> <targetColumn>`
16
+ 8. Documenter : `autocode comment <ticket-key> "Pousse vers <branche>"`
17
+ 9. Avancer : `autocode next <ticket-key>`
18
+
19
+ > Ou retour : `autocode move <ticket-key> <target-column-slug>`
24
20
 
25
21
  ## Criteres de Validation
26
22