PlanPlan0 logo

Concepts

Canonical vocabulary used across Plan0.

Canvas objects

TermWhat it is
Building blockAny element you place on the canvas — Group, Component, or Item.
GroupA top-level building block that defines a domain or system boundary. Children are free-positioned inside it.
ComponentA building block representing one concern. Can stand alone or hold an ordered list of Items.
Component Item (or simply Item)A sub-element inside a Component that describes a specific behaviour, spec, or detail.
ConnectionA directed arrow between two building blocks representing a dependency, data flow, or relationship.

Classifiers

Every building block has two orthogonal classifiers:

FieldWhat it describesWho sets itExample values
structuralTypeHow the block behaves on the canvasSystemgroup · component · component-item
semanticTypeWhat the block means in your projectYou, via Project Settingsbackend · form · endpoint

Think of it like HTML: a <div> and a <footer> behave identically (structuralType) but mean different things (semanticType).


Project & configuration

TermWhat it is
ProjectA named canvas; contains a building block layout, Project Settings, and Versions.
TemplateA reusable configuration preset — defines Component types, Group types, Item types, Statuses, and Quick Prompts. Can be applied to or forked from a Project.
VersionA named canvas state within a Project. Every Project has at least one (Main).
StatusA color-coded label applied to a building block to indicate its implementation state.
Quick PromptA user-authored text snippet scoped to a building block type (or globally). Sent to an AI agent as context.
ScopeThe targeting rule for a Quick Prompt or Status — which building blocks it applies to.
SuggestionA structural advisory indicating that a building block is incomplete or misplaced, based on rules in the Template.

Relationships at a glance

  • A Project contains one or more Versions (minimum one: Main).
  • A Project can use one Template (or none).
  • A Group contains zero or more Components and nested Groups — children are free-positioned.
  • A Component contains zero or more Items — Items are ordered and stacked.
  • An Item belongs to exactly one Component but can be connected to any other building block, even across Groups.
  • A Connection has exactly one source and one target building block.
  • A Status and a Quick Prompt each have exactly one Scope.