2026-04-15 12:06:28 +00:00
|
|
|
# Scaffolding
|
|
|
|
|
|
|
|
|
|
Le package `scaffold` génère un point de départ cohérent pour un nouveau binaire MCP :
|
|
|
|
|
|
|
|
|
|
- arborescence recommandée (`cmd/<binary>/main.go`, `internal/app/app.go`, `mcp.toml`)
|
2026-05-02 10:07:34 +00:00
|
|
|
- script `install.sh` prêt à publier (`curl .../install.sh | bash`) avec wizard TUI, setup local et export JSON MCP
|
2026-04-15 12:06:28 +00:00
|
|
|
- wiring initial `bootstrap + config + secretstore + update`
|
|
|
|
|
- `README.md` de démarrage
|
|
|
|
|
|
|
|
|
|
Exemple :
|
|
|
|
|
|
|
|
|
|
```go
|
|
|
|
|
result, err := scaffold.Generate(scaffold.Options{
|
|
|
|
|
TargetDir: "./my-mcp",
|
|
|
|
|
ModulePath: "gitea.lclr.dev/AI/my-mcp",
|
|
|
|
|
BinaryName: "my-mcp",
|
|
|
|
|
Description: "Client MCP interne",
|
|
|
|
|
DefaultProfile: "prod",
|
|
|
|
|
Profiles: []string{"dev", "prod"},
|
|
|
|
|
})
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fmt.Printf("Scaffold generated in %s (%d files)\n", result.Root, len(result.Files))
|
|
|
|
|
```
|