@autocode-cli/autocode 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/server/api.d.ts.map +1 -1
  2. package/dist/server/api.js +95 -1
  3. package/dist/server/api.js.map +1 -1
  4. package/dist/server/dashboard/pages/autocreate.d.ts +9 -0
  5. package/dist/server/dashboard/pages/autocreate.d.ts.map +1 -0
  6. package/dist/server/dashboard/pages/autocreate.js +847 -0
  7. package/dist/server/dashboard/pages/autocreate.js.map +1 -0
  8. package/dist/server/dashboard/pages/index.d.ts +1 -0
  9. package/dist/server/dashboard/pages/index.d.ts.map +1 -1
  10. package/dist/server/dashboard/pages/index.js +1 -0
  11. package/dist/server/dashboard/pages/index.js.map +1 -1
  12. package/dist/server/dashboard/pages/pipeline-configurator.d.ts.map +1 -1
  13. package/dist/server/dashboard/pages/pipeline-configurator.js +22 -0
  14. package/dist/server/dashboard/pages/pipeline-configurator.js.map +1 -1
  15. package/dist/server/dashboard.d.ts +1 -1
  16. package/dist/server/dashboard.d.ts.map +1 -1
  17. package/dist/server/dashboard.js +1 -1
  18. package/dist/server/dashboard.js.map +1 -1
  19. package/dist/server/index.d.ts.map +1 -1
  20. package/dist/server/index.js +9 -1
  21. package/dist/server/index.js.map +1 -1
  22. package/dist/services/autocreate.d.ts +34 -0
  23. package/dist/services/autocreate.d.ts.map +1 -0
  24. package/dist/services/autocreate.js +503 -0
  25. package/dist/services/autocreate.js.map +1 -0
  26. package/dist/types/index.d.ts +49 -0
  27. package/dist/types/index.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/templates/catalog.yaml +102 -0
  30. package/templates/prompts/accessibility-check.en.md +25 -0
  31. package/templates/prompts/accessibility-check.fr.md +25 -0
  32. package/templates/prompts/api-endpoints-test.en.md +26 -0
  33. package/templates/prompts/api-endpoints-test.fr.md +26 -0
  34. package/templates/prompts/build-dist.en.md +20 -0
  35. package/templates/prompts/build-dist.fr.md +20 -0
  36. package/templates/prompts/ci-gitlab-validate.en.md +22 -0
  37. package/templates/prompts/ci-gitlab-validate.fr.md +22 -0
  38. package/templates/prompts/claude-integration-test.en.md +22 -0
  39. package/templates/prompts/claude-integration-test.fr.md +22 -0
  40. package/templates/prompts/cli-smoke-test.en.md +30 -0
  41. package/templates/prompts/cli-smoke-test.fr.md +30 -0
  42. package/templates/prompts/dashboard-responsive.en.md +27 -0
  43. package/templates/prompts/dashboard-responsive.fr.md +27 -0
  44. package/templates/prompts/dead-code-check.en.md +25 -0
  45. package/templates/prompts/dead-code-check.fr.md +25 -0
  46. package/templates/prompts/deps-licenses.en.md +23 -0
  47. package/templates/prompts/deps-licenses.fr.md +23 -0
  48. package/templates/prompts/deps-outdated.en.md +23 -0
  49. package/templates/prompts/deps-outdated.fr.md +23 -0
  50. package/templates/prompts/docs-readme-validate.en.md +22 -0
  51. package/templates/prompts/docs-readme-validate.fr.md +22 -0
  52. package/templates/prompts/error-handling-review.en.md +24 -0
  53. package/templates/prompts/error-handling-review.fr.md +24 -0
  54. package/templates/prompts/esm-compatibility.en.md +24 -0
  55. package/templates/prompts/esm-compatibility.fr.md +24 -0
  56. package/templates/prompts/file-watcher-test.en.md +20 -0
  57. package/templates/prompts/file-watcher-test.fr.md +20 -0
  58. package/templates/prompts/format-prettier-setup.en.md +21 -0
  59. package/templates/prompts/format-prettier-setup.fr.md +21 -0
  60. package/templates/prompts/git-conventional-commits.en.md +21 -0
  61. package/templates/prompts/git-conventional-commits.fr.md +21 -0
  62. package/templates/prompts/git-hooks-setup.en.md +27 -0
  63. package/templates/prompts/git-hooks-setup.fr.md +27 -0
  64. package/templates/prompts/graceful-shutdown.en.md +25 -0
  65. package/templates/prompts/graceful-shutdown.fr.md +25 -0
  66. package/templates/prompts/i18n-completeness.en.md +21 -0
  67. package/templates/prompts/i18n-completeness.fr.md +21 -0
  68. package/templates/prompts/landing-html-validate.en.md +23 -0
  69. package/templates/prompts/landing-html-validate.fr.md +23 -0
  70. package/templates/prompts/lint-eslint-setup.en.md +20 -0
  71. package/templates/prompts/lint-eslint-setup.fr.md +20 -0
  72. package/templates/prompts/node-version-check.en.md +21 -0
  73. package/templates/prompts/node-version-check.fr.md +21 -0
  74. package/templates/prompts/npm-publish-dry-run.en.md +25 -0
  75. package/templates/prompts/npm-publish-dry-run.fr.md +25 -0
  76. package/templates/prompts/pkg-exports-validate.en.md +23 -0
  77. package/templates/prompts/pkg-exports-validate.fr.md +23 -0
  78. package/templates/prompts/port-conflict-handling.en.md +22 -0
  79. package/templates/prompts/port-conflict-handling.fr.md +22 -0
  80. package/templates/prompts/security-audit.en.md +20 -0
  81. package/templates/prompts/security-audit.fr.md +20 -0
  82. package/templates/prompts/security-secrets.en.md +26 -0
  83. package/templates/prompts/security-secrets.fr.md +26 -0
  84. package/templates/prompts/template-validation.en.md +23 -0
  85. package/templates/prompts/template-validation.fr.md +23 -0
  86. package/templates/prompts/testing-coverage.en.md +20 -0
  87. package/templates/prompts/testing-coverage.fr.md +20 -0
  88. package/templates/prompts/testing-vitest.en.md +17 -0
  89. package/templates/prompts/testing-vitest.fr.md +17 -0
  90. package/templates/prompts/typecheck.en.md +17 -0
  91. package/templates/prompts/typecheck.fr.md +17 -0
  92. package/templates/prompts/version-semver.en.md +20 -0
  93. package/templates/prompts/version-semver.fr.md +20 -0
  94. package/templates/prompts/websocket-test.en.md +19 -0
  95. package/templates/prompts/websocket-test.fr.md +19 -0
  96. package/templates/prompts/yaml-validate.en.md +24 -0
  97. 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