Codage collaboratif avec Cursor : Programmation en binôme IA et workflow d'équipe

Cursor apporte l'assistance IA à la collaboration en équipe, permettant des standards de codage partagés, un comportement IA cohérent et des révisions de code simplifiées. Ce guide couvre la configuration d'équipe, la configuration partagée et le codage collaboratif dans Cursor.
Prérequis
Avant de commencer :
- Cursor installé (licence d'équipe recommandée)
- Un dépôt de code partagé utilisé par l'équipe
- Familiarité avec les workflows Git
Configuration IA à l'échelle de l'équipe
Création de .cursorrules
Le fichier .cursorrules définit le comportement de l'IA pour votre équipe :
# Projet : Application de tableau de bord SaaS
# Stack technique : React, TypeScript, Tailwind, Node.js
## Standards de codage
- Utiliser TypeScript pour tous les composants
- Utiliser Tailwind CSS pour tous les éléments UI
- Suivre les conventions de nommage existantes dans le projet
- Écrire des tests pour toutes les nouvelles fonctionnalités
## Décisions d'architecture
- Utiliser React Query pour la gestion d'état serveur
- Utiliser Zustand pour la gestion d'état client
- Privilégier les composants serveur (Server Components)
- Les routes API suivent les conventions RESTful
## Comportement de l'IA
- Toujours inclure des commentaires JSDoc lors de la génération de code
- Suggérer des optimisations de performance
- Signaler les problèmes de sécurité potentiels
- Utiliser les fonctions utilitaires existantes dans le projet
Configuration Cursor partagée
// .cursor/settings.json
{
"cursor.aiRules": "./.cursorrules",
"cursor.defaultModel": "claude-sonnet-4",
"cursor.formatOnSave": true,
"cursor.tabSize": 2,
"cursor.preferredImportStyle": "absolute",
"cursor.testingFramework": "vitest"
}
Programmation en binôme avec l'IA
Contexte IA partagé
@workspace Explique comment notre flux d'authentification fonctionne
L'IA analyse :
- La base de code du projet actuel
- La configuration
.cursorrules - Les fichiers récemment modifiés
- Les onglets ouverts
Workflow de révision de code
- Révision avant commit :
Révise cette fonction pour les problèmes potentiels :
- Cas limites
- Problèmes de performance
- Vulnérabilités de sécurité
- Sécurité des types
- Description de PR assistée par l'IA :
Génère une description de PR basée sur ces changements :
- Lister les fichiers modifiés
- Expliquer les changements clés
- Signaler les changements cassants
Patterns de codage d'équipe
Structure de fichiers cohérente
src/
components/
ui/ # Composants UI réutilisables
features/ # Composants spécifiques aux fonctionnalités
hooks/
api/ # Hooks de récupération de données
ui/ # Hooks d'interaction UI
utils/
api.ts # Utilitaires API
formatting.ts # Utilitaires de formatage
validation.ts # Utilitaires de validation
Pattern de composants partagés
// components/ui/Button.tsx
interface ButtonProps {
variant?: 'primary' | 'secondary' | 'danger';
size?: 'sm' | 'md' | 'lg';
isLoading?: boolean;
children: React.ReactNode;
}
export function Button({
variant = 'primary',
size = 'md',
isLoading = false,
children,
...props
}: ButtonProps) {
const baseStyles = 'rounded font-medium transition-colors';
const variantStyles = {
primary: 'bg-blue-600 text-white hover:bg-blue-700',
secondary: 'bg-gray-200 text-gray-800 hover:bg-gray-300',
danger: 'bg-red-600 text-white hover:bg-red-700',
};
const sizeStyles = {
sm: 'px-3 py-1.5 text-sm',
md: 'px-4 py-2 text-base',
lg: 'px-6 py-3 text-lg',
};
return (
<button
className={`${baseStyles} ${variantStyles[variant]} ${sizeStyles[size]}`}
disabled={isLoading}
{...props}
>
{isLoading ? <Spinner /> : children}
</button>
);
}
Collaboration en temps réel
Utilisation de Live Share (via extension VS Code)
- Installez l'extension VS Code Live Share
- Démarrez une session de collaboration
- Partagez le lien avec les membres de l'équipe
- Éditez ensemble en temps réel
Partage spécifique à Cursor
# Partager le contexte IA
@workspace Partage cette analyse avec @teammate
# Partager un fichier spécifique
@file src/auth/login.ts Expliquer le flux de connexion
Bonnes pratiques de révision de code
Liste de contrôle de révision assistée par l'IA
Révise les changements de cette PR :
1. Vérifier la conformité avec nos .cursorrules
2. Identifier les régressions potentielles
3. Vérifier la sécurité des types
4. Vérifier la couverture de tests suffisante
5. Signaler tout problème de sécurité
Conventions d'équipe
| Convention | Exemple |
|---|---|
| Nommage des branches | feature/user-auth, bugfix/login-error |
| Messages de commit | feat: add user authentication |
| Template de PR | Inclure description, captures d'écran, checklist de tests |
| Code owners | @team-lead pour les fichiers critiques |
Snippets de code partagés
Bibliothèque de snippets d'équipe
// .cursor/snippets.json
{
"React Component": {
"prefix": "rfc",
"body": [
"interface ${1:Component}Props {",
" ${2:prop}: ${3:type};",
"}",
"",
"export function ${1:Component}({ ${2:prop} }: ${1:Component}Props) {",
" return (",
" <div>",
" $0",
" </div>",
" );",
"}"
]
},
"API Hook": {
"prefix": "apihook",
"body": [
"export function use${1:Resource}() {",
" return useQuery({",
" queryKey: ['${2:resource}'],",
" queryFn: fetch${1:Resource},",
" });",
"}"
]
}
}
Dépannage
Problèmes courants
Problème : Les suggestions IA ne sont pas conformes à nos standards
Solution : Mettez à jour .cursorrules et fournissez plus de contexte
Problème : Les membres de l'équipe obtiennent des réponses IA différentes
Solution : Standardisez .cursorrules et la sélection de modèle
Problème : Perte de contexte dans les grandes bases de code
Solution : Utilisez @file pour référencer des fichiers spécifiques
Ressources connexes
Dernière mise à jour : Juillet 2025