À propos du projet

AI Code Assistant est une plateforme d'intelligence de code IA destinée aux développeurs, qui fournit une assistance au codage propulsée par l'IA, l'analyse de dépôts, la revue de code et la collaboration d'équipe. Elle est construite de façon incrémentale en huit phases avec Python 3.12, Flask 3, PostgreSQL et un frontend épuré en CSS/JS vanilla avec streaming SSE. Les capacités principales comprennent une interface de chat par utilisateur avec réponses en streaming en direct, une bibliothèque de prompts, des outils de génération et d'analyse de code par IA (expliquer, refactoriser, trouver des bogues, optimiser, ajouter des commentaires, rédiger de la documentation, rédiger des messages de commit) et l'analyse de fichiers téléversés. L'intégration GitHub prend en charge la connexion OAuth, la navigation dans les dépôts, l'historique des commits, les issues et les pull requests avec analyse par IA. Les revues de PR renvoient des constats structurés étiquetés [CONFIRMED] ou [SUGGESTION], avec un contexte délimité pour éviter de téléverser des dépôts entiers. Les jetons d'accès sont chiffrés au repos avec Fernet. Les espaces de travail IA permettent l'import de projets depuis GitHub ou par téléversement d'archive, l'exploration paresseuse des fichiers, la recherche à l'échelle du projet, l'inventaire des dépendances, le chat IA sur le projet et un tableau de bord de santé. Le contenu importé est explicitement présenté comme des données non fiables afin de résister à l'injection de prompts. La collaboration d'équipe (Phase 7) fournit la gestion du cycle de vie des membres, des invitations par e-mail avec jetons hachés, des permissions basées sur les rôles, des notifications, des @mentions, des discussions de projet thématiques et un journal d'audit d'activité en ajout seul. Le système de plugins (Phase 8, en cours) propose la prise en charge de manifestes validés, un registre, un modèle de capacités avec autorisations explicites et un répartiteur d'événements. Les plugins peuvent s'abonner à des événements tels que project.created, review.completed et stellar.analysis.completed. Les hooks de cycle de vie, la configuration par espace de travail, l'application de la compatibilité PEP 440 et les pistes d'audit limitées au propriétaire sont pris en charge. L'outillage pour développeurs Stellar/Soroban comprend des services Horizon et Stellar RPC en lecture seule, l'inspection de contrats et de comptes, le décodage XDR des enveloppes de transaction et des données LedgerKey/SCVal, un réseau simulé hors ligne, la détection heuristique de projets pour les contrats Soroban et une analyse IA adaptée à Stellar. Le mainnet n'est jamais une valeur par défaut implicite et les URL brutes sont rejetées. L'infrastructure utilise un déploiement Docker multi-étapes, une CI GitHub Actions avec linting ruff, formatage black et pytest, ainsi qu'un utilisateur d'exécution non root.