Skip to content

NAÏA — Noria AI Assistant

NAÏA (Noria AI Assistant) est le copilote IA intégré au framework Noria. Il s'appuie sur GitHub Copilot ou Claude pour assister le développeur dans toutes les tâches courantes : créer des tâches, analyser un pipeline, déboguer des erreurs, réécrire des traitements ETL.

Ce que NAÏA peut faire

Tâche Prompt Commande
Créer une tâche Noria à partir d'une description 1_create_task.prompt.md → Créer une tâche
Analyser un pipeline et suggérer des améliorations 2_analyse_pipeline.prompt.md → Analyser
Diagnostiquer et corriger une erreur 3_debug_erreur.prompt.md → Déboguer
Réécrire un traitement PowerCenter / Alteryx / SAS 4_migration_etl.prompt.md → Migration ETL

Comment utiliser NAÏA

Avec GitHub Copilot (VS Code)

  1. Ouvre la palette de commandes : Cmd+Shift+P → Chat: Open Chat
  2. Tape @workspace puis la description de ce que tu veux faire
  3. Les instructions .github/copilot-instructions.md sont automatiquement chargées par Copilot

Pour utiliser un prompt spécifique :

@workspace /1_create_task  je veux une tâche qui calcule le CA mensuel par région

Avec Claude (claude.ai ou Claude Code)

Colle le contenu du prompt dans la conversation, puis décris ta demande. Les prompts sont dans .github/prompts/ du projet.

Avec Claude Code (CLI), tu peux aussi pointer directement vers le fichier :

cat .github/prompts/1_create_task.prompt.md
# Copie le contenu et colle-le dans Claude

Exemples de conversations NAÏA

Créer une tâche

Toi : je veux une tâche qui calcule le chiffre d'affaires mensuel par commercial, à partir de la table ventes_brut, en excluant les avoirs, avec un merge sur (commercial_id, mois)

NAÏA : Voici la configuration...

Analyser un pipeline

Toi : voici mon noria.yml [colle le fichier] — qu'est-ce qui pourrait être amélioré ?

NAÏA : J'ai identifié 3 points : (1) la tâche load_raw n'a pas de retry alors qu'elle accède à une API externe, (2) region_stats pourrait bénéficier de output_write: safe_replace pour éviter un écrasement accidentel, (3) final_report n'a pas de description...

Déboguer

Toi : j'ai cette erreur : ExecutionError: safe_replace guard on 'stats': query returned 0 row(s) but safe_replace_min_rows=1

NAÏA : Cette erreur signifie que ta requête SQL dans stats.sql ne retourne aucune ligne. Vérifie d'abord avec noria compile --task stats pour voir le SQL compilé, puis...

Architecture des prompts

.github/
├── copilot-instructions.md          # contexte auto-chargé par Copilot
└── prompts/
    ├── 1_create_task.prompt.md      # créer une tâche
    ├── 2_analyse_pipeline.prompt.md # analyser un pipeline
    ├── 3_debug_erreur.prompt.md     # déboguer une erreur
    └── 4_migration_etl.prompt.md    # migrer depuis PowerCenter/Alteryx/SAS