Dashboard widget, ready to copy
The template ships a working ExampleWidget — PHP IWidget class, webpack entry, and a NcDashboardWidget renderer. Three files plus two registration points; rename and replace the data.
A starting point for building Nextcloud apps the Conduction way: a manifest-first Vue 2 frontend rendered by CnAppRoot, an OpenRegister data layer, a Dashboard widget, an admin settings panel, an AI Chat Companion tool provider, and the full quality pipeline — clone it, rename it, ship it.
Clone the template and you already have a Dashboard widget, a manifest-driven UI, an admin settings panel, an MCP tool provider, and this very documentation site — rename, rewire, ship.
The template ships a working ExampleWidget — PHP IWidget class, webpack entry, and a NcDashboardWidget renderer. Three files plus two registration points; rename and replace the data.
Pages, navigation, and dependencies live in src/manifest.json. CnAppRoot reads the manifest at boot and renders index / detail / dashboard / settings pages — you only write a Vue file for type: "custom".
An admin settings panel wired through NcAppSettingsDialog, an OpenRegister-backed settings register, and an ExampleToolProvider that exposes the app over MCP to the in-app AI Chat Companion.