@autocode-cli/autocode 0.1.13 → 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/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +95 -1
- 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 +22 -0
- package/dist/server/dashboard/pages/pipeline-configurator.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 +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/types/index.d.ts +49 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/catalog.yaml +102 -0
- 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/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/docs-readme-validate.en.md +22 -0
- package/templates/prompts/docs-readme-validate.fr.md +22 -0
- 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/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/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/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-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/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
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Error Handling Review
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Verify errors are correctly handled throughout the code.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Analyze critical files:
|
|
8
|
+
- src/server/api.ts (REST endpoints)
|
|
9
|
+
- src/core/ticket.ts (file operations)
|
|
10
|
+
- src/services/claude.ts (external calls)
|
|
11
|
+
2. Check patterns:
|
|
12
|
+
- try/catch around I/O
|
|
13
|
+
- Appropriate HTTP codes (400, 404, 500)
|
|
14
|
+
- Explicit error messages
|
|
15
|
+
3. Verify error logging
|
|
16
|
+
4. Test error cases via API
|
|
17
|
+
5. Check async/await errors
|
|
18
|
+
|
|
19
|
+
## Validation Criteria
|
|
20
|
+
- [ ] File operations in try/catch
|
|
21
|
+
- [ ] Correct HTTP codes for each error
|
|
22
|
+
- [ ] Clear error messages for user
|
|
23
|
+
- [ ] Errors logged for debug
|
|
24
|
+
- [ ] No unhandled crashes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Revue de la gestion des erreurs
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Vérifier que les erreurs sont correctement gérées dans tout le code.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Analyser les fichiers critiques:
|
|
8
|
+
- src/server/api.ts (endpoints REST)
|
|
9
|
+
- src/core/ticket.ts (opérations fichiers)
|
|
10
|
+
- src/services/claude.ts (appels externes)
|
|
11
|
+
2. Vérifier les patterns:
|
|
12
|
+
- try/catch autour des I/O
|
|
13
|
+
- Codes HTTP appropriés (400, 404, 500)
|
|
14
|
+
- Messages d'erreur explicites
|
|
15
|
+
3. Vérifier le logging des erreurs
|
|
16
|
+
4. Tester les cas d'erreur via l'API
|
|
17
|
+
5. Vérifier les erreurs async/await
|
|
18
|
+
|
|
19
|
+
## Critères de validation
|
|
20
|
+
- [ ] Opérations fichiers dans try/catch
|
|
21
|
+
- [ ] Codes HTTP corrects pour chaque erreur
|
|
22
|
+
- [ ] Messages d'erreur clairs pour l'utilisateur
|
|
23
|
+
- [ ] Erreurs loggées pour debug
|
|
24
|
+
- [ ] Pas de crash non géré
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# ESM Compatibility
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Verify project is correctly configured as ES module.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Check package.json:
|
|
8
|
+
- `"type": "module"` present
|
|
9
|
+
- `"module"` or `"exports"` configured
|
|
10
|
+
2. Check tsconfig.json:
|
|
11
|
+
- `"module": "NodeNext"`
|
|
12
|
+
- `"moduleResolution": "NodeNext"`
|
|
13
|
+
3. Check imports:
|
|
14
|
+
- .js extension in imports
|
|
15
|
+
- No `require()` in code
|
|
16
|
+
4. Test compiled package import
|
|
17
|
+
5. Verify dependency compatibility
|
|
18
|
+
|
|
19
|
+
## Validation Criteria
|
|
20
|
+
- [ ] `"type": "module"` in package.json
|
|
21
|
+
- [ ] Imports with .js extensions
|
|
22
|
+
- [ ] No require() in src/
|
|
23
|
+
- [ ] Package import works
|
|
24
|
+
- [ ] ESM compatible dependencies
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Compatibilité ESM
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Vérifier que le projet est correctement configuré comme module ES.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Vérifier package.json:
|
|
8
|
+
- `"type": "module"` présent
|
|
9
|
+
- `"module"` ou `"exports"` configuré
|
|
10
|
+
2. Vérifier tsconfig.json:
|
|
11
|
+
- `"module": "NodeNext"`
|
|
12
|
+
- `"moduleResolution": "NodeNext"`
|
|
13
|
+
3. Vérifier les imports:
|
|
14
|
+
- Extension .js dans les imports
|
|
15
|
+
- Pas de `require()` dans le code
|
|
16
|
+
4. Tester l'import du package compilé
|
|
17
|
+
5. Vérifier la compatibilité avec les dépendances
|
|
18
|
+
|
|
19
|
+
## Critères de validation
|
|
20
|
+
- [ ] `"type": "module"` dans package.json
|
|
21
|
+
- [ ] Imports avec extensions .js
|
|
22
|
+
- [ ] Pas de require() dans src/
|
|
23
|
+
- [ ] Import du package fonctionne
|
|
24
|
+
- [ ] Dépendances ESM compatibles
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# File Watcher Test
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Verify file monitoring system works correctly.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Start server with watcher: `node dist/index.js serve`
|
|
8
|
+
2. Create a new ticket file in .autocode/tickets/
|
|
9
|
+
3. Verify dashboard detects the change
|
|
10
|
+
4. Modify an existing ticket
|
|
11
|
+
5. Verify real-time update via WebSocket
|
|
12
|
+
6. Delete a ticket
|
|
13
|
+
7. Test with many files (performance)
|
|
14
|
+
|
|
15
|
+
## Validation Criteria
|
|
16
|
+
- [ ] File creation detected (<1s)
|
|
17
|
+
- [ ] Modification detected and propagated
|
|
18
|
+
- [ ] Deletion detected
|
|
19
|
+
- [ ] No memory leak on prolonged watch
|
|
20
|
+
- [ ] Acceptable performance with 100+ tickets
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Test du file watcher
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Vérifier que le système de surveillance des fichiers fonctionne correctement.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Démarrer le serveur avec watcher: `node dist/index.js serve`
|
|
8
|
+
2. Créer un nouveau fichier ticket dans .autocode/tickets/
|
|
9
|
+
3. Vérifier que le dashboard détecte le changement
|
|
10
|
+
4. Modifier un ticket existant
|
|
11
|
+
5. Vérifier la mise à jour en temps réel via WebSocket
|
|
12
|
+
6. Supprimer un ticket
|
|
13
|
+
7. Tester avec de nombreux fichiers (performance)
|
|
14
|
+
|
|
15
|
+
## Critères de validation
|
|
16
|
+
- [ ] Création de fichier détectée (<1s)
|
|
17
|
+
- [ ] Modification détectée et propagée
|
|
18
|
+
- [ ] Suppression détectée
|
|
19
|
+
- [ ] Pas de fuite mémoire sur watch prolongé
|
|
20
|
+
- [ ] Performance acceptable avec 100+ tickets
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Prettier Setup
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Set up automatic code formatting with Prettier to ensure consistency.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Check if Prettier is installed (`npm ls prettier`)
|
|
8
|
+
2. If missing, install Prettier:
|
|
9
|
+
```bash
|
|
10
|
+
npm install -D prettier
|
|
11
|
+
```
|
|
12
|
+
3. Create .prettierrc configuration file
|
|
13
|
+
4. Create .prettierignore to exclude dist/, node_modules/
|
|
14
|
+
5. Run `npx prettier --check src/` to verify
|
|
15
|
+
6. Format with `npx prettier --write src/` if needed
|
|
16
|
+
|
|
17
|
+
## Validation Criteria
|
|
18
|
+
- [ ] Prettier is installed
|
|
19
|
+
- [ ] .prettierrc exists with consistent configuration
|
|
20
|
+
- [ ] `npx prettier --check src/` passes without errors
|
|
21
|
+
- [ ] dist/ and node_modules/ are ignored
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Configuration Prettier
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Mettre en place le formatage automatique du code avec Prettier pour assurer la cohérence.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Vérifier si Prettier est installé (`npm ls prettier`)
|
|
8
|
+
2. Si absent, installer Prettier:
|
|
9
|
+
```bash
|
|
10
|
+
npm install -D prettier
|
|
11
|
+
```
|
|
12
|
+
3. Créer le fichier .prettierrc avec la configuration
|
|
13
|
+
4. Créer .prettierignore pour exclure dist/, node_modules/
|
|
14
|
+
5. Exécuter `npx prettier --check src/` pour vérifier
|
|
15
|
+
6. Formater avec `npx prettier --write src/` si nécessaire
|
|
16
|
+
|
|
17
|
+
## Critères de validation
|
|
18
|
+
- [ ] Prettier est installé
|
|
19
|
+
- [ ] .prettierrc existe avec configuration cohérente
|
|
20
|
+
- [ ] `npx prettier --check src/` passe sans erreur
|
|
21
|
+
- [ ] dist/ et node_modules/ sont ignorés
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Conventional Commits Validation
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
Verify commits follow Conventional Commits convention.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Analyze recent commits: `git log --oneline -20`
|
|
8
|
+
2. Check format: `type(scope): description`
|
|
9
|
+
3. Valid types: feat, fix, docs, style, refactor, test, chore, perf, ci, build, release
|
|
10
|
+
4. Project examples:
|
|
11
|
+
- `fix(landing): update messaging`
|
|
12
|
+
- `release: v0.1.13`
|
|
13
|
+
- `feat(pipeline): add pipeline analysis`
|
|
14
|
+
5. Install commitlint if missing to automate
|
|
15
|
+
6. Configure husky for pre-commit hook
|
|
16
|
+
|
|
17
|
+
## Validation Criteria
|
|
18
|
+
- [ ] Recent commits follow format
|
|
19
|
+
- [ ] Types used are valid
|
|
20
|
+
- [ ] Descriptions are clear and concise
|
|
21
|
+
- [ ] Scope optional but consistent
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Validation des commits conventionnels
|
|
2
|
+
|
|
3
|
+
## Rôle
|
|
4
|
+
Vérifier que les commits suivent la convention Conventional Commits.
|
|
5
|
+
|
|
6
|
+
## Actions
|
|
7
|
+
1. Analyser les derniers commits: `git log --oneline -20`
|
|
8
|
+
2. Vérifier le format: `type(scope): description`
|
|
9
|
+
3. Types valides: feat, fix, docs, style, refactor, test, chore, perf, ci, build, release
|
|
10
|
+
4. Exemples du projet:
|
|
11
|
+
- `fix(landing): update messaging`
|
|
12
|
+
- `release: v0.1.13`
|
|
13
|
+
- `feat(pipeline): add pipeline analysis`
|
|
14
|
+
5. Installer commitlint si absent pour automatiser
|
|
15
|
+
6. Configurer husky pour pre-commit hook
|
|
16
|
+
|
|
17
|
+
## Critères de validation
|
|
18
|
+
- [ ] Derniers commits suivent le format
|
|
19
|
+
- [ ] Types utilisés sont valides
|
|
20
|
+
- [ ] Descriptions sont claires et concises
|
|
21
|
+
- [ ] Scope optionnel mais cohérent
|
|
@@ -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
|
|
@@ -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
|