Skip to main content

Documentation Structure

ThoughtJack's documentation follows the Diataxis framework, which organizes documentation into four distinct types based on user needs.

The four quadrants

TypeOrientationUser needThoughtJack example
TutorialsLearning"I want to learn"Getting Started guide
How-To GuidesTask"I want to accomplish X"Configure Delivery Behaviors
ReferenceInformation"I need to look up Y"Configuration Schema
ExplanationUnderstanding"I want to understand why"Phase Engine Design

Why Diataxis?

ThoughtJack serves different audiences with different needs at different times:

  • A new user needs a tutorial that walks them through running their first scenario
  • A practitioner writing a custom scenario needs how-to guides for specific tasks
  • A developer implementing a config needs exact field names and types from the reference
  • A security researcher needs to understand the attack surface model and framework mappings

Mixing these needs in a single document produces something that serves no audience well. Diataxis gives each need its own space.

How it maps to ThoughtJack

Tutorials (/docs/tutorials)

Step-by-step, learning-oriented. Each tutorial has a concrete goal and walks through every step.

  • Assumes no prior ThoughtJack knowledge
  • Uses numbered steps with expected outputs
  • Focuses on "follow along and understand"

How-To Guides (/docs/how-to)

Goal-oriented recipes. Each guide solves a specific problem.

  • Assumes ThoughtJack is installed and you've run a scenario
  • Starts with the goal, provides the steps
  • Focuses on "get this done"

Reference (/docs/reference)

Information-oriented. Tables of fields, types, defaults, and constraints.

  • Assumes you know what you're looking for
  • Uses tables and code blocks extensively
  • Focuses on "accurate and complete"

Explanation (/docs/explanation)

Understanding-oriented. Discusses concepts, design decisions, and trade-offs.

  • Assumes you want deeper knowledge
  • Uses diagrams and prose
  • Focuses on "why it works this way"

Contributing to docs

When adding documentation, ask yourself: what does the reader need right now?

  • Teaching a concept? → Tutorial
  • Enabling a task? → How-To Guide
  • Describing a field? → Reference
  • Explaining a decision? → Explanation

Keep each page in its lane. A how-to guide shouldn't explain architecture. A reference page shouldn't walk through a tutorial. Cross-link between sections when the reader might need to jump.