@autocode-cli/autocode 0.1.12 → 0.1.14
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 +1 -1
- package/dist/cli/commands/init.js +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list.js +2 -2
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/move.js +3 -3
- package/dist/cli/commands/move.js.map +1 -1
- package/dist/cli/commands/new.js +3 -3
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/core/column.d.ts +0 -4
- package/dist/core/column.d.ts.map +1 -1
- package/dist/core/column.js +0 -6
- package/dist/core/column.js.map +1 -1
- package/dist/core/ticket.d.ts +1 -1
- package/dist/core/ticket.js +4 -4
- package/dist/core/ticket.js.map +1 -1
- package/dist/core/workflow.d.ts +1 -1
- package/dist/core/workflow.js +4 -4
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +168 -5
- package/dist/server/api.js.map +1 -1
- package/dist/server/dashboard/pages/autocreate.d.ts +9 -0
- package/dist/server/dashboard/pages/autocreate.d.ts.map +1 -0
- package/dist/server/dashboard/pages/autocreate.js +847 -0
- package/dist/server/dashboard/pages/autocreate.js.map +1 -0
- 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/pipeline-configurator.d.ts.map +1 -1
- package/dist/server/dashboard/pages/pipeline-configurator.js +198 -0
- package/dist/server/dashboard/pages/pipeline-configurator.js.map +1 -1
- package/dist/server/dashboard/scripts/index.js +3 -3
- 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 +9 -1
- package/dist/server/index.js.map +1 -1
- package/dist/services/autocreate.d.ts +34 -0
- package/dist/services/autocreate.d.ts.map +1 -0
- package/dist/services/autocreate.js +503 -0
- package/dist/services/autocreate.js.map +1 -0
- package/dist/services/claude.d.ts +4 -1
- package/dist/services/claude.d.ts.map +1 -1
- package/dist/services/claude.js +7 -4
- package/dist/services/claude.js.map +1 -1
- package/dist/types/index.d.ts +49 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/analysis-prompt.en.md +77 -0
- package/templates/analysis-prompt.fr.md +87 -0
- package/templates/catalog.yaml +103 -1
- package/templates/prompts/accessibility-check.en.md +25 -0
- package/templates/prompts/accessibility-check.fr.md +25 -0
- package/templates/prompts/api-endpoints-test.en.md +26 -0
- package/templates/prompts/api-endpoints-test.fr.md +26 -0
- package/templates/prompts/backlog.en.md +8 -19
- package/templates/prompts/backlog.fr.md +8 -19
- package/templates/prompts/build-dist.en.md +20 -0
- package/templates/prompts/build-dist.fr.md +20 -0
- package/templates/prompts/ci-gitlab-validate.en.md +22 -0
- package/templates/prompts/ci-gitlab-validate.fr.md +22 -0
- package/templates/prompts/claude-integration-test.en.md +22 -0
- package/templates/prompts/claude-integration-test.fr.md +22 -0
- package/templates/prompts/cli-smoke-test.en.md +30 -0
- package/templates/prompts/cli-smoke-test.fr.md +30 -0
- package/templates/prompts/dashboard-responsive.en.md +27 -0
- package/templates/prompts/dashboard-responsive.fr.md +27 -0
- package/templates/prompts/dead-code-check.en.md +25 -0
- package/templates/prompts/dead-code-check.fr.md +25 -0
- package/templates/prompts/deps-licenses.en.md +23 -0
- package/templates/prompts/deps-licenses.fr.md +23 -0
- package/templates/prompts/deps-outdated.en.md +23 -0
- package/templates/prompts/deps-outdated.fr.md +23 -0
- package/templates/prompts/design.en.md +2 -2
- package/templates/prompts/design.fr.md +2 -2
- package/templates/prompts/dev.en.md +2 -2
- package/templates/prompts/dev.fr.md +2 -2
- package/templates/prompts/docs-readme-validate.en.md +22 -0
- package/templates/prompts/docs-readme-validate.fr.md +22 -0
- package/templates/prompts/done.en.md +2 -2
- package/templates/prompts/done.fr.md +2 -2
- package/templates/prompts/error-handling-review.en.md +24 -0
- package/templates/prompts/error-handling-review.fr.md +24 -0
- package/templates/prompts/esm-compatibility.en.md +24 -0
- package/templates/prompts/esm-compatibility.fr.md +24 -0
- package/templates/prompts/file-watcher-test.en.md +20 -0
- package/templates/prompts/file-watcher-test.fr.md +20 -0
- package/templates/prompts/format-prettier-setup.en.md +21 -0
- package/templates/prompts/format-prettier-setup.fr.md +21 -0
- package/templates/prompts/git-conventional-commits.en.md +21 -0
- package/templates/prompts/git-conventional-commits.fr.md +21 -0
- package/templates/prompts/git-hooks-setup.en.md +27 -0
- package/templates/prompts/git-hooks-setup.fr.md +27 -0
- package/templates/prompts/graceful-shutdown.en.md +25 -0
- package/templates/prompts/graceful-shutdown.fr.md +25 -0
- package/templates/prompts/i18n-completeness.en.md +21 -0
- package/templates/prompts/i18n-completeness.fr.md +21 -0
- package/templates/prompts/in-progress.en.md +2 -2
- package/templates/prompts/in-progress.fr.md +2 -2
- package/templates/prompts/landing-html-validate.en.md +23 -0
- package/templates/prompts/landing-html-validate.fr.md +23 -0
- package/templates/prompts/lint-eslint-setup.en.md +20 -0
- package/templates/prompts/lint-eslint-setup.fr.md +20 -0
- package/templates/prompts/node-version-check.en.md +21 -0
- package/templates/prompts/node-version-check.fr.md +21 -0
- package/templates/prompts/npm-publish-dry-run.en.md +25 -0
- package/templates/prompts/npm-publish-dry-run.fr.md +25 -0
- package/templates/prompts/pkg-exports-validate.en.md +23 -0
- package/templates/prompts/pkg-exports-validate.fr.md +23 -0
- package/templates/prompts/port-conflict-handling.en.md +22 -0
- package/templates/prompts/port-conflict-handling.fr.md +22 -0
- package/templates/prompts/qualification.en.md +2 -2
- package/templates/prompts/qualification.fr.md +2 -2
- package/templates/prompts/retest-cypress.en.md +2 -6
- package/templates/prompts/retest-cypress.fr.md +2 -6
- package/templates/prompts/retest-playwright.en.md +1 -4
- package/templates/prompts/retest-playwright.fr.md +1 -4
- package/templates/prompts/retest.en.md +1 -4
- package/templates/prompts/retest.fr.md +1 -4
- package/templates/prompts/review-best-practices.en.md +2 -6
- package/templates/prompts/review-best-practices.fr.md +2 -6
- package/templates/prompts/review-code.en.md +2 -6
- package/templates/prompts/review-code.fr.md +2 -6
- package/templates/prompts/review-consistency.en.md +2 -6
- package/templates/prompts/review-consistency.fr.md +2 -6
- package/templates/prompts/review-no-duplication.en.md +2 -6
- package/templates/prompts/review-no-duplication.fr.md +2 -6
- package/templates/prompts/review-security.en.md +2 -2
- package/templates/prompts/review-security.fr.md +2 -2
- package/templates/prompts/security-audit.en.md +20 -0
- package/templates/prompts/security-audit.fr.md +20 -0
- package/templates/prompts/security-secrets.en.md +26 -0
- package/templates/prompts/security-secrets.fr.md +26 -0
- package/templates/prompts/specification.en.md +2 -2
- package/templates/prompts/specification.fr.md +2 -2
- package/templates/prompts/splitter.en.md +3 -4
- package/templates/prompts/splitter.fr.md +3 -4
- package/templates/prompts/template-validation.en.md +23 -0
- package/templates/prompts/template-validation.fr.md +23 -0
- package/templates/prompts/testing-coverage.en.md +20 -0
- package/templates/prompts/testing-coverage.fr.md +20 -0
- package/templates/prompts/testing-cypress.en.md +1 -4
- package/templates/prompts/testing-cypress.fr.md +1 -4
- package/templates/prompts/testing-integration.en.md +1 -4
- package/templates/prompts/testing-integration.fr.md +1 -4
- package/templates/prompts/testing-playwright.en.md +1 -4
- package/templates/prompts/testing-playwright.fr.md +1 -4
- package/templates/prompts/testing-unit.en.md +1 -4
- package/templates/prompts/testing-unit.fr.md +1 -4
- package/templates/prompts/testing-vitest.en.md +17 -0
- package/templates/prompts/testing-vitest.fr.md +17 -0
- package/templates/prompts/typecheck.en.md +17 -0
- package/templates/prompts/typecheck.fr.md +17 -0
- package/templates/prompts/update-docs.en.md +2 -6
- package/templates/prompts/update-docs.fr.md +2 -6
- package/templates/prompts/version-semver.en.md +20 -0
- package/templates/prompts/version-semver.fr.md +20 -0
- package/templates/prompts/websocket-test.en.md +19 -0
- package/templates/prompts/websocket-test.fr.md +19 -0
- package/templates/prompts/yaml-validate.en.md +24 -0
- package/templates/prompts/yaml-validate.fr.md +24 -0
- package/templates/prompts/ready.en.md +0 -31
- package/templates/prompts/ready.fr.md +0 -31
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Git Hooks Setup
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Set up git hooks to automate checks before commit.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Choose a hooks manager:
|
|
8
|
+
- husky (popular)
|
|
9
|
+
- lefthook (performant)
|
|
10
|
+
- simple-git-hooks (lightweight)
|
|
11
|
+
2. Install chosen manager:
|
|
12
|
+
```bash
|
|
13
|
+
npm install -D husky && npx husky init
|
|
14
|
+
```
|
|
15
|
+
3. Configure hooks:
|
|
16
|
+
- pre-commit: lint, typecheck
|
|
17
|
+
- commit-msg: commitlint
|
|
18
|
+
- pre-push: tests
|
|
19
|
+
4. Test hooks
|
|
20
|
+
5. Document configuration
|
|
21
|
+
|
|
22
|
+
## Validation Criteria
|
|
23
|
+
- [ ] Hooks manager installed
|
|
24
|
+
- [ ] pre-commit hook functional
|
|
25
|
+
- [ ] commit-msg validates format
|
|
26
|
+
- [ ] Hooks documented in README
|
|
27
|
+
- [ ] Configuration versioned
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Configuration des git hooks
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Mettre en place des hooks git pour automatiser les vérifications avant commit.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Choisir un gestionnaire de hooks:
|
|
8
|
+
- husky (populaire)
|
|
9
|
+
- lefthook (performant)
|
|
10
|
+
- simple-git-hooks (léger)
|
|
11
|
+
2. Installer le gestionnaire choisi:
|
|
12
|
+
```bash
|
|
13
|
+
npm install -D husky && npx husky init
|
|
14
|
+
```
|
|
15
|
+
3. Configurer les hooks:
|
|
16
|
+
- pre-commit: lint, typecheck
|
|
17
|
+
- commit-msg: commitlint
|
|
18
|
+
- pre-push: tests
|
|
19
|
+
4. Tester les hooks
|
|
20
|
+
5. Documenter la configuration
|
|
21
|
+
|
|
22
|
+
## Critères de validation
|
|
23
|
+
- [ ] Gestionnaire de hooks installé
|
|
24
|
+
- [ ] pre-commit hook fonctionnel
|
|
25
|
+
- [ ] commit-msg valide le format
|
|
26
|
+
- [ ] Hooks documentés dans README
|
|
27
|
+
- [ ] Configuration versionnée
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Graceful Server Shutdown Test
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Verify server shuts down cleanly on system signals.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Start server: `node dist/index.js serve`
|
|
8
|
+
2. Send SIGINT (Ctrl+C)
|
|
9
|
+
3. Verify:
|
|
10
|
+
- WebSocket connections closed
|
|
11
|
+
- File watchers stopped
|
|
12
|
+
- Port released
|
|
13
|
+
- Confirmation message
|
|
14
|
+
4. Test SIGTERM:
|
|
15
|
+
```bash
|
|
16
|
+
kill -TERM <pid>
|
|
17
|
+
```
|
|
18
|
+
5. Verify no in-flight requests lost
|
|
19
|
+
|
|
20
|
+
## Validation Criteria
|
|
21
|
+
- [ ] SIGINT cleanly stops server
|
|
22
|
+
- [ ] SIGTERM cleanly stops server
|
|
23
|
+
- [ ] WebSocket clients notified
|
|
24
|
+
- [ ] Resources released
|
|
25
|
+
- [ ] Exit code 0 on normal shutdown
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Test d'arrêt gracieux du serveur
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Vérifier que le serveur s'arrête proprement sur les signaux système.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Démarrer le serveur: `node dist/index.js serve`
|
|
8
|
+
2. Envoyer SIGINT (Ctrl+C)
|
|
9
|
+
3. Vérifier:
|
|
10
|
+
- Connexions WebSocket fermées
|
|
11
|
+
- File watchers arrêtés
|
|
12
|
+
- Port libéré
|
|
13
|
+
- Message de confirmation
|
|
14
|
+
4. Tester SIGTERM:
|
|
15
|
+
```bash
|
|
16
|
+
kill -TERM <pid>
|
|
17
|
+
```
|
|
18
|
+
5. Vérifier qu'aucune requête en cours n'est perdue
|
|
19
|
+
|
|
20
|
+
## Critères de validation
|
|
21
|
+
- [ ] SIGINT arrête proprement le serveur
|
|
22
|
+
- [ ] SIGTERM arrête proprement le serveur
|
|
23
|
+
- [ ] WebSocket clients notifiés
|
|
24
|
+
- [ ] Ressources libérées
|
|
25
|
+
- [ ] Exit code 0 sur arrêt normal
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# i18n Translation Completeness
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Verify all FR/EN translations are present and consistent.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Identify files with translations:
|
|
8
|
+
- src/server/dashboard/ (pages, scripts)
|
|
9
|
+
- public/index.html (landing)
|
|
10
|
+
- templates/
|
|
11
|
+
2. List all translation keys
|
|
12
|
+
3. Verify each key has FR and EN version
|
|
13
|
+
4. Validate translation quality
|
|
14
|
+
5. Test language switching in dashboard
|
|
15
|
+
6. Check Playwright i18n tests
|
|
16
|
+
|
|
17
|
+
## Validation Criteria
|
|
18
|
+
- [ ] All keys have FR and EN
|
|
19
|
+
- [ ] No hardcoded text in single language
|
|
20
|
+
- [ ] Translations grammatically correct
|
|
21
|
+
- [ ] i18n.spec.ts test passes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Complétude des traductions i18n
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Vérifier que toutes les traductions FR/EN sont présentes et cohérentes.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Identifier les fichiers avec traductions:
|
|
8
|
+
- src/server/dashboard/ (pages, scripts)
|
|
9
|
+
- public/index.html (landing)
|
|
10
|
+
- templates/
|
|
11
|
+
2. Lister toutes les clés de traduction
|
|
12
|
+
3. Vérifier que chaque clé a une version FR et EN
|
|
13
|
+
4. Valider la qualité des traductions
|
|
14
|
+
5. Tester le switching de langue dans le dashboard
|
|
15
|
+
6. Vérifier les tests Playwright i18n
|
|
16
|
+
|
|
17
|
+
## Critères de validation
|
|
18
|
+
- [ ] Toutes les clés ont FR et EN
|
|
19
|
+
- [ ] Pas de texte hardcodé en une seule langue
|
|
20
|
+
- [ ] Traductions grammaticalement correctes
|
|
21
|
+
- [ ] Test i18n.spec.ts passe
|
|
@@ -12,8 +12,8 @@ Active development. Ticket is being worked on, code is being written.
|
|
|
12
12
|
4. Implement the solution
|
|
13
13
|
5. Test locally that it works
|
|
14
14
|
6. If out of scope work detected:
|
|
15
|
-
- Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>"
|
|
16
|
-
- Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>"
|
|
15
|
+
- Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteria>" --semver patch --column ready`
|
|
16
|
+
- Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteria>" --semver patch --column backlog`
|
|
17
17
|
- In scope: handle directly in current ticket
|
|
18
18
|
7. Document: `autocode comment <ticket-key> "Work completed"`
|
|
19
19
|
8. Advance: `autocode next <ticket-key>`
|
|
@@ -12,8 +12,8 @@ Developpement actif. Le ticket est en cours de travail, le code est en cours d'e
|
|
|
12
12
|
4. Implementer la solution
|
|
13
13
|
5. Tester localement que ca fonctionne
|
|
14
14
|
6. Si travail hors scope detecte :
|
|
15
|
-
- Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>"
|
|
16
|
-
- Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>"
|
|
15
|
+
- Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteres>" --semver patch --column ready`
|
|
16
|
+
- Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteres>" --semver patch --column backlog`
|
|
17
17
|
- Dans le scope : traiter directement dans le ticket actuel
|
|
18
18
|
7. Documenter : `autocode comment <ticket-key> "Travail effectue"`
|
|
19
19
|
8. Avancer : `autocode next <ticket-key>`
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Landing Page Validation
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Verify public HTML pages are valid and functional.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Validate public/index.html HTML:
|
|
8
|
+
- Use W3C validator
|
|
9
|
+
- Check semantic structure
|
|
10
|
+
2. Validate public/demo.html
|
|
11
|
+
3. Check resources:
|
|
12
|
+
- Images (logo.png, logo.svg)
|
|
13
|
+
- Favicons
|
|
14
|
+
- manifest.json
|
|
15
|
+
4. Test responsive design
|
|
16
|
+
5. Verify bilingual support (FR/EN)
|
|
17
|
+
6. Validate links and navigation
|
|
18
|
+
|
|
19
|
+
## Validation Criteria
|
|
20
|
+
- [ ] Valid HTML5 (no W3C errors)
|
|
21
|
+
- [ ] All images load correctly
|
|
22
|
+
- [ ] Responsive on mobile/tablet/desktop
|
|
23
|
+
- [ ] FR/EN switching works
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Validation landing page
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Vérifier que les pages HTML publiques sont valides et fonctionnelles.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Valider le HTML de public/index.html:
|
|
8
|
+
- Utiliser un validateur W3C
|
|
9
|
+
- Vérifier la structure sémantique
|
|
10
|
+
2. Valider public/demo.html
|
|
11
|
+
3. Vérifier les ressources:
|
|
12
|
+
- Images (logo.png, logo.svg)
|
|
13
|
+
- Favicons
|
|
14
|
+
- manifest.json
|
|
15
|
+
4. Tester le responsive design
|
|
16
|
+
5. Vérifier le support bilingue (FR/EN)
|
|
17
|
+
6. Valider les liens et navigation
|
|
18
|
+
|
|
19
|
+
## Critères de validation
|
|
20
|
+
- [ ] HTML5 valide (pas d'erreurs W3C)
|
|
21
|
+
- [ ] Toutes les images chargent correctement
|
|
22
|
+
- [ ] Responsive sur mobile/tablet/desktop
|
|
23
|
+
- [ ] Switching FR/EN fonctionne
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# ESLint Setup
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Set up and configure ESLint to maintain TypeScript code quality.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Check if ESLint is installed (`npm ls eslint`)
|
|
8
|
+
2. If missing, install ESLint with TypeScript support:
|
|
9
|
+
```bash
|
|
10
|
+
npm install -D eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin
|
|
11
|
+
```
|
|
12
|
+
3. Create/verify eslint.config.js configuration file
|
|
13
|
+
4. Run `npx eslint src/` to validate code
|
|
14
|
+
5. Fix detected lint errors
|
|
15
|
+
|
|
16
|
+
## Validation Criteria
|
|
17
|
+
- [ ] ESLint is installed and configured
|
|
18
|
+
- [ ] `npx eslint src/` runs without errors
|
|
19
|
+
- [ ] TypeScript rules are enabled
|
|
20
|
+
- [ ] No warnings ignored without justification
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Configuration ESLint
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Mettre en place et configurer ESLint pour maintenir la qualité du code TypeScript.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Vérifier si ESLint est installé (`npm ls eslint`)
|
|
8
|
+
2. Si absent, installer ESLint avec support TypeScript:
|
|
9
|
+
```bash
|
|
10
|
+
npm install -D eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin
|
|
11
|
+
```
|
|
12
|
+
3. Créer/vérifier le fichier de configuration eslint.config.js
|
|
13
|
+
4. Exécuter `npx eslint src/` pour valider le code
|
|
14
|
+
5. Corriger les erreurs de lint détectées
|
|
15
|
+
|
|
16
|
+
## Critères de validation
|
|
17
|
+
- [ ] ESLint est installé et configuré
|
|
18
|
+
- [ ] `npx eslint src/` s'exécute sans erreur
|
|
19
|
+
- [ ] Les règles TypeScript sont activées
|
|
20
|
+
- [ ] Aucun warning ignoré sans justification
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Node Version Check
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Ensure project works with supported Node.js versions.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Check engines field in package.json:
|
|
8
|
+
```json
|
|
9
|
+
"engines": { "node": ">=18.0.0" }
|
|
10
|
+
```
|
|
11
|
+
2. Check version in .gitlab-ci.yml (node:20-alpine)
|
|
12
|
+
3. Test with Node.js 18 LTS (minimum version)
|
|
13
|
+
4. Test with Node.js 20 LTS (recommended)
|
|
14
|
+
5. Verify ESM/CommonJS compatibility
|
|
15
|
+
6. Create .nvmrc if missing
|
|
16
|
+
|
|
17
|
+
## Validation Criteria
|
|
18
|
+
- [ ] engines.node defined in package.json
|
|
19
|
+
- [ ] Works with Node.js 18+
|
|
20
|
+
- [ ] CI uses compatible version
|
|
21
|
+
- [ ] .nvmrc present for developers
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Vérification version Node.js
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
S'assurer que le projet fonctionne avec les versions Node.js supportées.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Vérifier le champ engines dans package.json:
|
|
8
|
+
```json
|
|
9
|
+
"engines": { "node": ">=18.0.0" }
|
|
10
|
+
```
|
|
11
|
+
2. Vérifier la version dans .gitlab-ci.yml (node:20-alpine)
|
|
12
|
+
3. Tester avec Node.js 18 LTS (version minimale)
|
|
13
|
+
4. Tester avec Node.js 20 LTS (recommandée)
|
|
14
|
+
5. Vérifier la compatibilité ESM/CommonJS
|
|
15
|
+
6. Créer .nvmrc si absent
|
|
16
|
+
|
|
17
|
+
## Critères de validation
|
|
18
|
+
- [ ] engines.node défini dans package.json
|
|
19
|
+
- [ ] Fonctionne avec Node.js 18+
|
|
20
|
+
- [ ] CI utilise une version compatible
|
|
21
|
+
- [ ] .nvmrc présent pour les développeurs
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# npm Publish Dry Run
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Validate package is ready for publishing without actually publishing.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Run build: `npm run build`
|
|
8
|
+
2. Check package contents:
|
|
9
|
+
```bash
|
|
10
|
+
npm pack --dry-run
|
|
11
|
+
```
|
|
12
|
+
3. Analyze tarball size
|
|
13
|
+
4. Verify included files:
|
|
14
|
+
- dist/ (compiled code)
|
|
15
|
+
- bin/ (CLI executable)
|
|
16
|
+
- templates/ (project templates)
|
|
17
|
+
- README.md, LICENSE
|
|
18
|
+
5. Verify no sensitive files included
|
|
19
|
+
6. Test local installation: `npm pack && npm install -g ./autocode-cli-autocode-*.tgz`
|
|
20
|
+
|
|
21
|
+
## Validation Criteria
|
|
22
|
+
- [ ] `npm pack --dry-run` succeeds
|
|
23
|
+
- [ ] Reasonable package size (<5MB)
|
|
24
|
+
- [ ] Essential files present
|
|
25
|
+
- [ ] Local installation works
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Simulation de publication npm
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Valider que le package est prêt pour publication sans effectuer la publication réelle.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Exécuter le build: `npm run build`
|
|
8
|
+
2. Vérifier le contenu du package:
|
|
9
|
+
```bash
|
|
10
|
+
npm pack --dry-run
|
|
11
|
+
```
|
|
12
|
+
3. Analyser la taille du tarball
|
|
13
|
+
4. Vérifier les fichiers inclus:
|
|
14
|
+
- dist/ (code compilé)
|
|
15
|
+
- bin/ (exécutable CLI)
|
|
16
|
+
- templates/ (templates de projet)
|
|
17
|
+
- README.md, LICENSE
|
|
18
|
+
5. Vérifier qu'aucun fichier sensible n'est inclus
|
|
19
|
+
6. Tester l'installation locale: `npm pack && npm install -g ./autocode-cli-autocode-*.tgz`
|
|
20
|
+
|
|
21
|
+
## Critères de validation
|
|
22
|
+
- [ ] `npm pack --dry-run` réussit
|
|
23
|
+
- [ ] Taille du package raisonnable (<5MB)
|
|
24
|
+
- [ ] Fichiers essentiels présents
|
|
25
|
+
- [ ] Installation locale fonctionne
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Package Exports Validation
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Verify package.json is correctly configured for npm publishing.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Check essential package.json fields:
|
|
8
|
+
- name: @autocode-cli/autocode
|
|
9
|
+
- version: semver format
|
|
10
|
+
- main: dist/index.js
|
|
11
|
+
- type: module
|
|
12
|
+
- bin: { autocode: bin/autocode }
|
|
13
|
+
- files: [LICENSE, README.md, dist/, bin/, templates/]
|
|
14
|
+
2. Verify engines.node >= 18.0.0
|
|
15
|
+
3. Simulate publishing: `npm pack --dry-run`
|
|
16
|
+
4. Check generated tarball contents
|
|
17
|
+
5. Validate TypeScript exports (.d.ts)
|
|
18
|
+
|
|
19
|
+
## Validation Criteria
|
|
20
|
+
- [ ] All required fields present
|
|
21
|
+
- [ ] `npm pack --dry-run` lists correct files
|
|
22
|
+
- [ ] bin/autocode is executable
|
|
23
|
+
- [ ] No sensitive files included (.env, etc.)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Validation des exports package
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Vérifier que le package.json est correctement configuré pour la publication npm.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Vérifier les champs essentiels de package.json:
|
|
8
|
+
- name: @autocode-cli/autocode
|
|
9
|
+
- version: format semver
|
|
10
|
+
- main: dist/index.js
|
|
11
|
+
- type: module
|
|
12
|
+
- bin: { autocode: bin/autocode }
|
|
13
|
+
- files: [LICENSE, README.md, dist/, bin/, templates/]
|
|
14
|
+
2. Vérifier que engines.node >= 18.0.0
|
|
15
|
+
3. Simuler la publication: `npm pack --dry-run`
|
|
16
|
+
4. Vérifier le contenu du tarball généré
|
|
17
|
+
5. Valider les exports TypeScript (.d.ts)
|
|
18
|
+
|
|
19
|
+
## Critères de validation
|
|
20
|
+
- [ ] Tous les champs requis présents
|
|
21
|
+
- [ ] `npm pack --dry-run` liste les bons fichiers
|
|
22
|
+
- [ ] bin/autocode est exécutable
|
|
23
|
+
- [ ] Pas de fichiers sensibles inclus (.env, etc.)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Port Conflict Handling
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Verify server handles occupied ports correctly.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Start a process on default port (3333)
|
|
8
|
+
2. Try to start autocode serve
|
|
9
|
+
3. Check error message
|
|
10
|
+
4. Test alternative --port option:
|
|
11
|
+
```bash
|
|
12
|
+
node dist/index.js serve --port 3334
|
|
13
|
+
```
|
|
14
|
+
5. Verify automatic free port detection
|
|
15
|
+
6. Test with multiple instances
|
|
16
|
+
|
|
17
|
+
## Validation Criteria
|
|
18
|
+
- [ ] Clear error message if port occupied
|
|
19
|
+
- [ ] --port option works
|
|
20
|
+
- [ ] No silent crash
|
|
21
|
+
- [ ] Port displayed on startup
|
|
22
|
+
- [ ] Graceful EADDRINUSE handling
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Gestion des conflits de port
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Vérifier que le serveur gère correctement les ports occupés.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Démarrer un processus sur le port par défaut (3333)
|
|
8
|
+
2. Tenter de démarrer autocode serve
|
|
9
|
+
3. Vérifier le message d'erreur
|
|
10
|
+
4. Tester l'option --port alternative:
|
|
11
|
+
```bash
|
|
12
|
+
node dist/index.js serve --port 3334
|
|
13
|
+
```
|
|
14
|
+
5. Vérifier la détection automatique de port libre
|
|
15
|
+
6. Tester avec plusieurs instances
|
|
16
|
+
|
|
17
|
+
## Critères de validation
|
|
18
|
+
- [ ] Message d'erreur clair si port occupé
|
|
19
|
+
- [ ] Option --port fonctionne
|
|
20
|
+
- [ ] Pas de crash silencieux
|
|
21
|
+
- [ ] Port affiché au démarrage
|
|
22
|
+
- [ ] Gestion gracieuse de EADDRINUSE
|
|
@@ -13,8 +13,8 @@ Analyze and qualify the ticket requirement. Ensure the request is clear, feasibl
|
|
|
13
13
|
5. Identify dependencies with other tickets or systems
|
|
14
14
|
6. If clarification needed: add comment with questions
|
|
15
15
|
7. If out of scope work detected:
|
|
16
|
-
- Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>"
|
|
17
|
-
- Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>"
|
|
16
|
+
- Slightly out of scope (minor improvement, edge case): `autocode new "<title>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteria>" --semver patch --column ready`
|
|
17
|
+
- Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteria>" --semver patch --column backlog`
|
|
18
18
|
- In scope: handle directly in current ticket
|
|
19
19
|
8. Document: `autocode comment <ticket-key> "Qualification complete: <summary>"`
|
|
20
20
|
9. Advance: `autocode next <ticket-key>`
|
|
@@ -13,8 +13,8 @@ Analyser et qualifier le besoin du ticket. S'assurer que la demande est claire,
|
|
|
13
13
|
5. Identifier les dependances avec d'autres tickets ou systemes
|
|
14
14
|
6. Si clarification necessaire : ajouter un commentaire avec les questions
|
|
15
15
|
7. Si travail hors scope detecte :
|
|
16
|
-
- Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>"
|
|
17
|
-
- Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>"
|
|
16
|
+
- Legerement hors scope (amelioration mineure, cas limite) : `autocode new "<titre>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteres>" --semver patch --column ready`
|
|
17
|
+
- Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteres>" --semver patch --column backlog`
|
|
18
18
|
- Dans le scope : traiter directement dans le ticket actuel
|
|
19
19
|
8. Documenter : `autocode comment <ticket-key> "Qualification terminee : <resume>"`
|
|
20
20
|
9. Avancer : `autocode next <ticket-key>`
|
|
@@ -10,12 +10,8 @@ Re-run all automated E2E tests to ensure refactoring did not introduce regressio
|
|
|
10
10
|
2. Compare results with pre-refactoring run
|
|
11
11
|
3. If new failures: identify cause (test or code issue)
|
|
12
12
|
4. Fix any regressions before proceeding
|
|
13
|
-
5.
|
|
14
|
-
|
|
15
|
-
- Significantly out of scope (new feature, major change): `autocode new "<title>" "<description>" -p P2 -l "<labels>" -a "<criteria>" -s patch`
|
|
16
|
-
- In scope: handle directly in current ticket
|
|
17
|
-
6. Document: `autocode comment <ticket-key> "Retest Cypress OK"`
|
|
18
|
-
7. Advance: `autocode next <ticket-key>`
|
|
13
|
+
5. Document: `autocode comment <ticket-key> "Retest Cypress OK"`
|
|
14
|
+
6. Advance: `autocode next <ticket-key>`
|
|
19
15
|
|
|
20
16
|
> Or return: `autocode move <ticket-key> <target-column-slug>`
|
|
21
17
|
|
|
@@ -10,12 +10,8 @@ Re-executer tous les tests E2E automatises pour s'assurer que le refactoring n'a
|
|
|
10
10
|
2. Comparer les resultats avec l'execution pre-refactoring
|
|
11
11
|
3. Si nouveaux echecs : identifier la cause (probleme de test ou de code)
|
|
12
12
|
4. Corriger toute regression avant de continuer
|
|
13
|
-
5.
|
|
14
|
-
|
|
15
|
-
- Tres hors scope (nouvelle feature, changement majeur) : `autocode new "<titre>" "<description>" -p P2 -l "<labels>" -a "<criteres>" -s patch`
|
|
16
|
-
- Dans le scope : traiter directement dans le ticket actuel
|
|
17
|
-
6. Documenter : `autocode comment <ticket-key> "Retest Cypress OK"`
|
|
18
|
-
7. Avancer : `autocode next <ticket-key>`
|
|
13
|
+
5. Documenter : `autocode comment <ticket-key> "Retest Cypress OK"`
|
|
14
|
+
6. Avancer : `autocode next <ticket-key>`
|
|
19
15
|
|
|
20
16
|
> Ou retour : `autocode move <ticket-key> <target-column-slug>`
|
|
21
17
|
|
|
@@ -12,10 +12,7 @@ Post-refactoring validation with Playwright. Verify that refactoring did not bre
|
|
|
12
12
|
4. Verify edge cases still work
|
|
13
13
|
5. Compare behavior with pre-refactoring state
|
|
14
14
|
6. If regression detected: return to review step
|
|
15
|
-
7.
|
|
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
|
|
15
|
+
7. Do not test functionality outside the ticket scope
|
|
19
16
|
8. Document: `autocode comment <ticket-key> "Retest Playwright OK"`
|
|
20
17
|
9. Advance: `autocode next <ticket-key>`
|
|
21
18
|
|
|
@@ -12,10 +12,7 @@ Validation post-refactoring avec Playwright. Verifier que le refactoring n'a pas
|
|
|
12
12
|
4. Verifier que les cas limites fonctionnent toujours
|
|
13
13
|
5. Comparer le comportement avec l'etat pre-refactoring
|
|
14
14
|
6. Si regression detectee : retour a l'etape de review
|
|
15
|
-
7.
|
|
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
|
|
15
|
+
7. Ne pas tester de fonctionnalites hors scope du ticket
|
|
19
16
|
8. Documenter : `autocode comment <ticket-key> "Retest Playwright OK"`
|
|
20
17
|
9. Avancer : `autocode next <ticket-key>`
|
|
21
18
|
|
|
@@ -13,10 +13,7 @@ Re-run all tests after bug fixes or corrections. Ensure no regressions were intr
|
|
|
13
13
|
5. Verify the original issue is fixed
|
|
14
14
|
6. Check for regressions in related functionality
|
|
15
15
|
7. If tests fail: return to appropriate column for fixes
|
|
16
|
-
8.
|
|
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
|
|
16
|
+
8. Do not write tests for code outside the ticket scope
|
|
20
17
|
9. Document: `autocode comment <ticket-key> "Retest passed: all tests green"`
|
|
21
18
|
10. Advance: `autocode next <ticket-key>`
|
|
22
19
|
|
|
@@ -13,10 +13,7 @@ Re-executer tous les tests apres corrections de bugs. S'assurer qu'aucune regres
|
|
|
13
13
|
5. Verifier que le probleme original est corrige
|
|
14
14
|
6. Verifier les regressions dans les fonctionnalites liees
|
|
15
15
|
7. Si les tests echouent : retourner a la colonne appropriee pour corrections
|
|
16
|
-
8.
|
|
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
|
|
16
|
+
8. Ne pas ecrire de tests pour du code hors scope du ticket
|
|
20
17
|
9. Documenter : `autocode comment <ticket-key> "Retest OK : tous les tests verts"`
|
|
21
18
|
10. Avancer : `autocode next <ticket-key>`
|
|
22
19
|
|
|
@@ -12,12 +12,8 @@ Code quality audit. Verify conventions and best practices are followed.
|
|
|
12
12
|
4. Verify file size (components < 300 lines)
|
|
13
13
|
5. Verify import organization
|
|
14
14
|
6. Fix violations found
|
|
15
|
-
7.
|
|
16
|
-
|
|
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 <ticket-key> "Review best practices OK"`
|
|
20
|
-
9. Advance: `autocode next <ticket-key>`
|
|
15
|
+
7. Document: `autocode comment <ticket-key> "Review best practices OK"`
|
|
16
|
+
8. Advance: `autocode next <ticket-key>`
|
|
21
17
|
|
|
22
18
|
> Or return: `autocode move <ticket-key> <target-column-slug>`
|
|
23
19
|
|
|
@@ -12,12 +12,8 @@ Audit qualite du code. Verifier que les conventions et bonnes pratiques sont res
|
|
|
12
12
|
4. Verifier la taille des fichiers (composants < 300 lignes)
|
|
13
13
|
5. Verifier l'organisation des imports
|
|
14
14
|
6. Corriger les violations trouvees
|
|
15
|
-
7.
|
|
16
|
-
|
|
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 <ticket-key> "Review best practices OK"`
|
|
20
|
-
9. Avancer : `autocode next <ticket-key>`
|
|
15
|
+
7. Documenter : `autocode comment <ticket-key> "Review best practices OK"`
|
|
16
|
+
8. Avancer : `autocode next <ticket-key>`
|
|
21
17
|
|
|
22
18
|
> Ou retour : `autocode move <ticket-key> <target-column-slug>`
|
|
23
19
|
|
|
@@ -13,12 +13,8 @@ Perform peer code review. Ensure code quality, readability, and adherence to pro
|
|
|
13
13
|
5. Check error handling
|
|
14
14
|
6. Suggest improvements if needed
|
|
15
15
|
7. If issues found: add comment with feedback and return to dev
|
|
16
|
-
8.
|
|
17
|
-
|
|
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 <ticket-key> "Code review passed: <summary>"`
|
|
21
|
-
10. Advance: `autocode next <ticket-key>`
|
|
16
|
+
8. Document: `autocode comment <ticket-key> "Code review passed: <summary>"`
|
|
17
|
+
9. Advance: `autocode next <ticket-key>`
|
|
22
18
|
|
|
23
19
|
> Or return: `autocode move <ticket-key> <target-column-slug>`
|
|
24
20
|
|
|
@@ -13,12 +13,8 @@ Effectuer une revue de code. Assurer la qualite du code, sa lisibilite et le res
|
|
|
13
13
|
5. Verifier la gestion des erreurs
|
|
14
14
|
6. Suggerer des ameliorations si necessaire
|
|
15
15
|
7. Si problemes trouves : ajouter un commentaire avec feedback et retourner au dev
|
|
16
|
-
8.
|
|
17
|
-
|
|
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 <ticket-key> "Code review OK : <resume>"`
|
|
21
|
-
10. Avancer : `autocode next <ticket-key>`
|
|
16
|
+
8. Documenter : `autocode comment <ticket-key> "Code review OK : <resume>"`
|
|
17
|
+
9. Avancer : `autocode next <ticket-key>`
|
|
22
18
|
|
|
23
19
|
> Ou retour : `autocode move <ticket-key> <target-column-slug>`
|
|
24
20
|
|