Skip to main content

The manifest

Read the four parts of an app first. This page is what holds them.

Buildiq stores your whole app as a single manifest. Navigation, pages, widgets, actions, and how they are wired. The manifest is not a description of the app; it is the app. The running app is that document rendered, and Buildiq's designers are a way of editing it without hand-writing JSON.

What the manifest holds​

KeyWhat it declares
menuNavigation entries. See Navigation.
pagesEvery screen. See Pages.
setupThe first-run setup wizard steps.
walkthroughGuided tours, as tours[].steps[].
adminSettingsThe app's admin settings surface.
dependenciesApps this one needs.
credentialsCredential requirements.
schedulesRecurring jobs.
observabilityHealth and metrics endpoints.
deepLinksLinks other apps can use to open a screen here.
pageTemplates / pageInstancesA page shape declared once and reused.
setsGrouped declarations.
mcpTools exposed to an assistant.
nav / runtimeShell and runtime options, including theme.

version records the manifest format. openbuildEditable marks which parts Buildiq's designers may change.

Deltas, so upgrades do not overwrite you​

Your changes are stored as a delta over the shipped manifest, not as a copy of it. When the app ships an update, your edits survive it, because they are recorded as the difference rather than as a replacement.

This is what makes a customised app upgradeable, and it is why editing the manifest through Buildiq is safer than editing a file.

Because it is one document​

Three things follow, and they are the practical payoff:

  • Snapshots. Save a version of the whole app and roll a bad edit back.
  • Export. Take the app out as a ZIP.
  • Publish. Push the app to a GitHub repository and install it on another instance. See GitHub store.

A snapshot captures the manifest, so it captures the app: schemas, pages, and wiring together, not a set of files you have to keep in step.

Validation​

The manifest validates against the app-manifest-v2 JSON schema published with @conduction/nextcloud-vue. Buildiq also ships scripts/check-manifest.js, which the quality pipeline runs, so an invalid manifest fails before it reaches a user.

Next: build one. Open create a virtual app.