antigravity-flow 1.0.0
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 +182 -0
- package/dist/bin/ag-flow.js +127 -0
- package/dist/src/adapters/ConsoleLoggerAdapter.js +52 -0
- package/dist/src/adapters/EjsTemplateAdapter.js +66 -0
- package/dist/src/adapters/JsonLocalizationAdapter.js +81 -0
- package/dist/src/adapters/NodeFileSystemAdapter.js +52 -0
- package/dist/src/adapters/index.js +20 -0
- package/dist/src/commands/guide.js +89 -0
- package/dist/src/commands/index.js +19 -0
- package/dist/src/commands/init.js +581 -0
- package/dist/src/commands/templates.js +143 -0
- package/dist/src/core/ConfigService.js +75 -0
- package/dist/src/core/ContextGenerator.js +27 -0
- package/dist/src/core/DockerfileGenerator.js +151 -0
- package/dist/src/core/GitignoreGenerator.js +129 -0
- package/dist/src/core/PipelineGenerator.js +68 -0
- package/dist/src/core/RulesComposer.js +62 -0
- package/dist/src/core/StackDetector.js +115 -0
- package/dist/src/core/WorkflowGenerator.js +137 -0
- package/dist/src/core/index.js +26 -0
- package/dist/src/core/interfaces.js +2 -0
- package/dist/src/core/pipelines/PipelineStrategy.js +97 -0
- package/dist/src/core/types.js +300 -0
- package/dist/src/locales/en.json +293 -0
- package/dist/src/locales/fr.json +293 -0
- package/dist/src/templates/docker/django.Dockerfile.ejs +21 -0
- package/dist/src/templates/docker/dockerignore.ejs +12 -0
- package/dist/src/templates/docker/go.Dockerfile.ejs +20 -0
- package/dist/src/templates/docker/nestjs.Dockerfile.ejs +25 -0
- package/dist/src/templates/docker/node.Dockerfile.ejs +13 -0
- package/dist/src/templates/docker/python.Dockerfile.ejs +13 -0
- package/dist/src/templates/docker/springboot.Dockerfile.ejs +25 -0
- package/dist/src/templates/en/architect.md.ejs +85 -0
- package/dist/src/templates/en/ba.md.ejs +88 -0
- package/dist/src/templates/en/data.md.ejs +47 -0
- package/dist/src/templates/en/dev.md.ejs +77 -0
- package/dist/src/templates/en/devops.md.ejs +54 -0
- package/dist/src/templates/en/fragments/arch/feature-sliced.md.ejs +12 -0
- package/dist/src/templates/en/fragments/arch/hexagonal.md.ejs +14 -0
- package/dist/src/templates/en/fragments/arch/mvc.md.ejs +11 -0
- package/dist/src/templates/en/fragments/aspnet-core.md.ejs +11 -0
- package/dist/src/templates/en/fragments/base-rules.md.ejs +5 -0
- package/dist/src/templates/en/fragments/django.md.ejs +12 -0
- package/dist/src/templates/en/fragments/fastapi.md.ejs +11 -0
- package/dist/src/templates/en/fragments/flutter.md.ejs +11 -0
- package/dist/src/templates/en/fragments/nestjs.md.ejs +5 -0
- package/dist/src/templates/en/fragments/nextjs.md.ejs +10 -0
- package/dist/src/templates/en/fragments/react-native.md.ejs +12 -0
- package/dist/src/templates/en/fragments/react.md.ejs +5 -0
- package/dist/src/templates/en/fragments/rigor/legacy.md.ejs +6 -0
- package/dist/src/templates/en/fragments/rigor/prototype.md.ejs +6 -0
- package/dist/src/templates/en/fragments/rigor/strict.md.ejs +7 -0
- package/dist/src/templates/en/fragments/rust.md.ejs +11 -0
- package/dist/src/templates/en/fragments/scrypto.md.ejs +8 -0
- package/dist/src/templates/en/fragments/solidity.md.ejs +20 -0
- package/dist/src/templates/en/fragments/spring-boot.md.ejs +13 -0
- package/dist/src/templates/en/guide.txt +48 -0
- package/dist/src/templates/en/lead.md.ejs +76 -0
- package/dist/src/templates/en/pipelines/github-dotnet.yml.ejs +24 -0
- package/dist/src/templates/en/pipelines/github-flutter.yml.ejs +24 -0
- package/dist/src/templates/en/pipelines/github-nestjs.yml.ejs +26 -0
- package/dist/src/templates/en/pipelines/github-react.yml.ejs +26 -0
- package/dist/src/templates/en/pipelines/github-rust.yml.ejs +38 -0
- package/dist/src/templates/en/pipelines/github-scrypto.yml.ejs +34 -0
- package/dist/src/templates/en/po.md.ejs +86 -0
- package/dist/src/templates/en/project-context.md.ejs +26 -0
- package/dist/src/templates/en/qa.md.ejs +103 -0
- package/dist/src/templates/en/rules.md.ejs +30 -0
- package/dist/src/templates/en/security.md.ejs +55 -0
- package/dist/src/templates/en/techwriter.md.ejs +46 -0
- package/dist/src/templates/fr/architect.md.ejs +15 -0
- package/dist/src/templates/fr/ba.md.ejs +11 -0
- package/dist/src/templates/fr/data.md.ejs +47 -0
- package/dist/src/templates/fr/dev.md.ejs +11 -0
- package/dist/src/templates/fr/devops.md.ejs +54 -0
- package/dist/src/templates/fr/fragments/arch/feature-sliced.md.ejs +12 -0
- package/dist/src/templates/fr/fragments/arch/hexagonal.md.ejs +14 -0
- package/dist/src/templates/fr/fragments/arch/mvc.md.ejs +11 -0
- package/dist/src/templates/fr/fragments/aspnet-core.md.ejs +11 -0
- package/dist/src/templates/fr/fragments/flutter.md.ejs +11 -0
- package/dist/src/templates/fr/fragments/rigor/legacy.md.ejs +6 -0
- package/dist/src/templates/fr/fragments/rigor/prototype.md.ejs +6 -0
- package/dist/src/templates/fr/fragments/rigor/strict.md.ejs +7 -0
- package/dist/src/templates/fr/fragments/rust.md.ejs +10 -0
- package/dist/src/templates/fr/fragments/scrypto.md.ejs +8 -0
- package/dist/src/templates/fr/guide.txt +47 -0
- package/dist/src/templates/fr/lead.md.ejs +12 -0
- package/dist/src/templates/fr/po.md.ejs +11 -0
- package/dist/src/templates/fr/project-context.md.ejs +28 -0
- package/dist/src/templates/fr/qa.md.ejs +14 -0
- package/dist/src/templates/fr/rules.md.ejs +30 -0
- package/dist/src/templates/fr/security.md.ejs +55 -0
- package/dist/src/templates/fr/techwriter.md.ejs +46 -0
- package/dist/src/templates/gitignore/dotnet.txt +6 -0
- package/dist/src/templates/gitignore/go.txt +15 -0
- package/dist/src/templates/gitignore/java.txt +4 -0
- package/dist/src/templates/gitignore/jetbrains.txt +4 -0
- package/dist/src/templates/gitignore/linux.txt +5 -0
- package/dist/src/templates/gitignore/macos.txt +3 -0
- package/dist/src/templates/gitignore/node.txt +11 -0
- package/dist/src/templates/gitignore/python.txt +10 -0
- package/dist/src/templates/gitignore/rust.txt +3 -0
- package/dist/src/templates/gitignore/solidity.txt +19 -0
- package/dist/src/templates/gitignore/vscode.txt +6 -0
- package/dist/src/templates/gitignore/windows.txt +4 -0
- package/dist/tests/commands/InitCommand.spec.js +529 -0
- package/dist/tests/commands/InitConfig.spec.js +108 -0
- package/dist/tests/core/ConfigService.spec.js +97 -0
- package/dist/tests/core/ContextGenerator.spec.js +51 -0
- package/dist/tests/core/PipelineGenerator.spec.js +206 -0
- package/dist/tests/core/RulesComposer.spec.js +89 -0
- package/dist/tests/core/StackDetector.spec.js +69 -0
- package/dist/tests/core/Types.spec.js +243 -0
- package/dist/tests/core/WorkflowGenerator.spec.js +99 -0
- package/package.json +55 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow de Lead Dev (Review & Standards)
|
|
3
|
+
---
|
|
4
|
+
1. **Analyse Statique** :
|
|
5
|
+
- Vérifier l'architecture globale par rapport aux documents de design.
|
|
6
|
+
- Vérifier le respect des principes SOLID et DRY.
|
|
7
|
+
2. **Revue de Sécurité** :
|
|
8
|
+
- Vérifier les inputs utilisateurs et les failles potentielles.
|
|
9
|
+
3. **Standards** :
|
|
10
|
+
- S'assurer que le code respecte Clean Code.
|
|
11
|
+
4. **Feedback** :
|
|
12
|
+
- Fournir une liste de recommandations priorisée.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow Product Owner (Backlog & Valeur)
|
|
3
|
+
---
|
|
4
|
+
1. **Priorisation** :
|
|
5
|
+
- Définir la valeur métier des tâches.
|
|
6
|
+
- Ordonner le backlog.
|
|
7
|
+
2. **Définition des User Stories** :
|
|
8
|
+
- Rédiger les US : "En tant que... je veux... afin de...".
|
|
9
|
+
- Définir les Critères d'Acceptation (AC).
|
|
10
|
+
3. **Validation Fonctionnelle** :
|
|
11
|
+
- Valider que le produit livré correspond au besoin métier.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# 🧠 Contexte du Projet
|
|
2
|
+
|
|
3
|
+
## 📝 Description
|
|
4
|
+
<%= projectDescription %>
|
|
5
|
+
|
|
6
|
+
## 💻 Stack Technique
|
|
7
|
+
- **Frontend**: <%= techStack.frontend %>
|
|
8
|
+
- **Backend**: <%= techStack.backend %>
|
|
9
|
+
|
|
10
|
+
## 🏗️ Architecture
|
|
11
|
+
**Pattern**: <%= architecture %>
|
|
12
|
+
<% if (isMonorepo) { %>
|
|
13
|
+
**Monorepo**: Oui
|
|
14
|
+
**Apps**:
|
|
15
|
+
<% apps.forEach(function(app) { %>
|
|
16
|
+
- <%= app %>
|
|
17
|
+
<% }); %>
|
|
18
|
+
<% } else { %>
|
|
19
|
+
**Monorepo**: Non
|
|
20
|
+
<% } %>
|
|
21
|
+
|
|
22
|
+
## 🛠️ Build & Test
|
|
23
|
+
- **Build**: `<%= buildCommand %>`
|
|
24
|
+
- **Test**: `<%= testCommand %>`
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
*Ce fichier est lu par l'Agent IA pour comprendre le contexte global.*
|
|
28
|
+
Veuillez vous référer à `.agent/rules/coding-standards.md` pour les règles de codage détaillées.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow d'Assurance Qualité et Test
|
|
3
|
+
---
|
|
4
|
+
1. **Analyse du Contexte** :
|
|
5
|
+
- Lire les spécifications et le code modifié.
|
|
6
|
+
2. **Plan de Test** :
|
|
7
|
+
- Identifier les "Happy Paths" et les "Edge Cases".
|
|
8
|
+
3. **Exécution des Tests** :
|
|
9
|
+
- Exécuter `<%= testCommand %>` (Unitaires) et les tests E2E.
|
|
10
|
+
- Si un test échoue, créer un rapport d'incident ou proposer un fix.
|
|
11
|
+
4. **Exploration** :
|
|
12
|
+
- Utiliser les outils disponibles pour vérifier manuellement.
|
|
13
|
+
5. **Rapport** :
|
|
14
|
+
- Générer un résumé de la couverture et des bugs trouvés.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Règles et Standards de l'Agent
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Agent Rules & Standards
|
|
6
|
+
|
|
7
|
+
Vous êtes un expert en développement logiciel suivant les principes du **Clean Code** et de la **Clean Architecture** (Pragmatic SOLID).
|
|
8
|
+
Vous devez STRICTEMENT respecter les règles suivantes lors de la génération de code.
|
|
9
|
+
|
|
10
|
+
## 1. Principes Généraux
|
|
11
|
+
- **SOLID** : Respecter les 5 principes (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion).
|
|
12
|
+
- **KISS** (Keep It Simple, Stupid) : Éviter la complexité inutile.
|
|
13
|
+
- **DRY** (Don't Repeat Yourself) : Factoriser le code dupliqué.
|
|
14
|
+
- **Boy Scout Rule** : Laisser le code plus propre que vous ne l'avez trouvé.
|
|
15
|
+
|
|
16
|
+
## 2. Architecture & Structure
|
|
17
|
+
- **Séparation des Préoccupations** : Isoler la logique métier (Core/Domain) des détails d'infrastructure (Adapters, Frameworks).
|
|
18
|
+
- **Dependency Injection** : Utiliser l'injection de dépendances (via constructeur) pour coupler les composants lâchement.
|
|
19
|
+
- **Interfaces** : Définir des interfaces claires pour les services et les adapters (préfixées par `I`, ex: `IUserService`).
|
|
20
|
+
|
|
21
|
+
## 3. Qualité du Code
|
|
22
|
+
- **Typage Fort** : Utiliser TypeScript en mode strict (`strict: true`). Éviter `any`.
|
|
23
|
+
- **Nommage** : Variables et fonctions en `camelCase`, Classes et Types en `PascalCase`, Constantes en `UPPER_CASE`. Noms explicites et en Anglais.
|
|
24
|
+
- **Tests** : Privilégier le TDD (Test Driven Development). Tout nouveau code business doit être couvert par des tests unitaires.
|
|
25
|
+
- **Commentaires** : Le code doit être auto-documenté. Commenter uniquement le "Pourquoi", pas le "Comment".
|
|
26
|
+
|
|
27
|
+
## 4. Workflow
|
|
28
|
+
1. **Planifier** : Toujours proposer un plan d'implémentation avant de coder.
|
|
29
|
+
2. **Implémenter** : Coder étape par étape en vérifiant chaque incrément.
|
|
30
|
+
3. **Vérifier** : Relire le code généré pour s'assurer qu'il respecte ces règles.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow Ingénierie Sécurité & Conformité
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
1. **Modélisation des Menaces (Threat Modeling)** :
|
|
6
|
+
- Menez des exercices de modélisation des menaces lors des phases de conception (STRIDE, DREAD).
|
|
7
|
+
- Identifiez les vecteurs d'attaque potentiels et les vulnérabilités.
|
|
8
|
+
- Documentez les exigences de sécurité et les mesures d'atténuation.
|
|
9
|
+
- Mettez à jour les modèles de menaces à mesure que l'architecture évolue.
|
|
10
|
+
|
|
11
|
+
2. **Sécurité Applicative (AppSec)** :
|
|
12
|
+
- Assurez des pratiques de codage sécurisées (OWASP Top 10).
|
|
13
|
+
- Implémentez la validation des entrées et l'encodage des sorties pour prévenir les injections.
|
|
14
|
+
- Appliquez une authentification et une gestion de session robustes.
|
|
15
|
+
- Utilisez des bibliothèques et des pratiques cryptographiques sécurisées.
|
|
16
|
+
|
|
17
|
+
3. **Sécurité de l'Infrastructure** :
|
|
18
|
+
- Durcissez les serveurs et les conteneurs (CIS Benchmarks).
|
|
19
|
+
- Implémentez la segmentation réseau et les pare-feux (WAF).
|
|
20
|
+
- Assurez le chiffrement au repos et en transit (TLS/SSL).
|
|
21
|
+
- Gérez les politiques IAM avec le principe du moindre privilège.
|
|
22
|
+
|
|
23
|
+
4. **Tests de Sécurité** :
|
|
24
|
+
- Intégrez le SAST (Static Application Security Testing) dans les pipelines CI.
|
|
25
|
+
- Intégrez le DAST (Dynamic Application Security Testing) pour les applications en cours d'exécution.
|
|
26
|
+
- Effectuez régulièrement des tests d'intrusion et des évaluations de vulnérabilité.
|
|
27
|
+
- Automatisez l'analyse des dépendances pour les vulnérabilités connues (SCA).
|
|
28
|
+
|
|
29
|
+
5. **Gestion des Identités et des Accès (IAM)** :
|
|
30
|
+
- Implémentez l'Authentification Multi-Facteurs (MFA).
|
|
31
|
+
- Utilisez des fournisseurs d'identité centralisés (IdP/SSO).
|
|
32
|
+
- Revoyez et faites tourner régulièrement les clés d'accès et les identifiants.
|
|
33
|
+
- Auditez les journaux d'accès et les permissions.
|
|
34
|
+
|
|
35
|
+
6. **Réponse aux Incidents** :
|
|
36
|
+
- Définissez un Plan de Réponse aux Incidents (IRP).
|
|
37
|
+
- Établissez des canaux de communication pour les incidents de sécurité.
|
|
38
|
+
- Effectuez une analyse post-mortem des incidents de sécurité.
|
|
39
|
+
- Automatisez le confinement et la remédiation lorsque cela est possible.
|
|
40
|
+
|
|
41
|
+
7. **Conformité & Gouvernance** :
|
|
42
|
+
- Assurez la conformité avec les réglementations pertinentes (RGPD, HIPAA, PCI-DSS).
|
|
43
|
+
- Maintenez des journaux d'audit pour les actions critiques.
|
|
44
|
+
- Organisez des formations de sécurité régulières pour l'équipe.
|
|
45
|
+
- Gérez le risque lié aux tiers.
|
|
46
|
+
|
|
47
|
+
<%- folderStructure %>
|
|
48
|
+
|
|
49
|
+
## Checklist Sécurité
|
|
50
|
+
- [ ] Modèle de menaces créé/mis à jour
|
|
51
|
+
- [ ] Scanners SAST/DAST/SCA actifs dans le pipeline
|
|
52
|
+
- [ ] Aucun secret commité dans le contrôle de version
|
|
53
|
+
- [ ] HTTPS/TLS appliqué partout
|
|
54
|
+
- [ ] MFA activé pour tous les accès critiques
|
|
55
|
+
- [ ] Plan de Réponse aux Incidents accessible
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Workflow Documentation Technique
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
1. **Docs as Code** :
|
|
6
|
+
- Traitez la documentation comme du code (versioning, revues, tests).
|
|
7
|
+
- Utilisez Markdown/AsciiDoc pour la rédaction.
|
|
8
|
+
- Gardez la documentation proche du code (dans le repo).
|
|
9
|
+
- Automatisez la construction et la publication de la documentation.
|
|
10
|
+
|
|
11
|
+
2. **Documentation API** :
|
|
12
|
+
- Maintenez les spécifications OpenAPI/Swagger.
|
|
13
|
+
- Assurez l'exactitude des exemples de requêtes/réponses.
|
|
14
|
+
- Documentez les codes d'erreur et les flux d'authentification.
|
|
15
|
+
- Utilisez des outils comme Swagger UI, Redoc ou Slate.
|
|
16
|
+
|
|
17
|
+
3. **Guides Utilisateurs & Tutoriels** :
|
|
18
|
+
- Créez des guides étape par étape pour les tâches courantes.
|
|
19
|
+
- Rédigez des vues d'ensemble conceptuelles claires et concises.
|
|
20
|
+
- Incluez des extraits de code et des exemples concrets.
|
|
21
|
+
- Maintenez un glossaire des termes.
|
|
22
|
+
|
|
23
|
+
4. **Notes de Version (Release Notes)** :
|
|
24
|
+
- Organisez les changelogs pour chaque release.
|
|
25
|
+
- Mettez en avant les changements cassants (breaking changes), les nouvelles fonctionnalités et les correctifs.
|
|
26
|
+
- Communiquez clairement sur les zones impactées.
|
|
27
|
+
|
|
28
|
+
5. **Architecture & Décisions** :
|
|
29
|
+
- Aidez les ingénieurs à documenter les ADR (Architecture Decision Records).
|
|
30
|
+
- Maintenez des diagrammes système de haut niveau.
|
|
31
|
+
- Documentez les flux de données et les points d'intégration.
|
|
32
|
+
|
|
33
|
+
6. **Guide de Style & Gouvernance** :
|
|
34
|
+
- Établissez et appliquez un guide de style rédactionnel.
|
|
35
|
+
- Revoyez la doc pour la clarté, le ton et la cohérence.
|
|
36
|
+
- Gérez la terminologie et les marques déposées.
|
|
37
|
+
|
|
38
|
+
<%- folderStructure %>
|
|
39
|
+
|
|
40
|
+
## Checklist Tech Writer
|
|
41
|
+
- [ ] La documentation compile avec succès
|
|
42
|
+
- [ ] Les specs API correspondent à l'implémentation
|
|
43
|
+
- [ ] Pas de liens cassés
|
|
44
|
+
- [ ] Les changements cassants sont documentés
|
|
45
|
+
- [ ] Les notes de version sont prêtes
|
|
46
|
+
- [ ] Vérification orthographique et grammaticale passée
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Binaries for programs and plugins
|
|
2
|
+
*.exe
|
|
3
|
+
*.exe~
|
|
4
|
+
*.dll
|
|
5
|
+
*.so
|
|
6
|
+
*.dylib
|
|
7
|
+
|
|
8
|
+
# Test binary, built with `go test -c`
|
|
9
|
+
*.test
|
|
10
|
+
|
|
11
|
+
# Output of the go coverage tool, specifically when used with LiteIDE
|
|
12
|
+
*.out
|
|
13
|
+
|
|
14
|
+
# Dependency directories (remove the comment below to include it)
|
|
15
|
+
# vendor/
|