Skip to content

Contribuer au projet

Ce guide explique comment contribuer au framework : ajouter des skills, personas, agents, profiles, et les partager avec l'équipe.

Structure du projet

framework/
├── personas/          ← Rôles IA
├── skills/            ← Commandes /slash
├── agents/            ← Workers autonomes
├── profiles/          ← Contexte technologique
├── workflows/         ← Pipelines visuels
├── templates/         ← Documents standardisés
└── scripts/           ← Hooks d'automatisation

Processus de contribution

1. Identifier le besoin

Ce que vous voulezCréez
Un nouveau workflow réutilisableUn skill
Un rôle IA spécialiséUn persona
Une tâche autonome déléguableUn agent
Des conventions pour une stackUn profile
Un diagramme de pipelineUn workflow

2. Créer le composant

Suivez le tutoriel correspondant :

3. Tester localement

Avant de partager :

  • [ ] Invoquer le skill/agent au moins 3 fois sur des cas différents
  • [ ] Vérifier que les gates fonctionnent
  • [ ] Vérifier que les outputs sont cohérents
  • [ ] Demander à un collègue de tester sans explication (si c'est intuitif, c'est bon)

4. Documenter

Chaque contribution doit inclure :

ComposantDocumentation requise
SkillSKILL.md avec usage, flags, pipeline
PersonaFichier .md avec identité, menu, contraintes
AgentFichier .md avec mission, format de sortie
ProfileFichier .md avec conventions, patterns, anti-patterns

5. Soumettre

bash
# Créer une branche
git checkout -b feat/add-dba-persona

# Commiter
/commit

# Pousser + MR
git push -u origin feat/add-dba-persona

Conventions de contribution

Nommage

ComposantConventionExemple
Skillkebab-caseapi-endpoint, db-migrate
Personalowercasedba, devops, ux-designer
Agentkebab-casemigration-checker, api-tester
Profilekebab-casepython-fastapi, java-spring

Langue

  • Fichiers et code : noms en anglais
  • Documentation interne (descriptions, instructions) : français
  • Commit messages : français

Structure d'un skill

skills/{name}/
├── SKILL.md           ← Obligatoire, < 5000 tokens
├── REFERENCE.md       ← Optionnel, détails et templates
└── steps/             ← Optionnel, si > 5 steps
    ├── step-01-*.md
    └── step-02-*.md

Frontmatter obligatoire

Tout composant doit avoir un frontmatter YAML avec au minimum :

yaml
---
name: nom-unique
description: |
  Description claire de quand et pourquoi utiliser ce composant.
---

Que contribuer ?

Idées de skills

SkillDescription
/deployPipeline de déploiement (build → test → deploy → healthcheck)
/db-migrateCréation + validation de migrations DB
/api-docGénérer la documentation OpenAPI
/perf-auditAudit de performance (lighthouse, k6, profiling)
/security-scanScan de sécurité (dépendances, secrets, OWASP)

Idées de personas

PersonaRôle
dbaExpert base de données
devopsExpert CI/CD et infrastructure
ux-designerExpert UX/UI
tech-writerRédacteur technique
qa-engineerExpert qualité et tests

Idées de profiles

ProfileStack
python-djangoDjango + DRF
python-fastapiFastAPI + SQLAlchemy
java-springSpring Boot + JPA
typescript-nestjsNestJS + TypeORM
go-ginGin + GORM
react-typescriptReact + TypeScript + Zustand
svelte-kitSvelteKit + TypeScript

Idées d'agents

AgentMission
dependency-auditorVérifier les dépendances obsolètes/vulnérables
api-testerTester les endpoints automatiquement
doc-linterVérifier la qualité de la documentation
config-validatorValider les fichiers de configuration

Questions fréquentes

Mon skill est trop long, que faire ?

Découpez-le en step files séparés dans skills/{name}/steps/. Le SKILL.md ne doit contenir que le frontmatter, l'usage, les flags et la vue d'ensemble du pipeline.

Dois-je créer un persona ou un agent ?

  • Persona : si le rôle dialogue avec l'utilisateur et opère dans le pipeline principal
  • Agent : si la tâche est autonome, ciblée, et retourne un rapport

Comment savoir si mon profil est bien fait ?

Lancez /apex avec votre profil actif et vérifiez que :

  • L'Architect propose des patterns spécifiques à votre stack
  • Le Developer utilise les bonnes conventions
  • Le Reviewer détecte les anti-patterns listés dans le profil

Puis-je modifier les personas de base ?

Oui, mais préférez les profiles pour ajouter du contexte technologique. Modifiez un persona de base uniquement si vous voulez changer son comportement fondamental (responsabilités, contraintes, menu).

Shingan (心眼) — Linagora