# ncleton/agentvegan-plugin architecture

> Architecture diagram of the GitHub repository ncleton/agentvegan-plugin, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ncleton/agentvegan-plugin
- Repository: https://github.com/ncleton/agentvegan-plugin

## Overview

AgentVegan est un plugin pour ChatGPT Desktop qui expose des parcours véganes via un service MCP hébergé, sans serveur local. Le flux principal va du choix d’un parcours dans ChatGPT à son exécution par le service : recherche ou transformation de recettes, planification, courses, et recherche de lieux. Le dépôt contient aussi un solveur local portable pour les menus. Les liens détaillés entre parcours et outils hébergés ne sont pas visibles dans les extraits ; les fonctions hébergées sont donc représentées comme un service unique.

Main entry points: [`plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md`](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md) (Recettes véganes), [`plugins/agentvegan/skills/veganiser-avec-agentvegan/SKILL.md`](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/veganiser-avec-agentvegan/SKILL.md) (Véganiser recette), [`plugins/agentvegan/skills/substituer-avec-agentvegan/SKILL.md`](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/substituer-avec-agentvegan/SKILL.md) (Remplacer ingrédient), [`plugins/agentvegan/skills/planifier-agentvegan/SKILL.md`](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/planifier-agentvegan/SKILL.md) (Planifier semaine)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_plugin["Plugin et accès"]
  node_manifest["Configuration plugin<br/>[plugin.json]"]
  node_mcpconfig["Connexion MCP<br/>[.mcp.json]"]
end

subgraph group_food["Recettes et menus"]
  node_recipes["Recettes véganes<br/>[SKILL.md]"]
  node_catalog[("Catalogue public")]
  node_details[("Fiches recettes")]
  node_veganize["Véganiser recette<br/>[SKILL.md]"]
  node_substitute["Remplacer ingrédient<br/>[SKILL.md]"]
  node_planner["Planifier semaine<br/>[SKILL.md]"]
end

subgraph group_personal["Fonctions personnelles"]
  node_personal["Parcours personnels<br/>[SKILL.md]"]
  node_shopping["Courses et panier<br/>[SKILL.md]"]
  node_restaurants["Restaurants véganes<br/>[SKILL.md]"]
  node_caterers["Traiteurs véganes<br/>[SKILL.md]"]
end

subgraph group_solver["Planification locale"]
  node_solver["Solveur hebdomadaire"]
  node_solvercli["Entrée solveur CLI<br/>[solve-week.mjs]"]
end

node_user(("Utilisateur"))
node_chatgpt["ChatGPT Desktop"]
node_hosted["Service AgentVegan"]
node_picnic["Picnic"]

node_user -->|"choisit un parcours"| node_chatgpt
node_chatgpt -->|"charge le plugin"| node_manifest
node_chatgpt -->|"déclenche"| node_recipes
node_chatgpt -->|"déclenche"| node_veganize
node_chatgpt -->|"déclenche"| node_substitute
node_chatgpt -->|"déclenche"| node_planner
node_chatgpt -->|"déclenche"| node_personal
node_chatgpt -->|"déclenche"| node_shopping
node_chatgpt -->|"déclenche"| node_restaurants
node_chatgpt -->|"déclenche"| node_caterers
node_mcpconfig -->|"se connecte"| node_hosted
node_recipes -->|"interroge"| node_hosted
node_veganize -->|"interroge"| node_hosted
node_substitute -->|"interroge"| node_hosted
node_planner -->|"demande un plan"| node_hosted
node_personal -->|"configure le compte"| node_hosted
node_shopping -->|"gère le panier"| node_hosted
node_restaurants -->|"recherche"| node_hosted
node_caterers -->|"recherche"| node_hosted
node_recipes -.->|"consulte"| node_catalog
node_recipes -.->|"consulte"| node_details
node_solvercli -->|"exécute"| node_solver
node_shopping -.->|"prévisualise puis confirme"| node_picnic
node_hosted -.->|"intègre facultativement"| node_picnic

