Aller au contenu principal

Contribuer a Chatbotaurus

Chatbotaurus est un projet open-source sous licence AGPL-3.0. Les contributions sont les bienvenues.

Pre-requis

OutilVersion
Node.js20.18.0 (via nvm)
pnpm9.x
Git2.x+
Podman Desktop5.7+

Depot

Le code source est heberge sur Forgejo :

https://git.staging.chatbotaurus.eu/chatbotaurus-admin/chatbotaurus-mcp

Workflow de contribution

1. Cloner et installer

git clone https://git.staging.chatbotaurus.eu/chatbotaurus-admin/chatbotaurus-mcp.git
cd chatbotaurus-mcp
pnpm install

2. Creer une branche

git checkout -b feat/ma-fonctionnalite

3. Developper

cd packages/server
pnpm build
node start-direct.js

4. Tester

pnpm test

5. Verifier les diagnostics

Aucune erreur TypeScript ne doit subsister avant de soumettre.

6. Commit (Conventional Commits)

git commit -m "feat: ajouter connecteur Dolibarr"
git commit -m "fix: corriger timeout XML-RPC Odoo"
git commit -m "docs: mettre a jour guide securite"

Prefixes valides : feat:, fix:, docs:, refactor:, test:, chore:, perf:.

7. Push et Pull Request

git push origin feat/ma-fonctionnalite

Creez une Pull Request sur Forgejo avec une description claire.

Regles de code

  • TypeScript strict, pas de any
  • Tests property-based (fast-check) obligatoires pour les nouveaux services
  • Composer avec les services existants plutot que recreer
  • Pas de code mort ou commente
  • Imports inutilises a supprimer
  • O(1) ou O(n) dans le hot path, jamais O(n^2)

Regles de securite

  • Zero service US (OpenAI, AWS, Google, Azure)
  • Secrets via Vault uniquement, jamais en clair
  • Web Crypto API uniquement
  • Podman uniquement (pas Docker)
  • Transport MCP : Streamable HTTP (SSE est obsolete)

Structure du projet

packages/
server/ # Backend Node.js/Express
new-ui/ # Frontend Next.js 16
shared/ # Types partages, crypto
components/ # Nodes MGaaS

Contact