Core concepts
Definitions of the SpecsGraph building blocks: workspaces, projects, bounded contexts, requirements, scenarios, proposals, revisions and access tokens.
These are the building blocks of SpecsGraph and the words these docs use for them. Each one links to the page that covers it in depth. Examples come from the Northwind Commerce sample workspace. Your team's own domain vocabulary, such as Reservation, lives in your project's domain glossary instead.
How the pieces nest
The model is a hierarchy. A workspace holds projects, a project holds the contexts of one system, and requirements with their scenarios sit at the bottom:
Workspace Northwind Commerce
Project Shop
Context Orders (key ORD, core subdomain)
Service Checkout
Requirement ORD-12 Reserve stock for every line item at checkout
Scenario Checkout stops when a line item cannot be reservedSome things link across the hierarchy rather than sitting inside it. Glossary terms, actors and relationships connect contexts to each other. Proposals, decisions and workstreams point at any nodes they touch.
The model
Change and collaboration
Access and output
Other terms
IDs and names
- Requirements join the context key and a number, assigned as described in Requirement IDs.
ORD-12is a requirement in Orders; its ID stays the same when its text changes. - Workstreams use the
WS-prefix, as inWS-3. - Proposal branches use the
spec/prefix, as inspec/checkout-reserve. - Decisions are numbered in the order they are recorded, and the file name carries a short title, as in
0007-reserve-stock-before-payment.md.
Next steps
- How the spec workflow works: the path from proposal to commit.
- Bounded contexts and subdomains: decide where the boundaries in your system go.
- Domain-driven and behavior-driven foundations: the methods behind these concepts.