Customize an app
Customizing an app is not making a new app. A workspace changes an app's behavior; a new app is a change to Vocion itself.
Override a plugin's files
A plugin is a bundle of workspace files (agents, skills, playbooks, missions, automations, teams, object types, pages, trust rules) loaded as an inherited layer under your workspace. A workspace overrides any of them by slug:
- An agent, object type or mission: a same-slug YAML file marked
extends: corepatches the plugin's. Scalars replace; arrays replace unless you write$append/$remove. A same-slug file without the marker is an error — declare intent or rename. - A skill (
SKILL.mdfolder), automation, team or learning step: a same-slug file replaces the plugin's whole file. disable:inworkspace.yamlswitches off a plugin's agents, skills and playbooks.- Per-plugin switches go under
pluginSettings:plugins: [software-factory] pluginSettings: software-factory: { narrateRecordings: false } - A rule in your
trust.yamlfor the same action replaces the plugin's.
Each enabled plugin's version is folded into the workspace version (…+data-rooms@1.0.0+proposals@1.0.0), so every run records exactly what ran.
Add pages to an app
A workspace page (pages/<slug>.yaml, served at /dashboard/p/<slug>) whose nav.section names one of an app's sections appears inside that app — for example nav: { section: GTM }. It never becomes an app of its own.
Add a new app
Apps are defined only in vocion-core, at packages/core/templates/apps/<id>/app.yaml:
id: field-service
name: Field Service
icon: wrench
order: 4
description: Jobs, crews and the schedule that keeps them on time.
plugins: [field-jobs] # plugins under packages/core/templates/plugins/
entry: /dashboard/p/jobs
nav: [Jobs]
A workspace has the app when any listed plugin is on. Plugins and apps also load only from core's templates/, so a new app means a fork or a pull request to vocion-core. If what you need is true of one company or one vertical, it belongs in a workspace, not in a new app.