feat: add MCP scaffold generator #20

Merged
thibaud-lclr merged 1 commit from refs/pull/20/head into release/v1.3 2026-04-14 14:24:45 +00:00
thibaud-lclr commented 2026-04-14 13:43:09 +00:00 (Migrated from gitea.lclr.dev)

Résumé

  • ajoute un nouveau package scaffold avec Generate(Options) pour créer un squelette de binaire MCP
  • génère l'arborescence recommandée (cmd/<binary>/main.go, internal/app/app.go, mcp.toml, README.md, go.mod, .gitignore)
  • fournit un wiring initial cohérent avec les packages supportés (bootstrap, config, secretstore, manifest, update)
  • ajoute des tests unitaires de génération (structure, contenu, defaults, overwrite, validation syntaxique Go)
  • documente le package dans le README du framework

Validation locale

  • go test ./...

Test manuel proposé

  • générer un projet dans un dossier vide avec scaffold.Generate
  • exécuter go mod tidy, puis go run ./cmd/<binary> help, setup, config test

Impact dépôts consommateurs

  • changement non cassant (ajout d'un package)
  • plan d'adoption: les dépôts consommateurs (graylog-mcp, email-mcp) peuvent migrer progressivement vers ce scaffold lors de la création de nouveaux binaires ou refactors

Closes #9

## Résumé - ajoute un nouveau package `scaffold` avec `Generate(Options)` pour créer un squelette de binaire MCP - génère l'arborescence recommandée (`cmd/<binary>/main.go`, `internal/app/app.go`, `mcp.toml`, `README.md`, `go.mod`, `.gitignore`) - fournit un wiring initial cohérent avec les packages supportés (`bootstrap`, `config`, `secretstore`, `manifest`, `update`) - ajoute des tests unitaires de génération (structure, contenu, defaults, overwrite, validation syntaxique Go) - documente le package dans le README du framework ## Validation locale - `go test ./...` ## Test manuel proposé - générer un projet dans un dossier vide avec `scaffold.Generate` - exécuter `go mod tidy`, puis `go run ./cmd/<binary> help`, `setup`, `config test` ## Impact dépôts consommateurs - changement non cassant (ajout d'un package) - plan d'adoption: les dépôts consommateurs (`graylog-mcp`, `email-mcp`) peuvent migrer progressivement vers ce scaffold lors de la création de nouveaux binaires ou refactors Closes #9
Sign in to join this conversation.
No description provided.