Skip to content

Journal des modifications ​

Cette page enregistre l'historique des versions d'Agent App Factory, incluant les nouvelles fonctionnalités, les améliorations, les corrections de bugs et les changements destructifs.

Le format respecte la norme Keep a Changelog et les numéros de version suivent Semantic Versioning.

[1.0.0] - 2024-01-29 ​

Nouveautés ​

Fonctionnalités principales

  • Système de pipeline à 7 étapes : processus automatisé complet de l'idée à l'application fonctionnelle

    • Bootstrap - structure l'idée de produit (input/idea.md)
    • PRD - génère le document de spécification du produit (artifacts/prd/prd.md)
    • UI - conçoit la structure de l'interface et des prototypes prévisualisables (artifacts/ui/)
    • Tech - conçoit l'architecture technique et le modèle de données Prisma (artifacts/tech/)
    • Code - génère le code frontend et backend (artifacts/backend/, artifacts/client/)
    • Validation - valide la qualité du code (artifacts/validation/report.md)
    • Preview - génère le guide de déploiement (artifacts/preview/README.md)
  • Planificateur Sisyphus : composant de contrôle principal du pipeline

    • Exécute séquentiellement chaque Stage défini dans pipeline.yaml
    • Vérifie les entrées/sorties et les critères de sortie de chaque étape
    • Maintient l'état du pipeline (.factory/state.json)
    • Effectue des vérifications de permission pour empêcher les agents de lire/écrire hors de leurs droits
    • Gère les situations anormales selon la stratégie de gestion des échecs
    • Suspend à chaque point de contrôle, attendant confirmation humaine avant de continuer

