Skip to content

Development and Contributing

Dan Roberts edited this page Oct 27, 2026 · 2 revisions

Development and Contributing

The repository is generated by @grafana/create-plugin and uses TypeScript, React, @grafana/data, @grafana/runtime, @grafana/ui, webpack, Jest, and @grafana/plugin-e2e.

npm run typecheck
npm run lint
npm run test:ci
npm run build
npm run e2e

Do not edit .config/. Keep runtime components small, secure data-source transport in aiClient.ts, provider-specific protocols in the companion backend, prompt construction pure, and DataFrame serialization deterministic and bounded. Add unit tests with each utility change and provisioned E2E coverage for panel behavior.

Panel 1.1.0 requires companion 1.1.0 or later. Use the deterministic mock environment for the full E2E suite, not a dashboard configured to call a real model. Cover data-only, images-only without query data, combined requests, preview without inference, explicit submission, cancellation, clear, bounded capture names, and narrow-screen controls. Real vision validation is a separate approved test with synthetic images and known visual facts.

The root README introduces the repository; src/README.md is packaged for the Grafana catalog. Keep the descriptions consistent and include documentation changes in a newly versioned archive. Preserve published artifacts and tags. A new version plus a Grafana restart and full-page reload avoids reusing the old plugin module URL; dashboard Refresh is not a code reload.

See the development guide for environment setup, safe cache troubleshooting, and release checks.

Clone this wiki locally