create-go-plate 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +292 -50
  3. package/package.json +9 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1 — 2026-10-18
4
+
5
+ - README complet : démarrage rapide, fonctionnement, commandes, garde-fous, options, compatibilité, FAQ.
6
+ - Liens vers le dépôt GitHub dans la fiche npm.
7
+ - Tests automatiques du générateur sur Linux, macOS et Windows (Node 20, 22, 24).
8
+
3
9
  ## 0.1.0 — 2026-10-18
4
10
 
5
11
  Première version.
package/README.md CHANGED
@@ -1,104 +1,346 @@
1
1
  # create-go-plate
2
2
 
3
- Démarre n'importe quel projet d'application avec un cadrage prêt pour le développement avec un
4
- agent de code (Claude Code, Codex, Cursor, Copilot, Gemini…).
3
+ **Le point de départ structuré pour développer une application avec un agent de code.**
4
+
5
+ [![npm](https://img.shields.io/npm/v/create-go-plate?color=cb3837&logo=npm)](https://www.npmjs.com/package/create-go-plate)
6
+ [![Tests](https://github.com/Jeanpierregaba/create-go-plate/actions/workflows/test.yml/badge.svg)](https://github.com/Jeanpierregaba/create-go-plate/actions/workflows/test.yml)
7
+ [![Node](https://img.shields.io/node/v/create-go-plate?logo=node.js&logoColor=white)](https://nodejs.org)
8
+ [![Licence MIT](https://img.shields.io/npm/l/create-go-plate)](LICENSE)
5
9
 
6
10
  ```bash
7
11
  npm create go-plate@latest mon-projet
8
12
  ```
9
13
 
10
- Puis :
14
+ Une commande, et ton projet démarre avec tout ce qu'il faut pour que l'agent (Claude Code, Codex,
15
+ Cursor, Copilot, Gemini…) construise **la bonne application, proprement, sans perdre le fil** :
16
+ cadrage produit et technique, spécifications par fonctionnalité, mémoire entre les sessions,
17
+ garde-fous de sécurité et vérifications automatiques.
18
+
19
+ ---
20
+
21
+ ## Sommaire
22
+
23
+ - [Pourquoi go-plate ?](#pourquoi-go-plate-)
24
+ - [Démarrage rapide](#démarrage-rapide)
25
+ - [Comment ça marche](#comment-ça-marche)
26
+ - [Ce qui est généré](#ce-qui-est-généré)
27
+ - [Les commandes de l'agent](#les-commandes-de-lagent)
28
+ - [Les garde-fous automatiques](#les-garde-fous-automatiques)
29
+ - [Options du générateur](#options-du-générateur)
30
+ - [Compatibilité](#compatibilité)
31
+ - [FAQ](#faq)
32
+ - [Contribuer](#contribuer)
33
+
34
+ ---
35
+
36
+ ## Pourquoi go-plate ?
37
+
38
+ Un agent de code écrit vite. Sans cadre, il écrit aussi vite **dans la mauvaise direction** :
39
+
40
+ | Sans cadrage | Avec go-plate |
41
+ |---|---|
42
+ | L'agent devine ce que tu veux construire | Un PRD et une spec par fonctionnalité, validés avant le code |
43
+ | Chaque session repart de zéro | Le contexte (tâches en cours, dernière session) est réinjecté automatiquement |
44
+ | Les choix techniques sont remis en cause en permanence | Chaque décision est tracée dans un ADR |
45
+ | Clés exposées, accès non contrôlés, dépendances inventées | Checklist sécurité, audit dédié, fichiers sensibles bloqués |
46
+ | « Ça marche » sans preuve | Lint, typecheck et tests lancés par l'agent, CI à chaque push |
47
+
48
+ go-plate ne choisit **aucune stack** à ta place : c'est l'agent qui te la propose pendant le
49
+ cadrage, en fonction de ton projet, et qui vérifie les versions à jour.
50
+
51
+ ---
52
+
53
+ ## Démarrage rapide
54
+
55
+ ### Prérequis
56
+
57
+ - [Node.js](https://nodejs.org) 20.16 ou plus récent
58
+ - Un agent de code — de préférence [Claude Code](https://claude.com/claude-code), qui profite de
59
+ toutes les fonctionnalités (voir [Compatibilité](#compatibilité))
60
+ - Git (recommandé)
61
+
62
+ ### 1. Créer le projet
63
+
64
+ ```bash
65
+ npm create go-plate@latest mon-projet
66
+ ```
67
+
68
+ Le générateur pose 4 questions (Claude Code, CI GitHub, fonctionnalités IA, git) puis crée le
69
+ dossier avec un premier commit. Pour accepter les choix par défaut :
70
+
71
+ ```bash
72
+ npm create go-plate@latest mon-projet -- --yes
73
+ ```
74
+
75
+ ### 2. Cadrer le projet
11
76
 
12
77
  ```bash
13
78
  cd mon-projet
14
79
  claude
15
80
  ```
16
81
 
17
- et dans l'agent : `/cadrage`. L'agent te pose les questions et remplit le PRD, l'architecture,
18
- le design, les règles, la stratégie de test, le backlog, l'outillage et le squelette du code,
19
- avant toute ligne de fonctionnalité.
82
+ Dans l'agent :
83
+
84
+ ```
85
+ /cadrage
86
+ ```
87
+
88
+ L'agent mène un entretien (4 questions maximum à la fois, avec des réponses proposées) et remplit
89
+ pour toi, étape par étape :
90
+
91
+ 1. **Produit** — problème, utilisateurs, parcours, MVP, hors scope
92
+ 2. **Architecture** — stack proposée et justifiée, versions vérifiées, ADR
93
+ 3. **Design** — intention, design system, écrans, accessibilité
94
+ 4. **Stress-test** — ce qui va casser, cas limites oubliés, sur-engineering
95
+ 5. **Instructions de l'agent** — `AGENTS.md`
96
+ 6. **Garde-fous** — règles, sécurité, stratégie de test
97
+ 7. **Backlog** — `TASKS.md`
98
+ 8. **Outillage** — CI, formatage automatique, variables d'environnement, serveurs MCP
99
+ 9. **Squelette** — structure du code, qui compile et passe les tests à vide
100
+
101
+ Tu peux t'arrêter à tout moment : `/cadrage` reprend à la première étape non terminée.
102
+
103
+ ### 3. Développer, une fonctionnalité à la fois
104
+
105
+ ```
106
+ /spec inscription par email avec confirmation
107
+ ```
108
+
109
+ L'agent crée `docs/specs/001-inscription/` avec la spec (le quoi), le plan (le comment) et la
110
+ liste des tâches. **Tu valides chaque étape avant qu'il écrive du code.**
111
+
112
+ ---
113
+
114
+ ## Comment ça marche
115
+
116
+ ```
117
+ npm create go-plate une fois
118
+ │
119
+ ▼
120
+ /cadrage ───────────────────────────── une fois : PRD, architecture, règles, backlog, squelette
121
+ │
122
+ ▼
123
+ ┌─► /spec <fonctionnalité> ─────────── spec → plan → tâches, validés par toi
124
+ │ │
125
+ │ ▼
126
+ │ implémentation tâche par tâche ── lint + typecheck + tests après chaque tâche, commit
127
+ │ │
128
+ │ ▼
129
+ │ relecture (sous-agent reviewer)
130
+ │ │
131
+ │ ▼
132
+ └── /fin-de-session ────────────────── TASKS.md + SESSION-LOG.md à jour
133
+ │
134
+ ▼
135
+ session suivante ───────────────────── le hook SessionStart redonne le contexte à l'agent
136
+
137
+ avant la mise en production : /audit-securite
138
+ ```
139
+
140
+ Le principe : **les documents sont la mémoire du projet**, les skills sont les procédures, les
141
+ hooks et permissions sont les règles que l'agent ne peut pas contourner.
142
+
143
+ ---
20
144
 
21
145
  ## Ce qui est généré
22
146
 
23
147
  ```
24
148
  mon-projet/
25
- ├── AGENTS.md instructions de l'agent (source unique, standard multi-outils)
26
- ├── CLAUDE.md importe AGENTS.md (+ spécificités Claude Code)
27
- ├── TASKS.md avancement
149
+ ├── AGENTS.md instructions de l'agent — source unique, lue par tous les outils
150
+ ├── CLAUDE.md importe AGENTS.md + spécificités Claude Code
151
+ ├── TASKS.md avancement : en cours / à faire / terminé
28
152
  ├── README.md
29
153
  ├── .claude/
30
- │ ├── settings.json permissions (secrets, git destructif) + hooks
31
- │ ├── hooks/ reprise de contexte, protection des fichiers, formatage auto
32
- │ ├── skills/ /cadrage, /stress-test, /spec, /fin-de-session, /audit-securite
33
- │ └── agents/ sous-agents reviewer et test-writer
34
- ├── .mcp.json Context7 (doc à jour), Playwright (tests navigateur)
35
- ├── .github/ CI (squelette) + Dependabot
154
+ │ ├── skills/ /cadrage, /spec, /stress-test, /fin-de-session, /audit-securite
155
+ │ ├── agents/ sous-agents reviewer et test-writer
156
+ │ ├── hooks/ reprise de contexte, protection des fichiers, formatage
157
+ │ └── settings.json permissions et branchement des hooks
158
+ ├── .mcp.json Context7 (doc à jour des bibliothèques), Playwright (navigateur)
159
+ ├── .github/
160
+ │ ├── workflows/ci.yml CI à compléter pendant le cadrage
161
+ │ └── dependabot.yml mises à jour de sécurité automatiques
36
162
  ├── docs/
37
- │ ├── PRD.md quoi et pourquoi
38
- │ ├── ARCHITECTURE.md comment
39
- │ ├── DESIGN.md interface et expérience
40
- │ ├── RULES.md interdits stricts
41
- │ ├── SECURITY.md checklist sécurité
42
- │ ├── TESTING.md définition de « fini »
43
- │ ├── SESSION-LOG.md historique des sessions
44
- │ ├── decisions/ ADR (une décision = un fichier)
45
- │ └── specs/ une spec par fonctionnalité (spec → plan → tâches)
163
+ │ ├── PRD.md quoi construire et pourquoi
164
+ │ ├── ARCHITECTURE.md comment c'est construit
165
+ │ ├── DESIGN.md interface et expérience
166
+ │ ├── RULES.md interdits stricts
167
+ │ ├── SECURITY.md checklist sécurité
168
+ │ ├── TESTING.md définition de « fini »
169
+ │ ├── SESSION-LOG.md journal des sessions
170
+ │ ├── decisions/ ADR : une décision technique = un fichier
171
+ │ └── specs/ une spec par fonctionnalité (spec → plan → tâches)
172
+ ├── src/ squelette créé à la fin du cadrage
46
173
  ├── .env.example
47
174
  ├── .editorconfig
48
- ├── .gitignore
49
- └── src/
175
+ └── .gitignore
50
176
  ```
51
177
 
52
- En option : `docs/AI.md` et `evals/` pour les applications qui appellent un LLM.
178
+ En option (`--ai`) : `docs/AI.md` et `evals/` pour les applications qui appellent un LLM
179
+ (prompts versionnés, évaluations, coûts, injection de prompt).
180
+
181
+ Tous les fichiers sont des **modèles commentés** : chaque section explique ce qu'elle doit
182
+ contenir. Rien ne t'oblige à passer par l'agent pour les remplir.
183
+
184
+ ---
185
+
186
+ ## Les commandes de l'agent
53
187
 
54
- ## Options
188
+ | Commande | Quand l'utiliser | Ce qu'elle fait |
189
+ |---|---|---|
190
+ | `/cadrage` | Au début du projet | Entretien guidé et remplissage de tous les documents, jusqu'au squelette du code |
191
+ | `/spec <description>` | Avant chaque fonctionnalité | Crée la spec, le plan et les tâches, à valider avant le code |
192
+ | `/stress-test [fichier]` | Après un document important | Relecture critique : risques, cas limites, sur-engineering, contradictions |
193
+ | `/fin-de-session` | À chaque arrêt | Met à jour l'avancement, le journal et les décisions |
194
+ | `/audit-securite [périmètre]` | Avant une mise en production | Vérifie la checklist sécurité dans le code réel, rapport classé par gravité |
195
+
196
+ Deux **sous-agents** complètent les skills :
197
+
198
+ - **`reviewer`** relit les changements (exactitude, sécurité, règles, tests, simplicité) sans
199
+ modifier le code.
200
+ - **`test-writer`** écrit les tests à partir de la spec, y compris avant l'implémentation pour
201
+ les parties critiques.
202
+
203
+ ---
204
+
205
+ ## Les garde-fous automatiques
206
+
207
+ Avec Claude Code, ces règles sont **appliquées techniquement**, pas seulement demandées :
208
+
209
+ | Protection | Mécanisme |
210
+ |---|---|
211
+ | L'agent ne lit ni ne modifie les fichiers `.env`, clés et certificats (`.env.example` reste accessible) | Hook `PreToolUse` + permissions |
212
+ | Pas de `git push --force` ni de `git reset --hard` | Hook `PreToolUse` + permissions |
213
+ | Pas de modification manuelle des fichiers de lock ni du dossier `.git` | Hook `PreToolUse` |
214
+ | `git push`, `rm -rf`, `git clean`, `npm publish` demandent confirmation | Permissions |
215
+ | Chaque fichier modifié est formaté | Hook `PostToolUse` (formateur choisi pendant le cadrage) |
216
+ | Chaque session démarre avec le statut du cadrage, les tâches en cours et la dernière session | Hook `SessionStart` |
217
+
218
+ Les hooks sont de simples scripts Node, lisibles et modifiables dans `.claude/hooks/`.
219
+
220
+ ---
221
+
222
+ ## Options du générateur
55
223
 
56
224
  ```bash
57
- npm create go-plate@latest mon-projet -- --yes --ai
225
+ npm create go-plate@latest [dossier] -- [options]
58
226
  ```
59
227
 
60
228
  | Option | Effet |
61
229
  |---|---|
62
- | `-y`, `--yes` | Choix par défaut, sans question |
63
- | `--no-claude` | Sans CLAUDE.md, hooks, permissions ni `.mcp.json` |
230
+ | `-y`, `--yes` | Accepte les choix par défaut sans poser de question |
231
+ | `--no-claude` | Sans les fichiers propres à Claude Code (`CLAUDE.md`, hooks, permissions, `.mcp.json`) |
64
232
  | `--no-ci` | Sans GitHub Actions ni Dependabot |
65
233
  | `--ai` | Ajoute le module « fonctionnalités IA » |
66
- | `--no-git` | Sans `git init` |
67
- | `-f`, `--force` | Autorise un dossier non vide |
234
+ | `--no-git` | Sans initialiser de dépôt git |
235
+ | `-f`, `--force` | Autorise un dossier cible non vide (les fichiers de même nom sont écrasés) |
236
+ | `-h`, `--help` | Affiche l'aide |
237
+ | `-v`, `--version` | Affiche la version |
238
+
239
+ Avec `npm create`, les options se placent après `--`. Les commandes suivantes sont équivalentes :
240
+
241
+ ```bash
242
+ npx create-go-plate mon-projet --yes
243
+ ```
244
+
245
+ ```bash
246
+ pnpm create go-plate mon-projet --yes
247
+ ```
248
+
249
+ ```bash
250
+ yarn create go-plate mon-projet --yes
251
+ ```
252
+
253
+ ```bash
254
+ bun create go-plate mon-projet --yes
255
+ ```
68
256
 
69
- Avec `npm create`, les options se placent après `--`. Avec `npx create-go-plate`, ce
70
- n'est pas nécessaire.
257
+ ---
71
258
 
72
- ## Le cycle de travail
259
+ ## Compatibilité
73
260
 
74
- 1. `/cadrage` — une fois, au début.
75
- 2. `/spec <fonctionnalité>` — pour chaque fonctionnalité : spec, plan, tâches, validés avant le code.
76
- 3. `/fin-de-session` — à chaque arrêt. Au démarrage suivant, un hook redonne le contexte à l'agent.
77
- 4. `/audit-securite` — avant chaque mise en production.
261
+ | Agent | Niveau de prise en charge |
262
+ |---|---|
263
+ | **Claude Code** | Complet : `CLAUDE.md`, skills en commandes `/`, sous-agents, hooks, permissions, MCP |
264
+ | **Codex, Cursor, GitHub Copilot, Gemini CLI…** | `AGENTS.md` est lu nativement ; les skills sont des fichiers Markdown que l'agent peut suivre (« suis `.claude/skills/spec/SKILL.md` ») |
265
+
266
+ | Système | Remarque |
267
+ |---|---|
268
+ | macOS, Linux | Aucune configuration particulière |
269
+ | Windows | Installer [Git for Windows](https://git-scm.com/download/win) (les hooks passent par Git Bash). Pour le serveur MCP Playwright, remplacer `"command": "npx"` par `"command": "cmd"` et préfixer les `args` par `"/c", "npx"` dans `.mcp.json` |
78
270
 
79
- ## Prérequis
271
+ ---
80
272
 
81
- - Node.js ≥ 20.16 (pour le générateur et les hooks).
82
- - Windows : les hooks passent par le shell ; installe Git for Windows (Git Bash).
83
- Pour le serveur MCP Playwright, remplace dans `.mcp.json` `"command": "npx"` par
84
- `"command": "cmd"` et préfixe les `args` par `"/c", "npx"`.
273
+ ## FAQ
85
274
 
86
- ## Développer ce générateur
275
+ **Quelle stack technique est utilisée ?**
276
+ Aucune n'est imposée. Pendant `/cadrage`, l'agent propose une stack adaptée à ton projet et à ton
277
+ niveau, avec une alternative et les compromis, puis vérifie les versions actuelles dans la
278
+ documentation officielle.
279
+
280
+ **Je ne suis pas développeur, est-ce pour moi ?**
281
+ Oui : le cadrage est un entretien en langage courant, et l'agent justifie chaque choix technique.
282
+ Le cadre sert justement à éviter les pièges classiques des projets construits avec l'IA.
283
+
284
+ **Puis-je l'ajouter à un projet existant ?**
285
+ Oui, avec `--force` dans le dossier du projet, mais les fichiers de même nom (`README.md`,
286
+ `.gitignore`…) sont **écrasés**. Le plus sûr : générer dans un dossier à part, puis copier ce
287
+ dont tu as besoin.
87
288
 
88
289
  ```bash
89
- npm test
290
+ npm create go-plate@latest go-plate-tmp -- --yes --no-git
90
291
  ```
91
292
 
293
+ **Je n'ai pas besoin de tous les fichiers.**
294
+ Supprime-les : chaque document est indépendant. Pense seulement à retirer sa ligne dans le
295
+ tableau « Où ranger quoi » d'`AGENTS.md`.
296
+
297
+ **Le contenu est-il en anglais ?**
298
+ Non, tous les modèles sont en français. L'agent te répondra dans la langue de tes messages.
299
+
300
+ **Comment mettre à jour un projet déjà généré ?**
301
+ Le générateur ne sait pas mettre à jour un projet existant. Pour profiter d'une nouvelle version, génère
302
+ un projet temporaire et compare les fichiers qui t'intéressent (skills, hooks).
303
+
304
+ ---
305
+
306
+ ## Contribuer
307
+
308
+ Les suggestions et corrections sont les bienvenues via les
309
+ [issues](https://github.com/Jeanpierregaba/create-go-plate/issues) et les pull requests.
310
+
311
+ ```bash
312
+ git clone https://github.com/Jeanpierregaba/create-go-plate.git
313
+ ```
314
+
315
+ ```bash
316
+ cd create-go-plate && npm test
317
+ ```
318
+
319
+ Essayer le générateur en local :
320
+
92
321
  ```bash
93
322
  node bin/create.mjs /tmp/essai --yes
94
323
  ```
95
324
 
325
+ | Dossier | Contenu |
326
+ |---|---|
327
+ | `bin/create.mjs` | Le générateur (aucune dépendance, uniquement Node) |
328
+ | `template/` | Fichiers copiés dans tous les projets |
329
+ | `modules/claude/`, `modules/ci-github/`, `modules/ai/` | Fichiers copiés selon les options |
330
+ | `test/` | Tests (`node --test`) |
331
+
332
+ Le fichier `template/gitignore` est renommé en `.gitignore` à la génération, car npm ne publie
333
+ pas les fichiers `.gitignore`.
334
+
96
335
  ### Publier une version
97
336
 
98
337
  1. Mettre à jour `CHANGELOG.md`.
99
338
  2. `npm version patch` (ou `minor` / `major`).
100
339
  3. `npm publish` — les tests sont relancés automatiquement avant la publication.
340
+ 4. `git push --follow-tags`
341
+
342
+ ---
343
+
344
+ ## Licence
101
345
 
102
- Le contenu généré vit dans `template/` (toujours copié) et `modules/<nom>/` (copiés selon les
103
- choix). Le fichier `template/gitignore` est renommé en `.gitignore` à la génération, car npm
104
- ne publie pas les fichiers `.gitignore`.
346
+ [MIT](LICENSE) © 2026 Jeanpierregaba
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-go-plate",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Cadrage prêt à l'emploi pour développer une application avec un agent de code (Claude Code, Codex, Cursor…) : PRD, architecture, specs, ADR, skills, hooks, CI.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -30,5 +30,13 @@
30
30
  "spec-driven-development"
31
31
  ],
32
32
  "author": "Jeanpierregaba",
33
+ "homepage": "https://github.com/Jeanpierregaba/create-go-plate#readme",
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "git+https://github.com/Jeanpierregaba/create-go-plate.git"
37
+ },
38
+ "bugs": {
39
+ "url": "https://github.com/Jeanpierregaba/create-go-plate/issues"
40
+ },
33
41
  "license": "MIT"
34
42
  }