Extensions

Extensions add widgets and data sources to Dashfy. Add, remove, and audit them with the CLI.

Extensions are how Dashfy connects to your stack. Each extension is an @dashfy/ext-* npm package that provides widgets (visual components) and, optionally, a server API client (data source) plus setup metadata.

Extensions are resolved from a registry at runtime over HTTP — the same model as shadcn/ui's component registry. The difference: a Dashfy registry item describes an npm package plus setup metadata, so "applying" an extension means installing the package and running codemods, rather than copying source files.

See available extensions here.

Add an extension

pnpm dlx dashfy@latest add @dashfy/github

add resolves the extension address from the registry, installs the npm package, and sets it up automatically:

  • registers widgets in your App.tsx via WidgetRegistry.addExtension
  • registers the server API in your server bootstrap via dashfy.registerApi
  • adds required environment variables to .env
  • appends a starter widget block to your dashfy.config.yml

With no arguments, add fetches the catalog and prompts you to pick. Any registryDependencies an item declares are resolved and applied first.

Remove an extension

pnpm dlx dashfy@latest remove @dashfy/github

remove reverses what add set up: it removes the widget registration and imports, the server API registration, and the starter dashboard. It uninstalls the package (unless --keep-deps) and removes the extension's .env entries — but only when they are still empty placeholders. Lines that hold a value are preserved and reported, so your secrets are never deleted.

Audit your project

doctor verifies that each extension is fully set up — its dependency is installed, its widgets are registered, its server API is registered, its env vars are set, and its starter block exists. It exits non-zero on failure, making it a useful CI gate.

Auto-detect installed extensions:

pnpm dlx dashfy@latest doctor

Machine-readable report for CI:

pnpm dlx dashfy@latest doctor --json

See the CLI reference for add, remove, doctor, search, view, and docs, and Registry for authoring and hosting your own extensions.

Loading Dashfy...