{"id":50528468,"url":"https://github.com/gabrielmustiere/forge","last_synced_at":"2026-06-03T10:30:43.543Z","repository":{"id":361015421,"uuid":"1252502234","full_name":"gabrielmustiere/forge","owner":"gabrielmustiere","description":"Forge — pipeline de développement Claude Code stack-agnostique (plugin workflow)","archived":false,"fork":false,"pushed_at":"2026-05-28T20:19:54.000Z","size":1183,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-28T22:09:08.814Z","etag":null,"topics":["agentic-ai","ai","ai-tools","automation","claude","claude-code","development","french","skills","workflow"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gabrielmustiere.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-28T15:27:41.000Z","updated_at":"2026-05-28T20:19:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gabrielmustiere/forge","commit_stats":null,"previous_names":["gabrielmustiere/forge"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/gabrielmustiere/forge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielmustiere%2Fforge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielmustiere%2Fforge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielmustiere%2Fforge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielmustiere%2Fforge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabrielmustiere","download_url":"https://codeload.github.com/gabrielmustiere/forge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielmustiere%2Fforge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33860962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-ai","ai","ai-tools","automation","claude","claude-code","development","french","skills","workflow"],"created_at":"2026-06-03T10:30:42.758Z","updated_at":"2026-06-03T10:30:43.535Z","avatar_url":"https://github.com/gabrielmustiere.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"![Forge](documentation/banner.png)\n\n**Forge** est une marketplace de plugins Claude Code. Elle publie un plugin : `workflow`, un pipeline de développement stack-agnostique qui pilote tout le cycle — de la vision projet jusqu'au commit — en étapes courtes, validées une à une.\n\n- **Marketplace** : `forge`\n- **Source** : `gabrielmustiere/forge`\n\n\u003e Les skills Symfony, Sylius et éditoriales vivent dans une marketplace séparée : [`gabrielmustiere/skills`](https://github.com/gabrielmustiere/skills).\n\n## Installation\n\nDans une session Claude Code, sur n'importe quel projet :\n\n```\n/plugin marketplace add gabrielmustiere/forge\n/plugin install workflow@forge\n/reload-plugins\n```\n\nLes skills sont namespacées par le nom du plugin : `/workflow:help`, `/workflow:feature-pitch`, etc.\n\nMettre à jour : `/plugin marketplace update forge` puis `/reload-plugins`.\n\n## Principe\n\nChaque étape produit un artefact markdown (`pitch.md`, `plan.md`, `review.md`, `report.md`) qui alimente la suivante. **On ne passe jamais à l'étape d'après sans validation explicite** (`ok`, `go`, `validé`). Trois tracks symétriques selon la nature du changement, un même pipeline.\n\n```\nPHASE 0 (une fois, documents vivants)\n  vision           → docs/vision.md            (problème, audience, North Star)\n  product-backlog  → docs/product-backlog.md   (domaines, capacités, MVP/V2/V3)\n  stack            → docs/stack.md             (langages, infra, CI — phase 0 technique)\n\nTRACK selon le changement\n  Feature (user-facing)        : feature-pitch → feature-plan → feature\n  Refacto (comportement figé)  : refactor-plan → refactor\n  Tech (perf/sécu/observabilité) : tech-plan → tech\n\nCLÔTURE (commune aux 3 tracks)\n  review → commit → report → sync\n```\n\nTout vit dans `docs/story/NNN-\u003cf|r|t\u003e-\u003cslug\u003e/` — compteur global, donc le tri lexicographique donne la timeline du projet. Exemple : `docs/story/042-f-checkout-express/`.\n\nPerdu en cours de route ? `/workflow:help` est le GPS du pipeline.\n\n## Skills\n\n### Phase 0 — Poser le décor (documents vivants, 4 modes : Création / Enrichir / Éditer / Pivot)\n\n| Skill | Rôle |\n| --- | --- |\n| `/workflow:vision` | Cadre la vision : problème, audience, valeur, North Star, principes, anti-objectifs → `docs/vision.md` |\n| `/workflow:product-backlog` | Traduit la vision en domaines, capacités, parcours et backlog priorisé MVP/V2/V3 → `docs/product-backlog.md` |\n| `/workflow:stack` | Cartographie la stack technique (langages, backend, frontend, données, ops, CI) → `docs/stack.md`. Chaque techno prouvée par un fichier source |\n\n### Track feature — Valeur utilisateur\n\n| Skill | Rôle |\n| --- | --- |\n| `/workflow:feature-pitch` | Cadre l'idée et challenge l'alignement (vision/backlog) → `pitch.md` |\n| `/workflow:feature-plan` | Plan technique : archi, données, contrats, migration, tests → `plan.md` |\n| `/workflow:feature` | Implémentation guidée sous-tâche par sous-tâche, QA continue |\n\n### Track refacto — Comportement figé, code restructuré\n\n| Skill | Rôle |\n| --- | --- |\n| `/workflow:refactor-plan` | Cadrage + tests de caractérisation à poser comme verrou → `plan.md` |\n| `/workflow:refactor` | Exécution verrou-tests-d'abord, étapes incrémentales réversibles |\n\n### Track tech — Perf, résilience, observabilité, sécu (non user-facing)\n\n| Skill | Rôle |\n| --- | --- |\n| `/workflow:tech-plan` | Cadrage avec métrique cible chiffrée + baseline + kill switch → `plan.md` |\n| `/workflow:tech` | Exécution : baseline, kill switch, mesure après chaque étape |\n\n### Clôture — Commune aux trois tracks\n\n| Skill | Rôle |\n| --- | --- |\n| `/workflow:review` | Code review du diff : sécu, qualité, conformité au plan, non-régression → `review.md` |\n| `/workflow:commit` | Message Conventional Commits en français (l'intention), commit + push |\n| `/workflow:report` | Compte rendu honnête : ce qui a été fait vs prévu, écarts, dettes → `report.md` |\n| `/workflow:sync` | Réaligne `pitch.md` / `plan.md` sur le code livré, avec changelog |\n\n### Utilitaires (hors pipeline)\n\n| Skill | Rôle |\n| --- | --- |\n| `/workflow:help` | Sommaire du pipeline, tracks, skills et artifacts |\n| `/workflow:claude-md` | Génère ou met à jour le `CLAUDE.md` à la racine : analyse du codebase (prouvée par fichier) + principes comportementaux Karpathy. Réutilise `docs/stack.md` / `docs/vision.md` |\n| `/workflow:test-scenario` | Joue un scénario utilisateur en live via Playwright MCP |\n| `/workflow:adr` | Rédige un Architecture Decision Record MADR léger → `docs/adr/NNNN-slug.md` |\n| `/workflow:doc-feature` | Cartographie une feature existante (legacy) → `docs/feature-map/NNN-slug/overview.md` |\n| `/workflow:migrate-legacy` | Migre les anciens formats workflow via `git mv` (historique préservé) |\n| `/workflow:import-external` | Importe une doc Spec Kit / BMAD-METHOD / GSD vers le format workflow |\n| `/workflow:release` | Tag SemVer annoté + `CHANGELOG.md` Keep a Changelog + release GitHub |\n\n### Orchestrateurs (en contexte isolé)\n\n| Skill | Rôle |\n| --- | --- |\n| `/workflow:autopilot` | Pilote autonome bout-en-bout d'une story — délègue chaque sous-tâche à un subagent isolé, trace dans `.autopilot.json` (reprise possible), s'arrête aux stop-points stratégiques |\n| `/workflow:report-and-sync` | Enchaîne `report` puis `sync` en une passe, en contexte isolé |\n\n## Track fast — Bugfix express (hors pipeline)\n\nPour les modifs qui cochent **toutes** ces cases : moins de 3 fichiers, pas de migration, pas de nouveau service/entité, pas d'impact transverse. On code, on lance la QA du stack, puis `/workflow:review` (optionnel) et `/workflow:commit`. Pas de pitch ni de plan pour un typo.\n\n## Stack-aware\n\nLe workflow détecte le stack (Symfony, Sylius…) via `composer.json` / `package.json` et charge les bonnes conventions de QA, sécu et perf au bon moment. Les conventions propres au projet (commandes QA exactes, credentials de test, branches…) vivent dans le `CLAUDE.md` à la racine.\n\n## En savoir plus\n\n- Inventaire complet et détaillé : [`documentation/workflow.md`](documentation/workflow.md)\n- Sommaire interactif dans Claude Code : `/workflow:help`\n\n## Licence\n\nDistribué sous licence [Apache 2.0](LICENSE). © 2026 Gabriel Mustiere.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielmustiere%2Fforge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielmustiere%2Fforge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielmustiere%2Fforge/lists"}