Contribuer a Chatbotaurus
Chatbotaurus est un projet open-source sous licence AGPL-3.0. Les contributions sont les bienvenues.
Pre-requis
| Outil | Version |
|---|---|
| Node.js | 20.18.0 (via nvm) |
| pnpm | 9.x |
| Git | 2.x+ |
| Podman Desktop | 5.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
- Issues : Forgejo
- Email : contact@chatbotaurus.com