sprig (noun) — a small shoot; a sign of new growth
prose (noun) — ordinary written language, used to explain

sprig and prose

sprig is a small system for describing a world and exploring how systems respond to it.

prose is the language used to describe that world.

Most systems are easier to run than to understand. Code explains how; meaning drifts; understanding fades over time.

sprig exists to keep meaning close to the system — calmly.


A tiny universe

The easiest way to understand sprig is to look at a very small example.

universe Garden {
  describe {
    A small garden with a few plants.
  }

  concept Plant {
    describe {
      A living thing that grows over time.
    }

    dimension species {
      describe {
        Plants come in many different varieties.
      }
    }

    species TomatoPlant { }
    species BasilPlant { }
  }

  relationship hydrates and isHydratedBy { }

  concept Watering {
    describe {
      Giving water to a plant.
    }

    relationships {
      hydrates { Plant }
    }
  }
}

This is a complete universe.

It describes what exists and how things relate.

Most systems begin this way — small, and gradually becoming clearer over time.


What sprig does

Sprig reads a universe and makes it visible.

You can:

  • compile a universe into a manifest
  • explore it through a local UI
  • follow how concepts connect

The structure comes directly from what you described. There are no hidden rules.


The manifest

When you run sprig compile, a manifest is produced.

The manifest is a normalized view of the universe:

  • every concept has a stable identity
  • every relationship is resolved
  • every connection is explicit

It is simple JSON.

Other systems can read it.


The shape of the system

Sprig and prose separate two concerns.

  • Prose describes a world
  • Sprig makes that world visible

This keeps the system small and flexible.

The world can change without changing how it is explored.


Philosophy

sprig follows a few simple ideas.

  • nouns over verbs systems are easier to understand as things and relationships

  • start small a useful universe can be very simple

  • describe, don’t control sprig records meaning without enforcing behavior

  • incremental adoption systems can participate without rewrites

  • calm by design the language stays small so the system stays understandable


What comes next

A universe describes what could be true.

In the next phase, systems can respond to it.

Using a small SDK, systems will be able to:

  • read a universe
  • generate simple receipts
  • state what they know

The universe stays the same. Different systems respond to it.


Explore

  • Read docs to see the documentation home
  • Read prose to understand the language
  • Read sprig to see how systems participate