Composition layer specification

2 min

Skirbi’s composition layer

@skirbi/dibuho development

Dibuho provides ready-made compositions built from @skirbi/semtic and styled via @skirbi/pinta.

  • semtic → structure
  • pinta → look
  • dibuho → composition

What it is

Dibuho is a small set of prebuilt UI patterns:

  • headers
  • topbars
  • article layouts
  • hero blocks
  • content sections

These are not new primitives.

They are combinations of semtic elements arranged in a sensible, reusable way.

What it is not

Dibuho is not:

  • a CSS framework
  • a replacement for semtic
  • a theme engine
  • a new primitive layer

Dibuho is the component layer.

Semtic gives you structure.
Pinta gives you the visual system.
Dibuho gives you reusable patterns built from both.

If you need a section → use semtic
If you need spacing or tones → use pinta
If you need a terminal, article card, topbar, or layout → use dibuho

Example

A simple header composition:

html
<dibuho-header>
  <semtic-nav>
    <semtic-nav-item href="/">Home</semtic-nav-item>
    <semtic-nav-item href="/docs">Docs</semtic-nav-item>
  </semtic-nav>
</dibuho-header>

An article layout:

html
<dibuho-article>
  <semtic-article title="Hello world">
    <p>Content…</p>
  </semtic-article>
</dibuho-article>

Relationship to other packages

Package Responsibility
@skirbi/sugar Web Component base layer
@skirbi/semtic Semantic HTML components
@skirbi/pinta Tokens + styling primitives
@skirbi/dibuho Composition patterns
@tatuahe/hugo Hugo integration

Scope (v1)

Dibuho intentionally starts small:

  • header
  • topbar
  • hero
  • article layout
  • related content block

That’s it.

If something feels like it belongs here:

  • it probably doesn’t
  • until you’ve written it 3 times