Outils CLI

  • factory init - Initialise un projet Factory
  • factory run [stage] - Exécute le pipeline (depuis l'étape actuelle ou spécifiée)
  • factory continue - Continue l'exécution dans une nouvelle session (économise des tokens)
  • factory status - Vérifie l'état du projet actuel
  • factory list - Liste tous les projets Factory
  • factory reset - Réinitialise l'état du projet actuel

Permissions et sécurité

  • Matrice des capacités (capability.matrix.md) : définit des autorisations de lecture/écriture strictes pour chaque agent
    • Chaque agent ne peut accéder qu'aux répertoires autorisés
    • Les fichiers écrits sans autorisation sont déplacés vers artifacts/_untrusted/
    • Suspend automatiquement le pipeline après échec, attendant intervention humaine

Optimisation du contexte

  • Exécution par sous-session : chaque étape s'exécute dans une nouvelle session
    • Évite l'accumulation de contexte, économise des tokens
    • Supporte la reprise après interruption
    • Compatible avec tous les assistants IA (Claude Code, OpenCode, Cursor)

Stratégies de gestion des échecs

  • Mécanisme de réessai automatique : chaque étape autorise une tentative de réessai
  • Archivage des échecs : les artefacts échoués sont déplacés vers artifacts/_failed/
  • Mécanisme de rollback : retour au dernier point de contrôle réussi
  • Intervention humaine : suspension après deux échecs consécutifs

Assurance qualité

  • Normes de code (code-standards.md)

    • Conventions de codage TypeScript et meilleures pratiques
    • Structure des fichiers et conventions de nommage
    • Exigences de commentaires et de documentation
    • Convention des messages de commit Git (Conventional Commits)
  • Convention des codes d'erreur (error-codes.md)

    • Structure unifiée des codes d'erreur : [MODULE][ERROR_TYPE][SPECIFIC]
    • Types d'erreur standard : VALIDATION, NOT_FOUND, FORBIDDEN, CONFLICT, INTERNAL_ERROR
    • Mapping des codes d'erreur frontend/backend et messages utilisateurs conviviaux

Gestion du Changelog

  • Respecte le format Keep a Changelog
  • Intégré avec Conventional Commits
  • Support d'outils automatisés : conventional-changelog-cli, release-it

Modèles de configuration

  • Configuration CI/CD (GitHub Actions)
  • Configuration Git Hooks (Husky)

Caractéristiques des applications générées

  • Code frontend et backend complet (Express + Prisma + React Native)
  • Tests unitaires et tests d'intégration (Vitest + Jest)
  • Documentation API (Swagger/OpenAPI)
  • Données de seed de base de données
  • Configuration de déploiement Docker
  • Gestion des erreurs et surveillance des logs
  • Optimisation des performances et vérifications de sécurité

Améliorations ​

Focus MVP

  • Liste explicite des Non-Goals pour éviter l'expansion de la portée
  • Nombre de pages limité à 3 maximum
  • Concentration sur les fonctionnalités principales, éviter la sur-conception

Séparation des responsabilités

  • Chaque agent est responsable uniquement de son domaine, ne dépasse pas les limites
  • La PRD ne contient pas de détails techniques, Tech n'implique pas la conception UI
  • L'agent Code implémente strictement selon le schéma UI et la conception Tech

Vérifiabilité

  • Chaque étape définit des exit_criteria clairs
  • Toutes les fonctionnalités sont testables et exécutables localement
  • Les artefacts doivent être structurés et consommables en aval

Stack technique ​

Outils CLI

  • Node.js >= 16.0.0
  • Commander.js - Framework de ligne de commande
  • Chalk - Sortie terminal en couleur
  • Ora - Indicateur de progression
  • Inquirer - Ligne de commande interactive
  • fs-extra - Opérations système de fichiers
  • YAML - Parsing YAML

Applications générées

  • Backend : Node.js + Express + Prisma + TypeScript + Vitest
  • Frontend : React Native + Expo + TypeScript + Jest + React Testing Library
  • Déploiement : Docker + GitHub Actions

Dépendances ​

  • chalk@^4.1.2 - Styles de couleur terminal
  • commander@^11.0.0 - Parsing des arguments de ligne de commande
  • fs-extra@^11.1.1 - Extensions système de fichiers
  • inquirer@^8.2.5 - Ligne de commande interactive
  • ora@^5.4.1 - Loader terminal élégant
  • yaml@^2.3.4 - Parsing et sérialisation YAML

Notes de version ​

Semantic Versioning ​

Ce projet suit le format de numérotation de version Semantic Versioning : MAJOR.MINOR.PATCH

  • MAJOR : Changements d'API incompatibles
  • MINOR : Nouvelles fonctionnalités rétrocompatibles
  • PATCH : Corrections de bugs rétrocompatibles

Types de modifications ​

  • Nouveautés (Added) : Nouvelles fonctionnalités
  • Modifications (Changed) : Changements de fonctionnalités existantes
  • Obsolètes (Deprecated) : Fonctionnalités devant être supprimées
  • Supprimés (Removed) : Fonctionnalités supprimées
  • Corrections (Fixed) : Corrections de bugs
  • Sécurité (Security) : Corrections de sécurité

Ressources connexes ​


Annexe : Référence du code source ​

Cliquez pour développer les emplacements du code source

Dernière mise à jour : 2024-01-29

FonctionChemin du fichierLigne
package.jsonpackage.json1-52
Point d'entrée CLIcli/bin/factory.js1-123
Commande d'initialisationcli/commands/init.js1-427
Commande d'exécutioncli/commands/run.js1-294
Commande de continuationcli/commands/continue.js1-87
Définition du pipelinepipeline.yaml1-87
Définition du planificateuragents/orchestrator.checkpoint.md1-301
Matrice des capacitéspolicies/capability.matrix.md1-44
Stratégie d'échecpolicies/failure.policy.md1-200
Normes de codepolicies/code-standards.md1-287
Convention des codes d'erreurpolicies/error-codes.md1-134
Norme Changelogpolicies/changelog.md1-87

Informations clés de version :

  • version = "1.0.0" : Version de publication initiale
  • engines.node = ">=16.0.0" : Version minimale de Node.js requise

Versions des dépendances :

  • chalk@^4.1.2 : Styles de couleur terminal
  • commander@^11.0.0 : Parsing des arguments de ligne de commande
  • fs-extra@^11.1.1 : Extensions système de fichiers
  • inquirer@^8.2.5 : Ligne de commande interactive
  • ora@^5.4.1 : Loader terminal élégant
  • yaml@^2.3.4 : Parsing et sérialisation YAML