Concepts·repo.blue

Concepts

repo.blue

repo.blue is the shared type system and vocabulary layer of the Blue ecosystem. It is where common Blue types and patterns live, so different systems can speak the same language.

repo.blue is the vocabulary; language.blue is the language.

What repo.blue contains

repo.blue holds reusable building blocks across packages. Some examples you will see throughout these docs and the document stepper:

  • Conversation/Timeline Entry — the base shape of every entry on every timeline.
  • Conversation/Operation Request — a typed message asking a document to perform a named operation.
  • Conversation/Operation, Conversation/Change Operation, Conversation/Propose Change Operation — declarations for what operations a document exposes.
  • Conversation/Sequential Workflow, Conversation/Sequential Workflow Operation — handler patterns that execute steps in order.
  • Conversation/Timeline Channel, Conversation/Composite Timeline Channel, Conversation/MyOS Timeline Channel — how documents bind to timelines.
  • Conversation/Actor, Conversation/Principal Actor, Conversation/Agent Actor — actor attribution.
  • Conversation/Update Document, Conversation/Trigger Event, Conversation/JavaScript Code — workflow steps used inside operations.
  • Common/Record, Common/Space, Common/Relationship — broad document patterns.
  • PayNote/... — payment-flow specific types as the PayNotes vocabulary stabilizes.

Why shared types matter

If every document is invented from scratch:

  • composition becomes harder
  • interoperability becomes weaker
  • different systems drift semantically

Shared types solve that. They let participants say:

  • we mean the same kind of order
  • we mean the same kind of actor
  • we mean the same kind of PayNote field
  • we mean the same kind of request and response shape

That is critical for an open ecosystem.

Relation to BlueId

Blue's referencing model is content-addressed. That means shared types are not just names in a catalog — they become stable reference points in the ecosystem via their BlueId. Conversation/Operation Request is a name; under the hood it resolves to a specific BlueId, and that BlueId never drifts.

Without repo.blue, Blue works as a language. With repo.blue, Blue scales as a shared ecosystem.

Use shared types in the playground

The Counter sample in the document stepper is built entirely from real repo.blue types: a Conversation/Timeline Channel bound to a demo timeline, a Conversation/Operation declaration, and a Conversation/Sequential Workflow Operation handler with a Conversation/Update Document step. Submit a Conversation/Timeline Entry carrying a Conversation/Operation Request and watch the state move.

Why it belongs in the product story

With repo.blue:

  • common meanings can be reused across teams and systems
  • tools can generate against known patterns
  • documents become easier to compose
  • industries can converge on standard blocks

Later, repo.blue itself can become a first-class browsable registry for the ecosystem.

Visit repo.blue ↗ to browse shared types, or open the document stepper to see them in action.