Concepts

Concepts are how meaning enters a universe.

Every concept must belong to a universe. This gives the concept a home, and gives its name a context.

The simplest way to do this is by declaring concepts inside a universe block:

universe Greenhouse {
  concept TomatoPlant { }
}

This page focuses on what concepts are and why they exist. Other ways of declaring where concepts live are covered later.


What a concept is

A concept represents something you can point to and recognize.

That “something” might be:

  • a physical thing
  • an abstract idea
  • a role
  • a category
  • a state
  • or a distinction you’ve noticed but don’t fully understand yet

Concepts are not definitions in the strict sense. They are anchors for meaning.

They often reflect the language people already use — including shorthand or abbreviations — while still allowing the underlying meaning to be made explicit.


Declaring a concept

A concept is declared with a name:

concept TomatoPlant { }

A concept may exist without any additional information. Naming it is enough to make it part of the universe.

You can add description when it helps:

concept BasilPlant {
  describe {
    A small basil plant with bright green leaves.
  }
}

Descriptions are optional. They exist for humans, not for enforcement.

Sometimes a concept represents familiar shorthand rather than a full name. In those cases, the expanded meaning can be expressed through relationships:

concept LMNOP {
  title { 'Long-Meaning Name Of Process' }
}

concept LongMeaningProcess { }

relates LMNOP and LongMeaningProcess {
  relationships { 'stands for' }
}

This allows conversations to use natural shorthand while keeping meaning visible.


Concepts before structure

When a universe is new, concepts often appear before any clear hierarchy.

You might know that certain things exist, without knowing:

  • where they belong
  • how they should be grouped
  • or what other concepts they relate to

Sprig encourages this order.

You can name ideas first, and decide how to organize them later.


Concepts do not imply behavior

A concept does not:

  • execute
  • enforce rules
  • define processes
  • or prescribe how something works

It only says: this exists in this universe.

Any behavior associated with a concept belongs in other layers.


Concepts can overlap

Concepts are allowed to overlap, feel redundant, or seem unclear at first.

For example:

concept Plant { }
concept TomatoPlant { }
concept BasilPlant { }

You do not need to decide immediately whether:

  • TomatoPlant is a kind of Plant
  • Plant is just a category
  • or both concepts should exist at all

That clarity can emerge over time.


Concepts are stable, structure is not

Concepts tend to remain useful even as structure changes.

As a universe evolves:

  • concepts may move between containers
  • hierarchies may be introduced or removed
  • paths may become more explicit

The concepts themselves often stay the same.

This is intentional.


When to stop adding concepts

There is no required level of completeness.

If you can recognize something when you see it, it can be a concept.

You can always refine later.


What comes next

Once concepts exist, you may start to notice how they relate to one another.

Those connections are expressed using relationships, which do not require structure or hierarchy.