27 lines
806 B
Markdown
27 lines
806 B
Markdown
|
|
# 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`)
|
||
|
|
- script `install.sh` prêt à publier (`curl .../install.sh | bash`) avec wizard TUI (setup, apply Claude/Codex, JSON MCP)
|
||
|
|
- 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))
|
||
|
|
```
|