app-sdk-concepts
Use when starting any grafana-app-sdk work — scaffolding a Grafana app, initializing a Grafana App Platform app, picking a deployment mode (standalone operator / grafana/apps / frontend-only), wiring app-specific config, or onboarding to the SDK. Covers `grafana-app-sdk` CLI install, `project init` per deployment mode, project layout, the schema-centric workflow (CUE kinds → generated code → reconciler/admission logic), and `SpecificConfig` for env-driven app configuration. Use even if the user
Security Assessment
About app-sdk-concepts
app-sdk-concepts is an onboarding and scaffolding guide for the grafana-app-sdk, a CLI plus Go library for building schema-centric apps on the Grafana App Platform. It solves the problem of getting started correctly by explaining installation, project initialization per deployment mode, project layout, and the schema-driven development loop where CUE kinds generate Go and TypeScript code that reconcilers and admission logic build on. It is licensed Apache-2.0.
The skill documents the core workflows: installing the CLI with go install and verifying the version, running project init for a standalone operator or a grafana/apps-style app inside the Grafana repo, adding operator or frontend scaffolding, and the end-to-end loop of init, kind add, editing CUE, running generate, and implementing logic. It presents a one-line deployment-mode comparison table (standalone operator, grafana/apps in-process, frontend-only) and points to a set of reference files covering the full CLI command surface, project structure, SpecificConfig for env-driven configuration, deployment modes, and local development with Tilt and k3d. Guidance emphasizes rerunning generate after every CUE change and never hand-editing generated files.
It targets Go developers and platform engineers building Grafana App Platform apps, operators, or apps that live inside the Grafana repository. Prerequisites are a Go toolchain and the grafana-app-sdk CLI; the documented commands are standard developer tooling (go install, scaffolding, code generation, local k3d dev environments).
FAQ
How do I install the SDK?
Run go install github.com/grafana/grafana-app-sdk/cmd/grafana-app-sdk@latest and verify with grafana-app-sdk version. The reference notes that go install updates the binary, so re-verify before init.
What deployment modes are supported?
Standalone operator (your own Kubernetes operator binary with a webhook server), grafana/apps (runs in-process inside Grafana's API server, only inside the Grafana repo or a fork), and frontend-only (TypeScript types with no Go backend).
What is the core development loop?
project init, then project kind add, edit the CUE kinds, run grafana-app-sdk generate to produce Go/TS types plus the AppManifest and CRDs, then implement reconciler and admission logic. Always rerun generate after CUE changes.
Can I edit the generated code?
No. Generated files are overwritten on every generate run, so business logic goes in the reconciler and admission stubs, not the generated types.
What is available for local development?
A local k3d environment driven by Tilt via make local/up, plus make targets for pushing the operator image and deploying the plugin, documented in the local-development reference.
Install app-sdk-concepts
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
grafana/skills