SuperAPI AI Directory

scaffold-project

Deployment & operations

View repository

Updated 10-15 21:55

About this skill

Scaffold a gcx Project

Scaffold a new Go project for managing Grafana resources as code using gcx dev scaffold.

Prerequisites

Verify gcx is installed:

gcx --version

If missing, see the setup-gcx skill.

Scaffolding

Interactive Mode (recommended for first-time users)

gcx dev scaffold

Prompts for:

  • Project name - becomes the directory name (kebab-cased)
  • Go module path - e.g. github.com/myorg/my-dashboards

Non-Interactive Mode

gcx dev scaffold --project my-dashboards --go-module-path github.com/myorg/my-dashboards

What Gets Generated

my-dashboards/
├── .github/workflows/deploy.yaml   # CI/CD workflow for gcx push
├── .gitignore
├── go.mod
├── main.go                         # Entrypoint — registers all resources
├── internal/
│   └── dashboards/
│       ├── all.go                  # Registry function returning all manifests
│       └── sample.go              # Example dashboard using foundation-sdk builders
└── README.md

Next Steps After Scaffolding

  1. cd my-dashboards && go mod tidy
  2. Configure gcx: gcx config set stacks.default.grafana.server <URL>, gcx config set stacks.default.grafana.token <TOKEN>, and gcx config set contexts.default.stack default
  3. Edit internal/dashboards/sample.go or generate new stubs with gcx dev generate
  4. Push to Grafana: gcx resources push

Common Issues

Issue Fix
go mod tidy fails Ensure your Go toolchain meets the version required by the generated go.mod
Project name has spaces Names are auto-kebab-cased; spaces become hyphens
Want to add alert rules Create internal/alerts/ and use gcx dev generate alerts/my-rule.go