592 lines
23 KiB
Markdown
592 lines
23 KiB
Markdown
# CLAUDE.md — Wiki EasyWMS (Cowork)
|
||
|
||
## Mission
|
||
|
||
Tu maintiens un **wiki EasyWMS en Markdown** composé de deux parties indépendantes :
|
||
|
||
- Le **wiki standard EasyWMS** (dossiers `architecture/`, `concepts/`, `modules/`, `operations/`, `glossary.md`) - documentation générique du produit EasyWMS. Également accessible via le MCP server `wms-wiki`.
|
||
- Le **wiki projet Limagrain** (dossier `limagrain/`) - documentation du delta projet : customs, configurations, décisions, flux spécifiques. Chaque page renvoie vers la page standard correspondante quand un concept générique existe.
|
||
|
||
---
|
||
|
||
## Modes de travail
|
||
|
||
Ce dépôt fonctionne selon **deux modes exclusifs**. Le mode détermine le périmètre d'écriture ; l'autre wiki est en lecture seule.
|
||
|
||
### Sélection du mode
|
||
|
||
**Comportement par défaut : toujours demander.** Si Arthur ne précise pas le mode dans son prompt, demande-lui avant de commencer toute modification :
|
||
|
||
> « On travaille sur le wiki standard ou sur le wiki Limagrain ? »
|
||
|
||
Déclencheurs explicites :
|
||
|
||
- `mode: standard` ou mention explicite du wiki standard → mode standard
|
||
- `mode: limagrain` ou mention explicite du wiki Limagrain / projet → mode limagrain
|
||
|
||
### `mode: standard` - Wiki standard EasyWMS
|
||
|
||
| Aspect | Règle |
|
||
|--------|-------|
|
||
| **Écriture** | `architecture/`, `concepts/`, `modules/`, `operations/`, `glossary.md`, `_index.md` |
|
||
| **Lecture seule** | `limagrain/` (ne jamais modifier) |
|
||
| **Template** | Template standard (voir section dédiée) |
|
||
| **Workflow** | Workflow de consommation structuré (sources → intégration → log → archivage) |
|
||
| **Index** | Mettre à jour `_index.md` si des pages sont créées/modifiées |
|
||
| **Glossaire** | Mettre à jour `glossary.md` si de nouveaux termes apparaissent |
|
||
|
||
### `mode: limagrain` - Wiki projet Limagrain
|
||
|
||
| Aspect | Règle |
|
||
|--------|-------|
|
||
| **Écriture** | `limagrain/` uniquement. **Exception** : `_index.md` racine (section `## Limagrain — Projet` seulement) |
|
||
| **Lecture seule** | `architecture/`, `concepts/`, `modules/`, `operations/`, `glossary.md` (ne jamais modifier) |
|
||
| **Template** | Template Limagrain (voir section dédiée) |
|
||
| **Workflow** | Workflow de consommation structuré (sources → intégration → log → archivage) |
|
||
| **Delta uniquement** | Ne jamais dupliquer le standard ; renvoyer vers lui et ne documenter que le delta |
|
||
| **Glossaire** | Mettre à jour `limagrain/glossaire-limagrain.md` si de nouveaux termes apparaissent |
|
||
| **README** | Mettre à jour `limagrain/README.md` si des pages sont créées |
|
||
|
||
### Règle de cloisonnement
|
||
|
||
**Ne jamais modifier un fichier hors du périmètre d'écriture du mode actif.** Cette règle est absolue. Si une modification semble nécessaire dans l'autre périmètre, le signaler à Arthur et lui proposer de changer de mode.
|
||
|
||
---
|
||
|
||
## Arborescence
|
||
|
||
```
|
||
wiki-ameliorator-v2_x-Limagrain/ ← racine du dépôt
|
||
│
|
||
├── CLAUDE.md ← CE FICHIER
|
||
│
|
||
├── ── WIKI STANDARD (écriture en mode standard) ──
|
||
├── architecture/ ← 6 pages standard
|
||
├── concepts/ ← 35 pages standard
|
||
├── modules/ ← 24 pages standard
|
||
├── operations/ ← 19 pages standard
|
||
├── glossary.md ← glossaire standard
|
||
├── _index.md ← index global (standard + Limagrain)
|
||
├── _lint_report.md
|
||
├── _log.md
|
||
│
|
||
├── ── SOURCES (inbox) ──
|
||
├── sources/ ← déposer ici les ressources à intégrer
|
||
│ └── archives/ ← ressources déjà traitées
|
||
│
|
||
├── ── JOURNAL ──
|
||
├── consume.log ← journal de consommation (append-only)
|
||
│
|
||
└── ── WIKI LIMAGRAIN (écriture en mode limagrain) ──
|
||
limagrain/
|
||
├── README.md ← index + table des matières du wiki Limagrain
|
||
├── glossaire-limagrain.md ← termes et acronymes spécifiques projet
|
||
│
|
||
├── 01-inbound/
|
||
│ ├── _index.md
|
||
│ ├── reception-fournisseur.md
|
||
│ ├── reception-retour.md
|
||
│ ├── controle-qualite-reception.md
|
||
│ └── flux-erp-inbound.md
|
||
│
|
||
├── 02-stockage/
|
||
│ ├── _index.md
|
||
│ ├── asrs-miniload.md
|
||
│ ├── galileo-config.md
|
||
│ ├── putaway-strategies.md
|
||
│ ├── zones-stockage.md
|
||
│ └── defragmentation.md
|
||
│
|
||
├── 03-picking/
|
||
│ ├── _index.md
|
||
│ ├── picking-combinatoire.md
|
||
│ ├── stations-picking.md
|
||
│ ├── waves-groupes.md
|
||
│ └── replenishment.md
|
||
│
|
||
├── 04-outbound/
|
||
│ ├── _index.md
|
||
│ ├── flux-expedition.md
|
||
│ ├── shipping-orders.md
|
||
│ ├── consolidation-chargement.md
|
||
│ └── flux-erp-outbound.md
|
||
│
|
||
├── 05-agv/
|
||
│ ├── _index.md
|
||
│ ├── still-igo-integration.md
|
||
│ ├── agv-stations-routes.md
|
||
│ └── agv-troubleshooting.md
|
||
│
|
||
├── 06-erp-interface/
|
||
│ ├── _index.md
|
||
│ ├── messages-reference.md
|
||
│ ├── mapping-erp-wms.md
|
||
│ └── interface-monitoring.md
|
||
│
|
||
├── 07-admin/
|
||
│ ├── _index.md
|
||
│ ├── utilisateurs-groupes.md
|
||
│ ├── parametres-projet.md
|
||
│ └── ad-customs.md
|
||
│
|
||
├── 08-transverse/
|
||
│ ├── _index.md
|
||
│ ├── jira-tickets-cles.md
|
||
│ ├── decisions-architecture.md
|
||
│ ├── questions-ouvertes.md
|
||
│ └── historique-projet.md
|
||
│
|
||
└── assets/
|
||
```
|
||
|
||
L'arborescence `limagrain/` ci-dessus est le **squelette initial**. Tu peux créer de nouvelles pages ou sous-dossiers si le contenu le justifie — respecte les conventions ci-dessous et mets à jour `limagrain/README.md` en conséquence.
|
||
|
||
---
|
||
|
||
## Workflow de consommation
|
||
|
||
Ce workflow s'applique aux **deux modes**. Quand Arthur demande d'intégrer des ressources ou quand des fichiers sont détectés dans `sources/` :
|
||
|
||
### Étape 1 — Inventaire
|
||
|
||
Lis le contenu de `sources/` (ignore `archives/`) et liste les fichiers présents. Pour chaque fichier, identifie :
|
||
|
||
- Le type (Confluence export, note Obsidian, mail, Excel, PDF, Word, capture d'écran)
|
||
- Le domaine fonctionnel probable
|
||
- Les infos clés à extraire
|
||
- **Le mode cible** : standard ou limagrain (si mixte, le signaler)
|
||
|
||
Présente ce résumé à Arthur avant de commencer l'intégration. **Confirme le mode actif** si pas encore établi.
|
||
|
||
### Étape 2 — Rédaction / Mise à jour
|
||
|
||
Pour chaque ressource :
|
||
|
||
1. **Vérifie le contexte existant** : consulte les pages concernées via le wiki local ET/OU appelle `wms-wiki:search_wiki` ou `wms-wiki:get_wiki_page` via MCP
|
||
2. **Identifie la page cible** dans le périmètre d'écriture du mode actif (existante ou à créer)
|
||
3. **Rédige ou mets à jour** la page en respectant le template du mode actif
|
||
4. **Cross-référence** : ajoute des liens vers les autres pages du même wiki si pertinent
|
||
5. **Mets à jour le glossaire** du mode actif si de nouveaux termes apparaissent
|
||
6. **Mets à jour l'index** : `_index.md` (mode standard) ou `limagrain/README.md` (mode limagrain)
|
||
|
||
**Spécifique mode limagrain** : ne documenter que le delta par rapport au standard. Renvoyer vers la page standard pour les concepts génériques.
|
||
|
||
### Étape 3 — Log et archivage
|
||
|
||
Après intégration de chaque fichier :
|
||
|
||
1. **Ajoute une entrée** dans `consume.log` à la racine (format ci-dessous), en précisant le mode
|
||
2. **Déplace le fichier** de `sources/` vers `sources/archives/`
|
||
|
||
### Étape 4 — Compte rendu
|
||
|
||
Après chaque session d'intégration, résume à Arthur :
|
||
|
||
- Mode utilisé
|
||
- Fichiers consommés
|
||
- Pages créées ou modifiées
|
||
- Nouvelles cross-références
|
||
- Questions ouvertes identifiées
|
||
- Termes ajoutés au glossaire
|
||
|
||
---
|
||
|
||
## Format du `consume.log`
|
||
|
||
Fichier append-only à la racine du dépôt. Chaque session est datée avec le mode utilisé, chaque fichier a une entrée.
|
||
|
||
```
|
||
## [2026-05-05] session-001 (mode: limagrain)
|
||
|
||
- **Fichier** : `CR_reunion_picking_2026-04-15.pdf`
|
||
**Type** : CR réunion
|
||
**Action** : Mis à jour `limagrain/03-picking/picking-combinatoire.md` (ajout section CstAtt handshake)
|
||
**Cross-refs** : Lien ajouté depuis `limagrain/04-outbound/flux-expedition.md`
|
||
**Questions** : "Valeur par défaut CstAtt quand lot inconnu ?" → ajouté dans `limagrain/08-transverse/questions-ouvertes.md`
|
||
|
||
## [2026-05-10] session-002 (mode: standard)
|
||
|
||
- **Fichier** : `Notes_reception_multi-reference.md`
|
||
**Type** : Notes techniques
|
||
**Action** : Mis à jour `concepts/reception.md` (ajout section réception multi-référence)
|
||
**Cross-refs** : Lien ajouté depuis `modules/inbound.md`
|
||
**Questions** : aucune
|
||
```
|
||
|
||
---
|
||
|
||
## Templates de page wiki
|
||
|
||
### Template standard (mode: standard)
|
||
|
||
Chaque fichier `.md` dans `architecture/`, `concepts/`, `modules/`, `operations/` suit la structure ci-dessous. Les sections sont **adaptables au sujet** - seuls le front matter, l'Overview et la section Related sont obligatoires. Les autres sections sont des suggestions courantes à utiliser quand elles sont pertinentes.
|
||
|
||
**Langue** : anglais (cohérent avec les pages existantes). Termes techniques WMS en anglais.
|
||
|
||
```markdown
|
||
---
|
||
title: "Page Title"
|
||
type: concept | module | architecture | operation
|
||
sources:
|
||
- areas/path/to/source.md
|
||
- sources/archives/source-file.md
|
||
related:
|
||
- concepts/other-page.md
|
||
- modules/related-module.md
|
||
last_compiled: "2026-05-15"
|
||
---
|
||
|
||
# Page Title
|
||
|
||
## Overview
|
||
|
||
1-2 paragraphes décrivant le concept, module ou opération. Contexte fonctionnel, rôle dans EasyWMS, et relations principales avec les autres composants.
|
||
|
||
## (Sections libres adaptées au sujet)
|
||
|
||
Le corps de la page est structuré librement selon le sujet. Les sections suivantes sont des patterns courants dans le wiki existant - les utiliser quand elles sont pertinentes, les omettre ou les adapter sinon :
|
||
|
||
- **Architecture / Communication protocol** — pour les pages techniques (galileo, AGV, etc.)
|
||
- **Parameters** — tableau des paramètres de configuration liés au sujet :
|
||
|
||
| Parameter | Effect |
|
||
|---|---|
|
||
| `PARAM_NAME` | Description de l'effet |
|
||
|
||
- **ERP Integration** — tableau des messages ERP liés :
|
||
|
||
| Message | Direction | Trigger |
|
||
|---|---|---|
|
||
| `MSG` | ERP → WMS | Description |
|
||
|
||
- **Common Errors** — erreurs fréquentes avec cause et solution
|
||
- **Interface Paths** — chemins UI (PC/SmartUI et RFT) pour accéder aux fonctionnalités :
|
||
|
||
| Path | Equipment | Description |
|
||
|---|---|---|
|
||
| `Menu > Sub-menu` | PC / RFT | Description |
|
||
|
||
## Related
|
||
|
||
- [concepts/other-page.md](../concepts/other-page.md) — brève description du lien
|
||
- [modules/related-module.md](../modules/related-module.md) — brève description du lien
|
||
```
|
||
|
||
**Règles front matter :**
|
||
|
||
- `type` : obligatoire, une des 4 valeurs (concept, module, architecture, operation)
|
||
- `sources` : liste des fichiers sources utilisés pour compiler la page (chemins relatifs)
|
||
- `related` : liste des pages liées (chemins relatifs depuis la racine du dépôt)
|
||
- `last_compiled` : date ISO de dernière mise à jour significative
|
||
|
||
### Template Limagrain (mode: limagrain)
|
||
|
||
Chaque fichier `.md` dans `limagrain/` doit suivre cette structure :
|
||
|
||
```markdown
|
||
---
|
||
title: "Titre de la page"
|
||
tags: [domaine, sous-domaine, concept]
|
||
status: draft | review | validated
|
||
standard_ref: concepts/reception.md
|
||
jira_refs: [LIM-70, LIM-75]
|
||
confluence_refs: []
|
||
sources: []
|
||
last_updated: 2026-05-05
|
||
author: Arthur
|
||
---
|
||
|
||
# Titre de la page
|
||
|
||
> **Résumé** : 1-2 phrases décrivant le sujet et pourquoi c'est spécifique Limagrain.
|
||
|
||
> **Standard EasyWMS** : → voir [Nom page standard](../../concepts/page.md)
|
||
> Ce qui suit documente les **spécificités Limagrain** par rapport au standard.
|
||
|
||
## Contexte projet
|
||
|
||
Pourquoi ce sujet est spécifique chez Limagrain. Quel besoin métier.
|
||
|
||
## Configuration / Implémentation
|
||
|
||
Détails techniques : paramètres, valeurs, éléments AD customs.
|
||
|
||
## Flux fonctionnel
|
||
|
||
Description du flux. Utiliser un diagramme Mermaid si pertinent :
|
||
|
||
```mermaid
|
||
sequenceDiagram
|
||
participant ERP
|
||
participant WMS
|
||
ERP->>WMS: SOR01
|
||
WMS->>WMS: Stock assignment
|
||
WMS-->>ERP: SOF01
|
||
```
|
||
|
||
## Points d'attention
|
||
|
||
⚠️ Particularités, pièges connus, bugs rencontrés, workarounds.
|
||
|
||
## Questions ouvertes
|
||
|
||
- [ ] Question 1 (@Théo)
|
||
- [ ] Question 2 (@Michael)
|
||
|
||
## Historique des modifications
|
||
|
||
| Date | Auteur | Modification |
|
||
|------|--------|-------------|
|
||
| 2026-05-05 | Arthur | Création initiale |
|
||
|
||
## Références
|
||
|
||
| Source | Type | Date |
|
||
|--------|------|------|
|
||
| Jira LIM-70 | Ticket | 2025-xx-xx |
|
||
| "Titre page" Confluence | Page | 2025-xx-xx |
|
||
| CR réunion picking | PDF | 2026-04-15 |
|
||
```
|
||
|
||
---
|
||
|
||
## Template `_index.md` (sommaire de section)
|
||
|
||
```markdown
|
||
---
|
||
title: "Inbound — Vue d'ensemble"
|
||
tags: [inbound, index]
|
||
status: draft
|
||
last_updated: 2026-05-05
|
||
---
|
||
|
||
# Inbound — Vue d'ensemble
|
||
|
||
> **Périmètre** : réception fournisseur, retours, contrôle qualité à réception, messages ERP inbound.
|
||
|
||
> **Standard EasyWMS** : voir [Reception](../../concepts/reception.md), [Order Inbound](../../concepts/order-inbound.md)
|
||
|
||
## Pages de cette section
|
||
|
||
- [Réception fournisseur](reception-fournisseur.md)
|
||
- [Réception retour](reception-retour.md)
|
||
- [Contrôle qualité réception](controle-qualite-reception.md)
|
||
- [Flux ERP inbound](flux-erp-inbound.md)
|
||
|
||
## Vue synthétique du flux inbound Limagrain
|
||
|
||
(Diagramme Mermaid du flux global de la section — à compléter)
|
||
```
|
||
|
||
---
|
||
|
||
## Liens entre wikis
|
||
|
||
### Mode standard - liens entre pages standard
|
||
|
||
Chemins relatifs entre dossiers standard :
|
||
|
||
```markdown
|
||
→ voir [Reception](../concepts/reception.md)
|
||
→ voir [Galileo Integration](../architecture/galileo-integration.md)
|
||
→ voir [Glossaire](../glossary.md)
|
||
```
|
||
|
||
### Mode limagrain - depuis une page Limagrain → page standard
|
||
|
||
Chemins relatifs remontant au-dessus de `limagrain/` :
|
||
|
||
```markdown
|
||
→ voir [Reception standard](../../concepts/reception.md)
|
||
→ voir [Picking standard](../../concepts/picking.md)
|
||
→ voir [Galileo Integration](../../architecture/galileo-integration.md)
|
||
```
|
||
|
||
### Mode limagrain - entre pages Limagrain
|
||
|
||
Chemins relatifs au sein de `limagrain/` :
|
||
|
||
```markdown
|
||
Voir aussi [Flux expédition](../04-outbound/flux-expedition.md)
|
||
Voir aussi [Glossaire Limagrain](../glossaire-limagrain.md)
|
||
```
|
||
|
||
### Vers Jira
|
||
|
||
```markdown
|
||
[LIM-70](https://easywmsfrance.atlassian.net/browse/LIM-70)
|
||
```
|
||
|
||
---
|
||
|
||
## Conventions strictes
|
||
|
||
### Nommage
|
||
|
||
- Fichiers : **kebab-case**, pas d'accents, `.md` → `picking-combinatoire.md`
|
||
- Dossiers dans `limagrain/` : numérotés `01-` à `08-` + kebab-case
|
||
- Assets : `{section}-{description}.{ext}` → `03-picking-schema-stations.png`
|
||
|
||
### Markdown lint
|
||
|
||
Règles à respecter (compatible markdownlint) :
|
||
|
||
- Headings ATX (`#`) uniquement, pas de saut de niveau (h1 → h3 interdit)
|
||
- Pas de trailing spaces
|
||
- Pas de lignes vides multiples (max 1)
|
||
- Line length ≤ 120 caractères (souple pour tableaux et liens)
|
||
- Listes entourées de lignes vides
|
||
- Premier élément du fichier = front matter `---` puis heading H1
|
||
- Pas de headings dupliqués dans un même fichier
|
||
- Liens relatifs entre pages (pas de chemins absolus)
|
||
|
||
### Langue
|
||
|
||
- **Français** pour la rédaction
|
||
- Termes techniques WMS en anglais acceptés (putaway, picking, stock assignment, etc.)
|
||
- Noms de messages ERP en majuscules : SOR, SOF, ASN, RUT, LOF
|
||
- Noms d'entités AD en anglais PascalCase : OutboundOrder, ContainerStock, etc.
|
||
|
||
### Intégrité des fichiers après écriture
|
||
|
||
Les outils Write et Edit peuvent tronquer silencieusement le contenu
|
||
d'un fichier long sans signaler d'erreur. Pour éviter toute perte :
|
||
|
||
1. **Vérifier après écriture** : après tout Write ou Edit touchant plus
|
||
de ~50 lignes, exécuter en bash `wc -l` + `tail -3` sur le fichier
|
||
pour confirmer que le nombre de lignes est cohérent et que le fichier
|
||
se termine correctement (dernière section attendue, pas de coupure
|
||
en milieu de phrase)
|
||
2. **Écriture incrémentale** : pour les fichiers longs (> 150 lignes),
|
||
ne jamais réécrire tout le contenu d'un coup via Write. Préférer des
|
||
Edit ciblés section par section. Si un Write complet est inévitable,
|
||
découper en deux passes (première moitié via Write, seconde moitié
|
||
via Edit append)
|
||
3. **Si troncature détectée** : ne pas continuer la session sans
|
||
restaurer le contenu manquant. Signaler le problème à Arthur.
|
||
|
||
---
|
||
|
||
## Contexte projet Limagrain
|
||
|
||
### Équipe
|
||
|
||
| Personne | Rôle |
|
||
|----------|------|
|
||
| Arthur | Chef de projet technique - Intégrateur WMS / liaison client-dev, auteur du wiki |
|
||
| Nicolas Chabanis | Responsable développement |
|
||
| Théo | Chef de projet général - pilote tout le projet |
|
||
| Michael | Directeur des opérations - Pilote Arthur |
|
||
| Fabien Mogade | Développeur |
|
||
| Fares Zaroui | Développeur |
|
||
| Justine Beutin | Chef de projet fonctionnelle - Pilote le planning et principale interlocutrice avec Limagrain |
|
||
|
||
### Périmètre fonctionnel (par priorité)
|
||
|
||
1. **Réception / Inbound** — modes de réception, ASN, SSCC/LPN, mono-référence
|
||
2. **Stockage / ASRS / Galileo** — miniload, transstockeurs, stations, routes
|
||
3. **Picking / Préparation** — picking combinatoire (CR V3.0, 4-job, CstAtt), stations
|
||
4. **Expédition / Outbound** — flux SOR → RUT → SOF → LOF, chargement
|
||
5. **Intégration AGV / Still** — iGo API, DB protocol, transport lifecycle
|
||
6. **Intégration ERP** — catalogue messages, mapping champs
|
||
7. **Administration** — RBAC, groupes, paramètres, éléments AD customs
|
||
|
||
### Glossaire initial (termes spécifiques Limagrain)
|
||
|
||
| Terme | Signification |
|
||
|-------|--------------|
|
||
| CstAtt | Custom Attribute — handshake dans le picking combinatoire |
|
||
| CR V3.0 | Change Request version 3.0 — architecture 4 jobs picking combinatoire |
|
||
| SOR | Shipping Order Request — message ERP entrant, crée un ordre d'expédition |
|
||
| RUT | Route — message ERP entrant, définit une tournée transporteur |
|
||
| SOF | Shipping Order Fulfilled — message ERP sortant, ordre expédié |
|
||
| LOF | Load Order Fulfilled — message ERP sortant, chargement camion terminé |
|
||
| ASN | Advanced Shipping Notice — pré-avis de réception avec contenu connu |
|
||
| PIE | Station de pesée automatique |
|
||
| PDL | Picking Dedicated Location — emplacement dédié picking |
|
||
| ASRS | Automatic Storage and Retrieval System — stockage automatique |
|
||
| TK | Transstockeur (miniload) |
|
||
| TMS | Transport Management System (Galileo chez Mecalux) |
|
||
| AD | Application Dictionary — framework métadonnées EasyWMS |
|
||
|
||
### Jira
|
||
|
||
- **Projet** : Limagrain (préfixe `LIM-`)
|
||
- **Cloud ID** : `d79e5957-a82c-4b8f-bd19-d553ef331c42`
|
||
- **URL base** : `https://easywmsfrance.atlassian.net`
|
||
|
||
### MCP tools disponibles
|
||
|
||
| Serveur | Usage |
|
||
|---------|-------|
|
||
| `wms-wiki:*` | Wiki standard EasyWMS — search, get_page, get_glossary_term, list_sections, get_related_pages |
|
||
| `wms:*` | Données WMS live — queries LINQ, entities, workflows, AD, metadata |
|
||
| `Atlassian:*` | Jira + Confluence — recherche JQL/CQL, lecture tickets/pages |
|
||
|
||
**Utilise `wms-wiki` systématiquement** pour vérifier les concepts standard avant de rédiger.
|
||
**Utilise `Atlassian` avec le cloudId ci-dessus** pour rechercher tickets ou pages Confluence référencés.
|
||
**Consulte aussi les pages standard locales** (`concepts/`, `modules/`, etc.) quand elles sont plus complètes que le MCP.
|
||
|
||
---
|
||
|
||
## Règles impératives
|
||
|
||
### Règles communes (les deux modes)
|
||
|
||
1. **Cloisonnement strict** — ne jamais modifier un fichier hors du périmètre d'écriture du mode actif (voir section Modes de travail)
|
||
2. **Toujours sourcer** — chaque information vient d'une source identifiable. Cite-la dans le front matter `sources` et le tableau Références
|
||
3. **Marquer les incertitudes** — `> ⚠️ À confirmer` ou `- [ ] Question (@personne)`
|
||
4. **Log obligatoire** — chaque fichier consommé → entrée dans `consume.log` AVANT archivage, avec le mode indiqué
|
||
5. **Archivage obligatoire** — après intégration, déplacer le fichier de `sources/` vers `sources/archives/`
|
||
6. **Cross-référencer** — quand une page mentionne un concept couvert ailleurs dans le même wiki, ajouter un lien
|
||
7. **Granularité** — un fichier = un sujet. Découper si > 300 lignes
|
||
8. **`_index.md` racine à jour** — le fichier `_index.md` à la racine est le registre utilisé par le MCP server `wms-wiki` pour découvrir les pages. Il doit refléter toute création/suppression de page, quel que soit le mode
|
||
|
||
### Règles spécifiques mode standard
|
||
|
||
9. **Pas de contenu projet** — les pages standard ne doivent pas contenir d'information spécifique à un projet client. Les exemples génériques sont acceptés
|
||
10. **Cohérence inter-pages** — vérifier que les liens entre pages standard restent valides après modification
|
||
11. **Glossaire standard** — mettre à jour `glossary.md` si de nouveaux termes génériques apparaissent
|
||
12. **Sections `_index.md`** — en mode standard, modifier les sections existantes (Concepts, Modules, Architecture, Operations) de `_index.md`. Ne pas toucher la section `## Limagrain — Projet`
|
||
|
||
### Règles spécifiques mode limagrain
|
||
|
||
13. **Delta uniquement** — si le standard couvre un concept, renvoyer vers lui et ne documenter que le delta Limagrain
|
||
14. **Marquer les questions** — reporter les incertitudes dans `limagrain/08-transverse/questions-ouvertes.md`
|
||
15. **README.md à jour** — toute création/suppression de page dans `limagrain/` doit y être reflétée
|
||
16. **Section `_index.md` Limagrain** — quand une page est créée ou supprimée dans `limagrain/`, ajouter/retirer son entrée dans `_index.md` sous la section dédiée `## Limagrain — Projet`. Le format doit suivre exactement le même pattern que les sections existantes :
|
||
|
||
```markdown
|
||
## Limagrain — Projet (XX pages)
|
||
|
||
### Réception fournisseur
|
||
- **Path:** limagrain/01-inbound/reception-fournisseur.md
|
||
- **Type:** limagrain
|
||
- Résumé court de la page (1-2 lignes tirées du front matter ou du bloc Résumé).
|
||
|
||
### Picking combinatoire
|
||
- **Path:** limagrain/03-picking/picking-combinatoire.md
|
||
- **Type:** limagrain
|
||
- Architecture 4 jobs, CstAtt handshake, CR V3.0.
|
||
```
|
||
|
||
Ne pas toucher les sections standard (Concepts, Modules, Architecture, Operations) de `_index.md` en mode limagrain.
|
||
|
||
---
|
||
|
||
## Démarrage
|
||
|
||
### Mode limagrain - première initialisation
|
||
|
||
Si le dossier `limagrain/` n'existe pas encore :
|
||
|
||
1. Crée `limagrain/` et toutes ses sous-sections (`01-inbound/` à `08-transverse/`, `assets/`)
|
||
2. Crée `consume.log` à la racine (vide, avec juste un header `# Journal de consommation`)
|
||
3. Crée les `_index.md` pour chaque section (contenu minimal, statut `draft`)
|
||
4. Crée `limagrain/README.md` avec la table des matières
|
||
5. Crée `limagrain/glossaire-limagrain.md` avec le tableau du glossaire initial ci-dessus
|
||
6. Attends qu'Arthur dépose des ressources dans `sources/` ou donne des instructions
|
||
|
||
### Mode standard - première utilisation
|
||
|
||
Le wiki standard existe déjà. Pas d'initialisation nécessaire. Vérifie simplement que `consume.log` existe à la racine (le créer si absent). Puis attends les instructions d'Arthur ou les fichiers dans `sources/`. |