@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.
- package/README.md +2 -1
- package/dist/cli/commands/init.js +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/new.d.ts.map +1 -1
- package/dist/cli/commands/new.js +20 -2
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/cli/commands/serve.js +1 -1
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/cli/commands/stats.d.ts +9 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +108 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +2 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +25 -13
- package/dist/server/api.js.map +1 -1
- package/dist/server/dashboard/pages/index.d.ts +1 -0
- package/dist/server/dashboard/pages/index.d.ts.map +1 -1
- package/dist/server/dashboard/pages/index.js +1 -0
- package/dist/server/dashboard/pages/index.js.map +1 -1
- package/dist/server/dashboard/pages/stats-page.d.ts +8 -0
- package/dist/server/dashboard/pages/stats-page.d.ts.map +1 -0
- package/dist/server/dashboard/pages/stats-page.js +624 -0
- package/dist/server/dashboard/pages/stats-page.js.map +1 -0
- package/dist/server/dashboard/scripts/index.d.ts.map +1 -1
- package/dist/server/dashboard/scripts/index.js +30 -1
- package/dist/server/dashboard/scripts/index.js.map +1 -1
- package/dist/server/dashboard/styles/base.d.ts.map +1 -1
- package/dist/server/dashboard/styles/base.js +9 -0
- package/dist/server/dashboard/styles/base.js.map +1 -1
- package/dist/server/dashboard.d.ts +1 -1
- package/dist/server/dashboard.d.ts.map +1 -1
- package/dist/server/dashboard.js +1 -1
- package/dist/server/dashboard.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +8 -1
- package/dist/server/index.js.map +1 -1
- package/dist/services/claude.d.ts +9 -0
- package/dist/services/claude.d.ts.map +1 -1
- package/dist/services/claude.js +105 -2
- package/dist/services/claude.js.map +1 -1
- package/dist/services/stats.d.ts +58 -0
- package/dist/services/stats.d.ts.map +1 -0
- package/dist/services/stats.js +196 -0
- package/dist/services/stats.js.map +1 -0
- package/dist/utils/fs.js +1 -1
- package/dist/utils/fs.js.map +1 -1
- package/package.json +1 -1
- package/templates/prompts/backlog.en.md +4 -1
- package/templates/prompts/backlog.fr.md +4 -1
- package/templates/prompts/changelog.en.md +6 -4
- package/templates/prompts/changelog.fr.md +6 -4
- package/templates/prompts/deploy-prod.en.md +4 -1
- package/templates/prompts/deploy-prod.fr.md +4 -1
- package/templates/prompts/deploy-staging.en.md +6 -3
- package/templates/prompts/deploy-staging.fr.md +6 -3
- package/templates/prompts/design.en.md +4 -1
- package/templates/prompts/design.fr.md +4 -1
- package/templates/prompts/dev.en.md +7 -5
- package/templates/prompts/dev.fr.md +7 -5
- package/templates/prompts/done.en.md +3 -1
- package/templates/prompts/done.fr.md +3 -1
- package/templates/prompts/git-commit.en.md +4 -1
- package/templates/prompts/git-commit.fr.md +4 -1
- package/templates/prompts/git-push.en.md +4 -1
- package/templates/prompts/git-push.fr.md +4 -1
- package/templates/prompts/git-tag.en.md +4 -1
- package/templates/prompts/git-tag.fr.md +4 -1
- package/templates/prompts/in-progress.en.md +6 -5
- package/templates/prompts/in-progress.fr.md +6 -5
- package/templates/prompts/qualification.en.md +4 -1
- package/templates/prompts/qualification.fr.md +4 -1
- package/templates/prompts/ready.en.md +6 -5
- package/templates/prompts/ready.fr.md +6 -5
- package/templates/prompts/retest-cypress.en.md +6 -4
- package/templates/prompts/retest-cypress.fr.md +6 -4
- package/templates/prompts/retest-playwright.en.md +4 -1
- package/templates/prompts/retest-playwright.fr.md +4 -1
- package/templates/prompts/retest.en.md +4 -1
- package/templates/prompts/retest.fr.md +4 -1
- package/templates/prompts/review-best-practices.en.md +6 -4
- package/templates/prompts/review-best-practices.fr.md +6 -4
- package/templates/prompts/review-code.en.md +4 -1
- package/templates/prompts/review-code.fr.md +4 -1
- package/templates/prompts/review-consistency.en.md +6 -4
- package/templates/prompts/review-consistency.fr.md +6 -4
- package/templates/prompts/review-no-duplication.en.md +6 -4
- package/templates/prompts/review-no-duplication.fr.md +6 -4
- package/templates/prompts/review-security.en.md +6 -4
- package/templates/prompts/review-security.fr.md +6 -4
- package/templates/prompts/specification.en.md +4 -1
- package/templates/prompts/specification.fr.md +4 -1
- package/templates/prompts/splitter.en.md +9 -1
- package/templates/prompts/splitter.fr.md +9 -2
- package/templates/prompts/testing-cypress.en.md +6 -4
- package/templates/prompts/testing-cypress.fr.md +6 -4
- package/templates/prompts/testing-integration.en.md +6 -4
- package/templates/prompts/testing-integration.fr.md +6 -4
- package/templates/prompts/testing-playwright.en.md +4 -1
- package/templates/prompts/testing-playwright.fr.md +4 -1
- package/templates/prompts/testing-unit.en.md +6 -4
- package/templates/prompts/testing-unit.fr.md +6 -4
- package/templates/prompts/update-docs.en.md +6 -4
- package/templates/prompts/update-docs.fr.md +6 -4
- package/templates/prompts/validate-staging.en.md +11 -9
- 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();
|
package/dist/utils/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe;IAC7D,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7B,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,OAAO,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SACjD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SACpC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,OAAO,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SACjD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SAC/B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,QAAgB;IACvD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7B,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -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:
|
|
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 :
|
|
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.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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:
|
|
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 :
|
|
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
|
|
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:
|
|
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
|
-
- [ ]
|
|
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
|
|
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 :
|
|
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
|
-
- [ ]
|
|
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:
|
|
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 :
|
|
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
|
|
15
|
-
7.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
|
15
|
-
7.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
|
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
|
|
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:
|
|
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 :
|
|
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:
|
|
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 :
|
|
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:
|
|
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 :
|
|
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.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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:
|
|
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
|
|