PlanPlan0 logo

Building Blocks

Groups, Components, Items, Connections, and Suggestions.

The three types

Group

A Group defines a domain or system boundary.

  • Top-level — Groups sit at the root of the canvas.
  • Children are free-positioned: drag them anywhere inside the Group.
  • Typical examples: Backend Service, UI, Infrastructure, Page.

Component

A Component represents one concern within a Group.

  • Lives inside a Group (or stands alone at the root).
  • Can hold an ordered, stacked list of Items.
  • Typical examples: Endpoint, Form, Entity, Cron Job.

Item

An Item describes a specific behaviour, spec, or detail of a Component.

  • Lives inside a Component; Items are stacked in order.
  • Can be connected to any other building block — even across Groups.
  • Typical examples: Form Field, Column/Field, Unit Test, CI/CD.

Structural type vs semantic type

Every building block has two classifiers:

  • structuralType — set by the system; determines how the block behaves (group, component, component-item).
  • semanticType — set by you in Project Settings; determines what the block means (e.g. backend, form, endpoint).

You configure semantic types — their label, icon, color, and child rules — in Project Settings under the Component types, Component Item types, and Group types tabs.


Creating building blocks

  1. Press A anywhere on the canvas to open the add menu.
  2. Choose the type you want to place.

Or right-click on an existing Group or Component and choose Add child.


Nesting rules

ParentCan contain
GroupComponents, nested Groups
ComponentItems
Item— (leaf block)

Items are the only building blocks that cannot contain children.


Connecting building blocks

Draw a Connection from any building block to any other:

  • Hover over the source block until the connection handle appears, then drag to the target.
  • Items can connect across Group boundaries — this is intentional and common (e.g. an Endpoint Item on the UI side connecting to a Service Component in the backend).

Reparenting

To move a building block into a different parent, select it and drag it onto the new parent.

You can also use Rearrange (Cmd/Ctrl+Shift+R) to let Plan0 automatically reflow the layout of the selected blocks.


Suggestions

A Suggestion is a structural advisory attached to a building block.

Suggestions are generated from rules defined in your Template. A common example: every Infrastructure Component must have at least one Security Item — if it doesn't, a Suggestion badge appears on the Component.

Act on Suggestions by adding the missing building blocks, or dismiss them if they don't apply.