# Contexte du Projet - {{PROJECT_NAME}}

## Informations Générales

**Nom du projet** : {{PROJECT_NAME}}

**Stack technique** : {{TECH_STACK}}

**Version de Node.js** : {{NODE_VERSION}}

**Gestionnaire de paquets** : {{PACKAGE_MANAGER}}

**Framework React** : {{REACT_FRAMEWORK}}

## Description du Projet

{{PROJECT_DESCRIPTION}}

## Objectifs du Projet

{{PROJECT_GOALS}}

## Architecture Technique

### Frontend
- **Framework** : React {{REACT_VERSION}} avec TypeScript {{TYPESCRIPT_VERSION}}
- **React Compiler** : React Compiler 1.0+ (auto-memoization)
- **Build Tool** : {{BUILD_TOOL}}
- **Routing** : {{ROUTING_LIBRARY}}
- **State Management** : {{STATE_MANAGEMENT}}
- **Styling** : {{STYLING_SOLUTION}}
- **Testing** : {{TESTING_FRAMEWORK}}

### Backend / API
- **API Type** : {{API_TYPE}}
- **Base URL** : {{API_BASE_URL}}
- **Authentication** : {{AUTH_METHOD}}

### Infrastructure
- **Hosting** : {{HOSTING_PLATFORM}}
- **CI/CD** : {{CICD_PLATFORM}}
- **Containerization** : {{CONTAINERIZATION}}

## Structure du Projet

```
{{PROJECT_NAME}}/
├── src/
│   ├── components/           # Composants réutilisables
│   │   ├── atoms/           # Composants atomiques
│   │   ├── molecules/       # Composants moléculaires
│   │   ├── organisms/       # Composants organismes
│   │   └── templates/       # Templates de page
│   ├── features/            # Fonctionnalités métier
│   │   └── [feature-name]/
│   │       ├── components/  # Composants spécifiques
│   │       ├── hooks/       # Hooks custom
│   │       ├── services/    # Services API
│   │       ├── types/       # Types TypeScript
│   │       └── utils/       # Utilitaires
│   ├── hooks/               # Hooks globaux
│   ├── services/            # Services partagés
│   ├── store/               # State management
│   ├── types/               # Types TypeScript globaux
│   ├── utils/               # Utilitaires globaux
│   ├── styles/              # Styles globaux
│   ├── config/              # Configuration
│   └── App.tsx              # Composant racine
├── public/                  # Assets statiques
├── tests/                   # Tests E2E
├── .husky/                  # Git hooks
├── docker/                  # Configuration Docker
└── docs/                    # Documentation
```

## Équipe et Responsabilités

### Développeurs
{{TEAM_MEMBERS}}

### Code Owners
{{CODE_OWNERS}}

## Workflow de Développement

### Branches
- `main` : Production
- `develop` : Développement
- `feature/*` : Nouvelles fonctionnalités
- `fix/*` : Corrections de bugs
- `refactor/*` : Refactoring
- `hotfix/*` : Corrections urgentes

### Process de Review
{{REVIEW_PROCESS}}

## Environnements

### Développement Local
- **URL** : {{DEV_URL}}
- **API** : {{DEV_API_URL}}

### Staging
- **URL** : {{STAGING_URL}}
- **API** : {{STAGING_API_URL}}

### Production
- **URL** : {{PRODUCTION_URL}}
- **API** : {{PRODUCTION_API_URL}}

## Commandes Principales

### Installation
```bash
{{PACKAGE_MANAGER}} install
```

### Développement
```bash
{{PACKAGE_MANAGER}} run dev
```

### Build
```bash
{{PACKAGE_MANAGER}} run build
```

### Tests
```bash
{{PACKAGE_MANAGER}} run test
{{PACKAGE_MANAGER}} run test:e2e
```

### Linting & Formatting
```bash
{{PACKAGE_MANAGER}} run lint
{{PACKAGE_MANAGER}} run format
```

## Variables d'Environnement

```env
# API
VITE_API_BASE_URL={{API_BASE_URL}}
VITE_API_TIMEOUT={{API_TIMEOUT}}

# Authentication
VITE_AUTH_DOMAIN={{AUTH_DOMAIN}}
VITE_AUTH_CLIENT_ID={{AUTH_CLIENT_ID}}

# Features Flags
VITE_FEATURE_{{FEATURE_FLAG}}={{FEATURE_VALUE}}

# Analytics
VITE_ANALYTICS_ID={{ANALYTICS_ID}}
```

## Conventions de Nommage

### Fichiers
- **Composants** : PascalCase (ex: `UserProfile.tsx`)
- **Hooks** : camelCase avec préfixe "use" (ex: `useAuth.ts`)
- **Utils** : camelCase (ex: `formatDate.ts`)
- **Constants** : UPPER_SNAKE_CASE (ex: `API_ENDPOINTS.ts`)
- **Types** : PascalCase (ex: `User.types.ts`)

### Code
- **Components** : PascalCase
- **Functions** : camelCase
- **Constants** : UPPER_SNAKE_CASE
- **Types/Interfaces** : PascalCase avec préfixe "I" pour interfaces (optionnel)
- **Enums** : PascalCase

## Règles Spécifiques au Projet

{{PROJECT_SPECIFIC_RULES}}

## Dépendances Principales

### Production
```json
{
  "react": "{{REACT_VERSION}}",
  "react-dom": "{{REACT_VERSION}}",
  "babel-plugin-react-compiler": "^1.0.0",
  "typescript": "{{TYPESCRIPT_VERSION}}",
  {{DEPENDENCIES}}
}
```

### Développement
```json
{
  "vite": "{{VITE_VERSION}}",
  "vitest": "{{VITEST_VERSION}}",
  "eslint": "{{ESLINT_VERSION}}",
  "prettier": "{{PRETTIER_VERSION}}",
  {{DEV_DEPENDENCIES}}
}
```

## Ressources et Documentation

### Documentation Interne
- **Architecture** : `docs/architecture.md`
- **API Reference** : `docs/api-reference.md`
- **Components** : Storybook disponible à {{STORYBOOK_URL}}

### Documentation Externe
- **React** : https://react.dev
- **TypeScript** : https://www.typescriptlang.org/docs
- {{EXTERNAL_DOCS}}

## Notes Importantes

{{IMPORTANT_NOTES}}

## Historique des Changements Majeurs

{{CHANGELOG_HIGHLIGHTS}}

---

**Dernière mise à jour** : {{LAST_UPDATE_DATE}}
**Mainteneur** : {{MAINTAINER_NAME}}