click node_manifest "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/.codex-plugin/plugin.json"
click node_mcpconfig "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/.mcp.json"
click node_recipes "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md"
click node_catalog "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/assets/public-recipe-catalog.json"
click node_details "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/assets/public-recipe-details.json"
click node_veganize "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/veganiser-avec-agentvegan/SKILL.md"
click node_substitute "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/substituer-avec-agentvegan/SKILL.md"
click node_planner "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/planifier-agentvegan/SKILL.md"
click node_solver "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/planifier-agentvegan/scripts/portable-solver.mjs"
click node_solvercli "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/planifier-agentvegan/scripts/solve-week.mjs"
click node_personal "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md"
click node_shopping "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md"
click node_restaurants "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md"
click node_caterers "https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_manifest,node_mcpconfig toneBlue
class node_recipes,node_catalog,node_details,node_veganize,node_substitute,node_planner toneAmber
class node_personal,node_shopping,node_restaurants,node_caterers toneMint
class node_solver,node_solvercli toneRose
class node_user,node_chatgpt,node_hosted,node_picnic toneIndigo
```

## Components

### Plugin et accès

- [Configuration plugin](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/.codex-plugin/plugin.json): `plugins/agentvegan/.codex-plugin/plugin.json`
- [Connexion MCP](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/.mcp.json): `plugins/agentvegan/.mcp.json`

### Recettes et menus

- [Recettes véganes](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md): `plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md`
- [Catalogue public](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/assets/public-recipe-catalog.json): `plugins/agentvegan/assets/public-recipe-catalog.json`
- [Fiches recettes](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/assets/public-recipe-details.json): `plugins/agentvegan/assets/public-recipe-details.json`
- [Véganiser recette](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/veganiser-avec-agentvegan/SKILL.md): `plugins/agentvegan/skills/veganiser-avec-agentvegan/SKILL.md`
- [Remplacer ingrédient](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/substituer-avec-agentvegan/SKILL.md): `plugins/agentvegan/skills/substituer-avec-agentvegan/SKILL.md`
- [Planifier semaine](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/planifier-agentvegan/SKILL.md): `plugins/agentvegan/skills/planifier-agentvegan/SKILL.md`

### Fonctions personnelles

- [Parcours personnels](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md): `plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md`
- [Courses et panier](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md): `plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md`
- [Restaurants véganes](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md): `plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md`
- [Traiteurs véganes](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md): `plugins/agentvegan/skills/utiliser-agentvegan/SKILL.md`

### Planification locale

- [Solveur hebdomadaire](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/planifier-agentvegan/scripts/portable-solver.mjs): `plugins/agentvegan/skills/planifier-agentvegan/scripts/portable-solver.mjs`
- [Entrée solveur CLI](https://github.com/ncleton/agentvegan-plugin/blob/main/plugins/agentvegan/skills/planifier-agentvegan/scripts/solve-week.mjs): `plugins/agentvegan/skills/planifier-agentvegan/scripts/solve-week.mjs`

### Other components

- **Utilisateur**
- **ChatGPT Desktop**
- **Service AgentVegan**
- **Picnic**

## Connections

- Utilisateur → ChatGPT Desktop: choisit un parcours
- ChatGPT Desktop → Configuration plugin: charge le plugin
- ChatGPT Desktop → Recettes véganes: déclenche
- ChatGPT Desktop → Véganiser recette: déclenche
- ChatGPT Desktop → Remplacer ingrédient: déclenche
- ChatGPT Desktop → Planifier semaine: déclenche
- ChatGPT Desktop → Parcours personnels: déclenche
- ChatGPT Desktop → Courses et panier: déclenche
- ChatGPT Desktop → Restaurants véganes: déclenche
- ChatGPT Desktop → Traiteurs véganes: déclenche
- Connexion MCP → Service AgentVegan: se connecte
- Recettes véganes → Service AgentVegan: interroge
- Véganiser recette → Service AgentVegan: interroge
- Remplacer ingrédient → Service AgentVegan: interroge
- Planifier semaine → Service AgentVegan: demande un plan
- Parcours personnels → Service AgentVegan: configure le compte
- Courses et panier → Service AgentVegan: gère le panier
- Restaurants véganes → Service AgentVegan: recherche
- Traiteurs véganes → Service AgentVegan: recherche
- Recettes véganes → Catalogue public: consulte
- Recettes véganes → Fiches recettes: consulte
- Entrée solveur CLI → Solveur hebdomadaire: exécute
- Courses et panier → Picnic: prévisualise puis confirme
- Service AgentVegan → Picnic: intègre facultativement
