How-To Write specs by level 105HOWTO-105

Write specs by level

Guides for choosing and writing the right kind of .sdd file: root project specs, directory and module specs, feature specs, and focused local specs for services, models, adapters, APIs, components, jobs, events, policies, packages, libraries, and repositories.

← All How-To categories

14 guides Write specs by level
  1. Beginner 3 min read
    How to write a root project spec

    Use the root project spec for inherited project context: purpose, major structure, broad Must rules, and top-level Must not boundaries.

    Read guide
  2. Beginner 3 min read
    How to write a module spec

    Use module specs for inherited local context: area purpose, immediate structure, owned responsibilities, allowed dependencies, and boundaries.

    Read guide
  3. Beginner 3 min read
    How to write a feature spec

    Use feature specs for capabilities people can observe: inputs, outcomes, scenarios, non-goals, and checks that guide implementation.

    Read guide
  4. Intermediate 3 min read
    How to write a service spec

    Use service specs for local orchestration behavior: what the service owns, depends on, must do, must not do, and how changes are checked.

    Read guide
  5. Intermediate 3 min read
    How to write a model spec

    Use model specs to protect domain invariants: what state is valid, what the model exposes, and what responsibilities stay outside it.

    Read guide
  6. Intermediate 3 min read
    How to write an adapter spec

    Use adapter specs to keep external-system behavior isolated: persistence, retrieval, translation, failure reporting, and dependency boundaries.

    Read guide
  7. Intermediate 3 min read
    How to write an API spec

    Use API specs to define inbound interface contracts: exposed endpoints or commands, accepted inputs, returned outputs, errors, and boundary rules.

    Read guide
  8. Intermediate 3 min read
    How to write a component spec

    Use component specs for UI behavior: accepted props, visible output, interaction scenarios, state handling, and boundaries that keep components focused.

    Read guide
  9. Intermediate 3 min read
    How to write a job spec

    Use job specs for background work: triggers, inputs, idempotency, side effects, failure handling, retry boundaries, and completion evidence.

    Read guide
  10. Intermediate 3 min read
    How to write an event spec

    Use event specs to make message contracts explicit: event name, payload, producers, consumers, handled cases, and forbidden side effects.

    Read guide
  11. Intermediate 3 min read
    How to write a policy spec

    Use policy specs for rules that decide whether something is allowed, denied, eligible, visible, or blocked.

    Read guide
  12. Intermediate 3 min read
    How to write a package spec

    Use package specs to define a package's local contract: what it owns, exposes, depends on, must preserve, and must not reach across.

    Read guide
  13. Intermediate 3 min read
    How to write a library spec

    Use library specs to protect public API behavior, compatibility expectations, examples, and implementation boundaries.

    Read guide
  14. Advanced 3 min read
    How to write a repository spec

    Use repository specs for repository-level architecture and boundaries, while keeping commands and conventions in bootstrap.project.md.

    Read guide

More How-To categories