<project_specification>
  <project_name>Votre Nom d'Application</project_name>

  <overview>
    Description complète de votre application. Expliquez :
    - Ce que fait l'application
    - Qui sont les utilisateurs cibles
    - Les objectifs principaux
    - Les fonctionnalités clés en quelques phrases
  </overview>

  <technology_stack>
    <api_key>
      Note: Vous pouvez utiliser une clé API située à /tmp/api-key pour les tests.
      Vous ne pourrez pas lire ce fichier, mais vous pouvez le référencer dans le code.
    </api_key>
    <frontend>
      <framework>React avec Vite</framework>
      <styling>Tailwind CSS (via CDN)</styling>
      <state_management>React hooks et context</state_management>
      <routing>React Router pour la navigation</routing>
      <port>Lancer uniquement sur le port {frontend_port}</port>
    </frontend>
    <backend>
      <runtime>Node.js avec Express</runtime>
      <database>SQLite avec better-sqlite3</database>
      <api_integration>Intégration avec les APIs nécessaires</api_integration>
      <streaming>Server-Sent Events pour les réponses en temps réel (si nécessaire)</streaming>
    </backend>
    <communication>
      <api>Endpoints RESTful</api>
      <streaming>SSE pour le streaming en temps réel (si nécessaire)</streaming>
    </communication>
  </technology_stack>

  <prerequisites>
    <environment_setup>
      - Repository inclut .env avec les clés API configurées
      - Dépendances frontend pré-installées via npm/pnpm
      - Code backend dans le répertoire /server
      - Installer les dépendances backend au besoin
    </environment_setup>
  </prerequisites>

  <core_features>
    <!-- 
      IMPORTANT: Créez une balise <feature_X> pour chaque fonctionnalité.
      L'agent initializer créera une issue Linear pour chaque feature.
      Utilisez des numéros séquentiels: feature_1, feature_2, feature_3, etc.
    -->

    <feature_1>
      <title>Nom de la fonctionnalité 1</title>
      <description>
        Description détaillée de ce que fait cette fonctionnalité.
        Incluez les détails techniques importants, les cas d'usage, et les
        interactions avec d'autres parties de l'application.
      </description>
      <priority>1</priority>
      <category>frontend</category>
      <test_steps>
        1. Étape de test 1 - décrire l'action
        2. Étape de test 2 - décrire l'action
        3. Étape de test 3 - vérifier le résultat attendu
        4. Étape de test 4 - tester les cas d'erreur
      </test_steps>
    </feature_1>

    <feature_2>
      <title>Nom de la fonctionnalité 2</title>
      <description>
        Description de la fonctionnalité 2...
      </description>
      <priority>2</priority>
      <category>backend</category>
      <test_steps>
        1. Étape de test 1
        2. Étape de test 2
      </test_steps>
    </feature_2>

    <!-- 
      Continuez à ajouter des features...
      L'agent créera environ 50 issues au total, donc détaillez bien vos fonctionnalités
      en les divisant en sous-fonctionnalités si nécessaire.
    -->
  </core_features>

  <ui_design>
    <!-- 
      Optionnel: Décrivez le design UI si nécessaire
      - Layout général
      - Couleurs et thème
      - Composants réutilisables
      - Responsive design
    -->
  </ui_design>

  <api_endpoints>
    <!-- 
      Optionnel: Liste des endpoints API si nécessaire
      <endpoint>
        <method>POST</method>
        <path>/api/users</path>
        <description>Créer un nouvel utilisateur</description>
        <request_body>JSON avec email, password</request_body>
        <response>JSON avec user_id, email</response>
      </endpoint>
    -->
  </api_endpoints>

  <database_schema>
    <!-- 
      Optionnel: Schéma de base de données si nécessaire
      <table>
        <name>users</name>
        <columns>
          <column>id INTEGER PRIMARY KEY</column>
          <column>email TEXT UNIQUE</column>
          <column>password_hash TEXT</column>
          <column>created_at DATETIME</column>
        </columns>
      </table>
    -->
  </database_schema>

  <deployment>
    <!-- 
      Optionnel: Instructions de déploiement si nécessaire
    -->
  </deployment>
</project_specification>


