@vpxa/aikit 0.1.65 → 0.1.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/cli/dist/constants-D93JHBiN.js +1 -0
- package/packages/cli/dist/index.js +3 -3
- package/packages/cli/dist/{init-DBo2fDoM.js → init-DANkCO2c.js} +1 -1
- package/packages/cli/dist/{user-CXIL0rVI.js → user-Bb99C6xW.js} +1 -1
- package/scaffold/flows/_epilogue/steps/docs-sync/README.md +119 -119
- package/scaffold/flows/aikit-advanced/steps/design/README.md +16 -2
- package/scaffold/flows/aikit-advanced/steps/execute/README.md +3 -1
- package/scaffold/flows/aikit-advanced/steps/plan/README.md +3 -1
- package/scaffold/flows/aikit-advanced/steps/spec/README.md +3 -1
- package/scaffold/flows/aikit-advanced/steps/task/README.md +3 -1
- package/scaffold/flows/aikit-advanced/steps/verify/README.md +3 -1
- package/scaffold/flows/aikit-basic/steps/assess/README.md +3 -1
- package/scaffold/flows/aikit-basic/steps/design/README.md +12 -3
- package/scaffold/flows/aikit-basic/steps/implement/README.md +3 -1
- package/scaffold/flows/aikit-basic/steps/verify/README.md +3 -1
- package/scaffold/general/skills/docs/SKILL.md +508 -508
- package/scaffold/general/skills/docs/references/diataxis-anti-patterns.md +146 -146
- package/scaffold/general/skills/docs/references/diataxis-compass.md +122 -122
- package/scaffold/general/skills/docs/references/diataxis-quadrants.md +191 -191
- package/scaffold/general/skills/docs/references/diataxis-quality.md +75 -75
- package/scaffold/general/skills/docs/references/diataxis-templates.md +119 -119
- package/scaffold/general/skills/docs/references/flow-artifacts-guide.md +69 -69
- package/scaffold/general/skills/docs/references/project-knowledge-gotchas.md +31 -31
- package/scaffold/general/skills/docs/references/project-knowledge-templates.md +280 -280
- package/scaffold/general/skills/docs/references/project-knowledge-workflow.md +79 -79
- package/packages/cli/dist/constants-BjDyZo-l.js +0 -1
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
# Diátaxis Anti-Patterns
|
|
2
|
-
|
|
3
|
-
Five common documentation anti-patterns that violate Diátaxis quadrant boundaries. Each pattern includes detection signals, a violation/compliant example pair, and remediation.
|
|
4
|
-
|
|
5
|
-
## Anti-Pattern 1: Tutorial with Explanation
|
|
6
|
-
|
|
7
|
-
**Detection signals:** "This is because...", conceptual paragraphs between steps, "Let's understand why..." mid-tutorial.
|
|
8
|
-
|
|
9
|
-
**Failure mode:** Learner loses momentum; cognitive load increases; tutorial becomes reference-like.
|
|
10
|
-
|
|
11
|
-
**Violation example:**
|
|
12
|
-
|
|
13
|
-
> Step 4: Exchange the authorization code for a token.
|
|
14
|
-
>
|
|
15
|
-
> The authorization code grant exists because the client and server need a temporary credential that can be verified before issuing a bearer token. In OAuth 2.0, this protects the user agent from exposing long-lived credentials and supports redirect-based trust establishment. The protocol also separates authentication from authorization, which matters when multiple identity providers are involved.
|
|
16
|
-
>
|
|
17
|
-
> Now paste the token into the next command.
|
|
18
|
-
|
|
19
|
-
**Compliant example:**
|
|
20
|
-
|
|
21
|
-
> Step 4: Exchange the authorization code for a token.
|
|
22
|
-
>
|
|
23
|
-
> Note: For why this works, see [Explanation: Authentication Flow].
|
|
24
|
-
|
|
25
|
-
**Fix:** Extract all "why" content to a separate explanation document. Leave only the action and the minimum guidance needed to complete the learning exercise.
|
|
26
|
-
|
|
27
|
-
## Anti-Pattern 2: How-To That Teaches
|
|
28
|
-
|
|
29
|
-
**Detection signals:** "Let's learn...", "First, understand that...", explanations of basic concepts, beginner-level framing.
|
|
30
|
-
|
|
31
|
-
**Failure mode:** Experienced users waste time reading fundamentals they already know.
|
|
32
|
-
|
|
33
|
-
**Violation example:**
|
|
34
|
-
|
|
35
|
-
> # How to Deploy
|
|
36
|
-
>
|
|
37
|
-
> Before we deploy, let's learn what Docker is. Docker is a containerization platform that packages software with its dependencies so it can run consistently across environments. Containers differ from virtual machines because they share the host kernel...
|
|
38
|
-
|
|
39
|
-
**Compliant example:**
|
|
40
|
-
|
|
41
|
-
> # How to Deploy
|
|
42
|
-
>
|
|
43
|
-
> Prerequisites: Docker installed. If you need setup help, see [Tutorial: Getting Started with Docker].
|
|
44
|
-
>
|
|
45
|
-
> 1. Build the image.
|
|
46
|
-
> 2. Push it to the registry.
|
|
47
|
-
> 3. Roll out the new version.
|
|
48
|
-
|
|
49
|
-
**Fix:** Assume competence. Split foundational teaching into a tutorial for learners and keep the how-to focused on completing a task for someone who already knows the basics.
|
|
50
|
-
|
|
51
|
-
## Anti-Pattern 3: Reference with Narrative
|
|
52
|
-
|
|
53
|
-
**Detection signals:** First-person voice ("I recommend..."), opinions, step-by-step instructions in a reference table, anecdotes.
|
|
54
|
-
|
|
55
|
-
**Failure mode:** Reference becomes unreliable for quick lookup; opinions pollute facts.
|
|
56
|
-
|
|
57
|
-
**Violation example:**
|
|
58
|
-
|
|
59
|
-
> | Parameter | Type | Description |
|
|
60
|
-
> |-----------|------|-------------|
|
|
61
|
-
> | `retry` | `number` | I usually set this to `5` because it feels safer in production, and in my experience lower values make operators nervous. |
|
|
62
|
-
|
|
63
|
-
**Compliant example:**
|
|
64
|
-
|
|
65
|
-
> | Parameter | Type | Default | Constraints |
|
|
66
|
-
> |-----------|------|---------|-------------|
|
|
67
|
-
> | `retry` | `number` | `3` | Integer, `0-10` |
|
|
68
|
-
>
|
|
69
|
-
> For recommended usage patterns, see [How-To: Retry Configuration Best Practices].
|
|
70
|
-
|
|
71
|
-
**Fix:** Strip opinions into explanation content and move procedures into a how-to. Keep the reference page factual, terse, and optimized for lookup.
|
|
72
|
-
|
|
73
|
-
## Anti-Pattern 4: Explanation with Procedures
|
|
74
|
-
|
|
75
|
-
**Detection signals:** Numbered steps, imperative commands, "Step 1:", code blocks with instructions to run.
|
|
76
|
-
|
|
77
|
-
**Failure mode:** Reader expecting understanding gets confused by action items; the document serves neither purpose well.
|
|
78
|
-
|
|
79
|
-
**Violation example:**
|
|
80
|
-
|
|
81
|
-
> # Why We Use Microservices
|
|
82
|
-
>
|
|
83
|
-
> Our architecture separates services by deployment boundary and ownership model.
|
|
84
|
-
>
|
|
85
|
-
> Step 1: Create a new service directory under `services/`.
|
|
86
|
-
> Step 2: Copy the standard Dockerfile.
|
|
87
|
-
> Step 3: Register the service in the gateway config.
|
|
88
|
-
|
|
89
|
-
**Compliant example:**
|
|
90
|
-
|
|
91
|
-
> # Why We Use Microservices
|
|
92
|
-
>
|
|
93
|
-
> This architecture reduces coupling between release cycles, lets teams own isolated domains, and supports scaling services unevenly.
|
|
94
|
-
>
|
|
95
|
-
> For the practical workflow, see [How-To: Create a New Service].
|
|
96
|
-
|
|
97
|
-
**Fix:** Move procedures to a how-to or tutorial. Keep explanation documents discursive, interpretive, and focused on reasoning rather than execution.
|
|
98
|
-
|
|
99
|
-
## Anti-Pattern 5: Mixed-Mode Document
|
|
100
|
-
|
|
101
|
-
**Detection signals:** Multiple quadrant signals in one document; tutorial narration plus reference tables plus explanation prose; a page with more than two distinct purposes.
|
|
102
|
-
|
|
103
|
-
**Failure mode:** The document serves no single purpose well, becomes impossible to maintain, and grows without bound.
|
|
104
|
-
|
|
105
|
-
**Violation example:**
|
|
106
|
-
|
|
107
|
-
> # Authentication Guide
|
|
108
|
-
>
|
|
109
|
-
> OAuth lets users delegate access without sharing passwords. Here is a beginner-friendly walkthrough of the handshake. Below is the full endpoint matrix and token schema. Next, compare session cookies with JWTs and evaluate the security trade-offs. Finally, follow these steps to configure SSO in production.
|
|
110
|
-
|
|
111
|
-
**Compliant example:**
|
|
112
|
-
|
|
113
|
-
Split the material into four documents:
|
|
114
|
-
|
|
115
|
-
1. Tutorial: Getting Started with Authentication
|
|
116
|
-
2. Reference: Authentication API
|
|
117
|
-
3. Explanation: Authentication Architecture Decisions
|
|
118
|
-
4. How-To: Configure SSO
|
|
119
|
-
|
|
120
|
-
**Fix:** Split the page into separate documents, one per quadrant. Cross-link them so readers can move between learning, doing, understanding, and lookup without mode-switching inside a single page.
|
|
121
|
-
|
|
122
|
-
## Blur Zones
|
|
123
|
-
|
|
124
|
-
Common cases where the boundary between two quadrants is genuinely ambiguous:
|
|
125
|
-
|
|
126
|
-
| Content | Looks Like | Actually Is | Disambiguation |
|
|
127
|
-
|---------|-----------|-------------|----------------|
|
|
128
|
-
| Getting Started | Tutorial or How-to | Ask whether there is a learning journey. If yes, it is a Tutorial. If it is just "get it running", it is a How-to. | Look for staged learning versus immediate task completion. |
|
|
129
|
-
| Architecture Overview | Explanation or Reference | If it explains why the system is shaped this way, it is Explanation. If it lists components, schemas, or interfaces, it is Reference. | Ask whether the page interprets or inventories. |
|
|
130
|
-
| Troubleshooting | How-to or Reference | If it says "do X when Y happens", it is a How-to. If it is a lookup table of error codes or symptoms, it is Reference. | Ask whether the reader is acting or checking. |
|
|
131
|
-
| Best Practices | Explanation or How-to | If it explains reasoning and trade-offs, it is Explanation. If it gives actionable steps to follow, it is a How-to. | Ask whether the content persuades or instructs. |
|
|
132
|
-
| Changelog | Reference or Explanation | It is almost always Reference because it is a factual record. It only becomes Explanation when it includes design rationale and interpretation. | Ask whether the entry records changes or argues for them. |
|
|
133
|
-
|
|
134
|
-
## Common Mistakes
|
|
135
|
-
|
|
136
|
-
| Mistake | Why It's Wrong | Fix |
|
|
137
|
-
|---------|----------------|-----|
|
|
138
|
-
| Writing a tutorial that tries to be comprehensive | Tutorials should teach one thing well, not cover everything. | Narrow the scope and link to reference for completeness. |
|
|
139
|
-
| Embedding opinions in reference docs | Reference must be factual and trustworthy. | Move opinions to explanation docs. |
|
|
140
|
-
| Creating empty four-section structures | Diátaxis is a quality framework, not a template to fill. | Let structure emerge from actual content needs. |
|
|
141
|
-
| Making how-to guides that explain everything | How-to assumes competence; explanations break flow. | Link to tutorials for prerequisites and explanations for context. |
|
|
142
|
-
| Writing explanation that lacks opinion or perspective | Good explanation connects concepts and provides insight. | Take a position and explain trade-offs and reasoning. |
|
|
143
|
-
| Trying to classify every page | Some pages, such as README or index pages, are navigation rather than content. | Navigation pages do not need quadrant classification. |
|
|
144
|
-
|
|
145
|
-
## Attribution
|
|
146
|
-
|
|
1
|
+
# Diátaxis Anti-Patterns
|
|
2
|
+
|
|
3
|
+
Five common documentation anti-patterns that violate Diátaxis quadrant boundaries. Each pattern includes detection signals, a violation/compliant example pair, and remediation.
|
|
4
|
+
|
|
5
|
+
## Anti-Pattern 1: Tutorial with Explanation
|
|
6
|
+
|
|
7
|
+
**Detection signals:** "This is because...", conceptual paragraphs between steps, "Let's understand why..." mid-tutorial.
|
|
8
|
+
|
|
9
|
+
**Failure mode:** Learner loses momentum; cognitive load increases; tutorial becomes reference-like.
|
|
10
|
+
|
|
11
|
+
**Violation example:**
|
|
12
|
+
|
|
13
|
+
> Step 4: Exchange the authorization code for a token.
|
|
14
|
+
>
|
|
15
|
+
> The authorization code grant exists because the client and server need a temporary credential that can be verified before issuing a bearer token. In OAuth 2.0, this protects the user agent from exposing long-lived credentials and supports redirect-based trust establishment. The protocol also separates authentication from authorization, which matters when multiple identity providers are involved.
|
|
16
|
+
>
|
|
17
|
+
> Now paste the token into the next command.
|
|
18
|
+
|
|
19
|
+
**Compliant example:**
|
|
20
|
+
|
|
21
|
+
> Step 4: Exchange the authorization code for a token.
|
|
22
|
+
>
|
|
23
|
+
> Note: For why this works, see [Explanation: Authentication Flow].
|
|
24
|
+
|
|
25
|
+
**Fix:** Extract all "why" content to a separate explanation document. Leave only the action and the minimum guidance needed to complete the learning exercise.
|
|
26
|
+
|
|
27
|
+
## Anti-Pattern 2: How-To That Teaches
|
|
28
|
+
|
|
29
|
+
**Detection signals:** "Let's learn...", "First, understand that...", explanations of basic concepts, beginner-level framing.
|
|
30
|
+
|
|
31
|
+
**Failure mode:** Experienced users waste time reading fundamentals they already know.
|
|
32
|
+
|
|
33
|
+
**Violation example:**
|
|
34
|
+
|
|
35
|
+
> # How to Deploy
|
|
36
|
+
>
|
|
37
|
+
> Before we deploy, let's learn what Docker is. Docker is a containerization platform that packages software with its dependencies so it can run consistently across environments. Containers differ from virtual machines because they share the host kernel...
|
|
38
|
+
|
|
39
|
+
**Compliant example:**
|
|
40
|
+
|
|
41
|
+
> # How to Deploy
|
|
42
|
+
>
|
|
43
|
+
> Prerequisites: Docker installed. If you need setup help, see [Tutorial: Getting Started with Docker].
|
|
44
|
+
>
|
|
45
|
+
> 1. Build the image.
|
|
46
|
+
> 2. Push it to the registry.
|
|
47
|
+
> 3. Roll out the new version.
|
|
48
|
+
|
|
49
|
+
**Fix:** Assume competence. Split foundational teaching into a tutorial for learners and keep the how-to focused on completing a task for someone who already knows the basics.
|
|
50
|
+
|
|
51
|
+
## Anti-Pattern 3: Reference with Narrative
|
|
52
|
+
|
|
53
|
+
**Detection signals:** First-person voice ("I recommend..."), opinions, step-by-step instructions in a reference table, anecdotes.
|
|
54
|
+
|
|
55
|
+
**Failure mode:** Reference becomes unreliable for quick lookup; opinions pollute facts.
|
|
56
|
+
|
|
57
|
+
**Violation example:**
|
|
58
|
+
|
|
59
|
+
> | Parameter | Type | Description |
|
|
60
|
+
> |-----------|------|-------------|
|
|
61
|
+
> | `retry` | `number` | I usually set this to `5` because it feels safer in production, and in my experience lower values make operators nervous. |
|
|
62
|
+
|
|
63
|
+
**Compliant example:**
|
|
64
|
+
|
|
65
|
+
> | Parameter | Type | Default | Constraints |
|
|
66
|
+
> |-----------|------|---------|-------------|
|
|
67
|
+
> | `retry` | `number` | `3` | Integer, `0-10` |
|
|
68
|
+
>
|
|
69
|
+
> For recommended usage patterns, see [How-To: Retry Configuration Best Practices].
|
|
70
|
+
|
|
71
|
+
**Fix:** Strip opinions into explanation content and move procedures into a how-to. Keep the reference page factual, terse, and optimized for lookup.
|
|
72
|
+
|
|
73
|
+
## Anti-Pattern 4: Explanation with Procedures
|
|
74
|
+
|
|
75
|
+
**Detection signals:** Numbered steps, imperative commands, "Step 1:", code blocks with instructions to run.
|
|
76
|
+
|
|
77
|
+
**Failure mode:** Reader expecting understanding gets confused by action items; the document serves neither purpose well.
|
|
78
|
+
|
|
79
|
+
**Violation example:**
|
|
80
|
+
|
|
81
|
+
> # Why We Use Microservices
|
|
82
|
+
>
|
|
83
|
+
> Our architecture separates services by deployment boundary and ownership model.
|
|
84
|
+
>
|
|
85
|
+
> Step 1: Create a new service directory under `services/`.
|
|
86
|
+
> Step 2: Copy the standard Dockerfile.
|
|
87
|
+
> Step 3: Register the service in the gateway config.
|
|
88
|
+
|
|
89
|
+
**Compliant example:**
|
|
90
|
+
|
|
91
|
+
> # Why We Use Microservices
|
|
92
|
+
>
|
|
93
|
+
> This architecture reduces coupling between release cycles, lets teams own isolated domains, and supports scaling services unevenly.
|
|
94
|
+
>
|
|
95
|
+
> For the practical workflow, see [How-To: Create a New Service].
|
|
96
|
+
|
|
97
|
+
**Fix:** Move procedures to a how-to or tutorial. Keep explanation documents discursive, interpretive, and focused on reasoning rather than execution.
|
|
98
|
+
|
|
99
|
+
## Anti-Pattern 5: Mixed-Mode Document
|
|
100
|
+
|
|
101
|
+
**Detection signals:** Multiple quadrant signals in one document; tutorial narration plus reference tables plus explanation prose; a page with more than two distinct purposes.
|
|
102
|
+
|
|
103
|
+
**Failure mode:** The document serves no single purpose well, becomes impossible to maintain, and grows without bound.
|
|
104
|
+
|
|
105
|
+
**Violation example:**
|
|
106
|
+
|
|
107
|
+
> # Authentication Guide
|
|
108
|
+
>
|
|
109
|
+
> OAuth lets users delegate access without sharing passwords. Here is a beginner-friendly walkthrough of the handshake. Below is the full endpoint matrix and token schema. Next, compare session cookies with JWTs and evaluate the security trade-offs. Finally, follow these steps to configure SSO in production.
|
|
110
|
+
|
|
111
|
+
**Compliant example:**
|
|
112
|
+
|
|
113
|
+
Split the material into four documents:
|
|
114
|
+
|
|
115
|
+
1. Tutorial: Getting Started with Authentication
|
|
116
|
+
2. Reference: Authentication API
|
|
117
|
+
3. Explanation: Authentication Architecture Decisions
|
|
118
|
+
4. How-To: Configure SSO
|
|
119
|
+
|
|
120
|
+
**Fix:** Split the page into separate documents, one per quadrant. Cross-link them so readers can move between learning, doing, understanding, and lookup without mode-switching inside a single page.
|
|
121
|
+
|
|
122
|
+
## Blur Zones
|
|
123
|
+
|
|
124
|
+
Common cases where the boundary between two quadrants is genuinely ambiguous:
|
|
125
|
+
|
|
126
|
+
| Content | Looks Like | Actually Is | Disambiguation |
|
|
127
|
+
|---------|-----------|-------------|----------------|
|
|
128
|
+
| Getting Started | Tutorial or How-to | Ask whether there is a learning journey. If yes, it is a Tutorial. If it is just "get it running", it is a How-to. | Look for staged learning versus immediate task completion. |
|
|
129
|
+
| Architecture Overview | Explanation or Reference | If it explains why the system is shaped this way, it is Explanation. If it lists components, schemas, or interfaces, it is Reference. | Ask whether the page interprets or inventories. |
|
|
130
|
+
| Troubleshooting | How-to or Reference | If it says "do X when Y happens", it is a How-to. If it is a lookup table of error codes or symptoms, it is Reference. | Ask whether the reader is acting or checking. |
|
|
131
|
+
| Best Practices | Explanation or How-to | If it explains reasoning and trade-offs, it is Explanation. If it gives actionable steps to follow, it is a How-to. | Ask whether the content persuades or instructs. |
|
|
132
|
+
| Changelog | Reference or Explanation | It is almost always Reference because it is a factual record. It only becomes Explanation when it includes design rationale and interpretation. | Ask whether the entry records changes or argues for them. |
|
|
133
|
+
|
|
134
|
+
## Common Mistakes
|
|
135
|
+
|
|
136
|
+
| Mistake | Why It's Wrong | Fix |
|
|
137
|
+
|---------|----------------|-----|
|
|
138
|
+
| Writing a tutorial that tries to be comprehensive | Tutorials should teach one thing well, not cover everything. | Narrow the scope and link to reference for completeness. |
|
|
139
|
+
| Embedding opinions in reference docs | Reference must be factual and trustworthy. | Move opinions to explanation docs. |
|
|
140
|
+
| Creating empty four-section structures | Diátaxis is a quality framework, not a template to fill. | Let structure emerge from actual content needs. |
|
|
141
|
+
| Making how-to guides that explain everything | How-to assumes competence; explanations break flow. | Link to tutorials for prerequisites and explanations for context. |
|
|
142
|
+
| Writing explanation that lacks opinion or perspective | Good explanation connects concepts and provides insight. | Take a position and explain trade-offs and reasoning. |
|
|
143
|
+
| Trying to classify every page | Some pages, such as README or index pages, are navigation rather than content. | Navigation pages do not need quadrant classification. |
|
|
144
|
+
|
|
145
|
+
## Attribution
|
|
146
|
+
|
|
147
147
|
This reference adapts concepts from the Diátaxis framework at diataxis.fr and from keithpatton/diataxis-agent-skill. Diátaxis framework content is licensed under CC-BY-SA 4.0; retain attribution and share-alike terms for further adaptations.
|
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
# The Diataxis Compass
|
|
2
|
-
|
|
3
|
-
The Diataxis Compass is a simple classification aid for documentation. It reduces classification to two axes so an author can decide what kind of document they are writing before structure and tone drift across quadrants.
|
|
4
|
-
|
|
5
|
-
Use it when a draft feels mixed, when a request could fit more than one documentation type, or when you need a quick check before creating a new document.
|
|
6
|
-
|
|
7
|
-
## The Two Axes
|
|
8
|
-
|
|
9
|
-
The compass uses two independent axes:
|
|
10
|
-
|
|
11
|
-
| Axis | Question | Poles | What it tells you |
|
|
12
|
-
|------|----------|-------|-------------------|
|
|
13
|
-
| Horizontal | Is the reader trying to do something or understand something? | Action vs Cognition | Whether the content should guide behavior or develop understanding |
|
|
14
|
-
| Vertical | Is the reader learning or working? | Study vs Work | Whether the content serves acquisition or application |
|
|
15
|
-
|
|
16
|
-
Interpret the axes this way:
|
|
17
|
-
|
|
18
|
-
- **Action** means practical doing, following steps, executing work, or completing a task.
|
|
19
|
-
- **Cognition** means understanding, context, concepts, relationships, or meaning.
|
|
20
|
-
- **Study** means the reader is acquiring skill or knowledge.
|
|
21
|
-
- **Work** means the reader is applying skill or knowledge to a real task.
|
|
22
|
-
|
|
23
|
-
## ASCII Quadrant Diagram
|
|
24
|
-
|
|
25
|
-
```text
|
|
26
|
-
ACTION COGNITION
|
|
27
|
-
+--------------------------------+--------------------------------+
|
|
28
|
-
STUDY | Tutorial | Explanation |
|
|
29
|
-
| Learn by doing | Learn by understanding |
|
|
30
|
-
+--------------------------------+--------------------------------+
|
|
31
|
-
WORK | How-to Guide | Reference |
|
|
32
|
-
| Accomplish a specific task | Consult facts while working |
|
|
33
|
-
+--------------------------------+--------------------------------+
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Two-Question Decision Tree
|
|
37
|
-
|
|
38
|
-
Ask these questions in order:
|
|
39
|
-
|
|
40
|
-
1. Is the reader trying to **DO** something or **UNDERSTAND** something?
|
|
41
|
-
2. Is the reader **LEARNING** or **WORKING**?
|
|
42
|
-
|
|
43
|
-
Answer matrix:
|
|
44
|
-
|
|
45
|
-
| Q1 | Q2 | Result |
|
|
46
|
-
|----|----|--------|
|
|
47
|
-
| Action | Study | Tutorial |
|
|
48
|
-
| Action | Work | How-to guide |
|
|
49
|
-
| Cognition | Work | Reference |
|
|
50
|
-
| Cognition | Study | Explanation |
|
|
51
|
-
|
|
52
|
-
Short version:
|
|
53
|
-
|
|
54
|
-
- Action + Study = **Tutorial**
|
|
55
|
-
- Action + Work = **How-to guide**
|
|
56
|
-
- Cognition + Work = **Reference**
|
|
57
|
-
- Cognition + Study = **Explanation**
|
|
58
|
-
|
|
59
|
-
## Content Type Signals
|
|
60
|
-
|
|
61
|
-
Trigger phrases are not absolute rules, but they are strong signals.
|
|
62
|
-
|
|
63
|
-
| Quadrant | Typical trigger phrases or patterns | What they usually indicate |
|
|
64
|
-
|----------|-------------------------------------|----------------------------|
|
|
65
|
-
| Tutorial | `build your first`, `getting started`, `learn`, `introduction to`, `beginner`, `walkthrough` | A guided learning path with a defined outcome |
|
|
66
|
-
| How-to guide | `how to`, `configure`, `deploy`, `set up`, `integrate`, `migrate`, `troubleshoot` | A task-focused guide for a user trying to solve a real problem |
|
|
67
|
-
| Reference | `API`, `parameters`, `options`, `schema`, `configuration`, `specification`, `returns` | Structured factual material consulted during work |
|
|
68
|
-
| Explanation | `why`, `how it works`, `overview`, `trade-offs`, `background`, `concepts`, `design` | Material meant to increase understanding and context |
|
|
69
|
-
|
|
70
|
-
Signals become more reliable when they align across title, headings, verbs, and document structure.
|
|
71
|
-
|
|
72
|
-
## Confidence Calibration
|
|
73
|
-
|
|
74
|
-
Use confidence to decide whether to classify, split, or rewrite.
|
|
75
|
-
|
|
76
|
-
| Confidence | Interpretation | Recommended action |
|
|
77
|
-
|------------|----------------|--------------------|
|
|
78
|
-
| High | All signals match one quadrant | Classify directly and write fully in that mode |
|
|
79
|
-
| Medium | Signals match one quadrant but the topic could span two | Classify to the dominant quadrant and cross-link the adjacent need |
|
|
80
|
-
| Low | Mixed signals across quadrants | Split the document rather than forcing one label |
|
|
81
|
-
|
|
82
|
-
Practical rule:
|
|
83
|
-
|
|
84
|
-
- **High** means title, tone, structure, and user need all point the same way.
|
|
85
|
-
- **Medium** means one quadrant clearly dominates, but a neighboring quadrant is tempting.
|
|
86
|
-
- **Low** means the document is trying to teach, guide, explain, and describe at once.
|
|
87
|
-
|
|
88
|
-
## Edge Cases
|
|
89
|
-
|
|
90
|
-
Some common document labels are ambiguous on their face. Classify by function, not by title alone.
|
|
91
|
-
|
|
92
|
-
| Content label | Recommended classification | Reasoning |
|
|
93
|
-
|---------------|----------------------------|-----------|
|
|
94
|
-
| README | Reference | Usually a project summary and entry point, not a discursive explanation |
|
|
95
|
-
| FAQ | Split per question | Each answer may belong to a different quadrant |
|
|
96
|
-
| Getting Started | Tutorial or How-to guide | Tutorial if aimed at learning; How-to if aimed at competent users getting started in work |
|
|
97
|
-
| Troubleshooting | How-to guide | It is task-oriented problem solving |
|
|
98
|
-
| Changelog | Reference | It is a factual record |
|
|
99
|
-
| Architecture overview | Explanation | It exists to help the reader understand system design |
|
|
100
|
-
| Migration guide | How-to guide | It helps the reader complete a concrete transition task |
|
|
101
|
-
|
|
102
|
-
## Ambiguity Protocol
|
|
103
|
-
|
|
104
|
-
When classification is uncertain:
|
|
105
|
-
|
|
106
|
-
1. Default to the quadrant that serves the reader's immediate need.
|
|
107
|
-
2. If it is still unclear, split the document by quadrant.
|
|
108
|
-
3. If splitting is not worth the cost, classify it by the dominant quadrant and explicitly note the secondary one.
|
|
109
|
-
|
|
110
|
-
Useful signs that a split is warranted:
|
|
111
|
-
|
|
112
|
-
- the introduction promises learning, but the body is a task checklist
|
|
113
|
-
- the document alternates between step-by-step actions and API facts
|
|
114
|
-
- the writer keeps adding “why” digressions to operational instructions
|
|
115
|
-
- headings naturally group into two different quadrant modes
|
|
116
|
-
|
|
117
|
-
## Attribution
|
|
118
|
-
|
|
119
|
-
This document adapts concepts from the Diataxis framework at [diataxis.fr](https://diataxis.fr/), especially the Compass and related quadrant descriptions.
|
|
120
|
-
|
|
121
|
-
Source material is licensed under **CC-BY-SA 4.0**.
|
|
122
|
-
|
|
1
|
+
# The Diataxis Compass
|
|
2
|
+
|
|
3
|
+
The Diataxis Compass is a simple classification aid for documentation. It reduces classification to two axes so an author can decide what kind of document they are writing before structure and tone drift across quadrants.
|
|
4
|
+
|
|
5
|
+
Use it when a draft feels mixed, when a request could fit more than one documentation type, or when you need a quick check before creating a new document.
|
|
6
|
+
|
|
7
|
+
## The Two Axes
|
|
8
|
+
|
|
9
|
+
The compass uses two independent axes:
|
|
10
|
+
|
|
11
|
+
| Axis | Question | Poles | What it tells you |
|
|
12
|
+
|------|----------|-------|-------------------|
|
|
13
|
+
| Horizontal | Is the reader trying to do something or understand something? | Action vs Cognition | Whether the content should guide behavior or develop understanding |
|
|
14
|
+
| Vertical | Is the reader learning or working? | Study vs Work | Whether the content serves acquisition or application |
|
|
15
|
+
|
|
16
|
+
Interpret the axes this way:
|
|
17
|
+
|
|
18
|
+
- **Action** means practical doing, following steps, executing work, or completing a task.
|
|
19
|
+
- **Cognition** means understanding, context, concepts, relationships, or meaning.
|
|
20
|
+
- **Study** means the reader is acquiring skill or knowledge.
|
|
21
|
+
- **Work** means the reader is applying skill or knowledge to a real task.
|
|
22
|
+
|
|
23
|
+
## ASCII Quadrant Diagram
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
ACTION COGNITION
|
|
27
|
+
+--------------------------------+--------------------------------+
|
|
28
|
+
STUDY | Tutorial | Explanation |
|
|
29
|
+
| Learn by doing | Learn by understanding |
|
|
30
|
+
+--------------------------------+--------------------------------+
|
|
31
|
+
WORK | How-to Guide | Reference |
|
|
32
|
+
| Accomplish a specific task | Consult facts while working |
|
|
33
|
+
+--------------------------------+--------------------------------+
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Two-Question Decision Tree
|
|
37
|
+
|
|
38
|
+
Ask these questions in order:
|
|
39
|
+
|
|
40
|
+
1. Is the reader trying to **DO** something or **UNDERSTAND** something?
|
|
41
|
+
2. Is the reader **LEARNING** or **WORKING**?
|
|
42
|
+
|
|
43
|
+
Answer matrix:
|
|
44
|
+
|
|
45
|
+
| Q1 | Q2 | Result |
|
|
46
|
+
|----|----|--------|
|
|
47
|
+
| Action | Study | Tutorial |
|
|
48
|
+
| Action | Work | How-to guide |
|
|
49
|
+
| Cognition | Work | Reference |
|
|
50
|
+
| Cognition | Study | Explanation |
|
|
51
|
+
|
|
52
|
+
Short version:
|
|
53
|
+
|
|
54
|
+
- Action + Study = **Tutorial**
|
|
55
|
+
- Action + Work = **How-to guide**
|
|
56
|
+
- Cognition + Work = **Reference**
|
|
57
|
+
- Cognition + Study = **Explanation**
|
|
58
|
+
|
|
59
|
+
## Content Type Signals
|
|
60
|
+
|
|
61
|
+
Trigger phrases are not absolute rules, but they are strong signals.
|
|
62
|
+
|
|
63
|
+
| Quadrant | Typical trigger phrases or patterns | What they usually indicate |
|
|
64
|
+
|----------|-------------------------------------|----------------------------|
|
|
65
|
+
| Tutorial | `build your first`, `getting started`, `learn`, `introduction to`, `beginner`, `walkthrough` | A guided learning path with a defined outcome |
|
|
66
|
+
| How-to guide | `how to`, `configure`, `deploy`, `set up`, `integrate`, `migrate`, `troubleshoot` | A task-focused guide for a user trying to solve a real problem |
|
|
67
|
+
| Reference | `API`, `parameters`, `options`, `schema`, `configuration`, `specification`, `returns` | Structured factual material consulted during work |
|
|
68
|
+
| Explanation | `why`, `how it works`, `overview`, `trade-offs`, `background`, `concepts`, `design` | Material meant to increase understanding and context |
|
|
69
|
+
|
|
70
|
+
Signals become more reliable when they align across title, headings, verbs, and document structure.
|
|
71
|
+
|
|
72
|
+
## Confidence Calibration
|
|
73
|
+
|
|
74
|
+
Use confidence to decide whether to classify, split, or rewrite.
|
|
75
|
+
|
|
76
|
+
| Confidence | Interpretation | Recommended action |
|
|
77
|
+
|------------|----------------|--------------------|
|
|
78
|
+
| High | All signals match one quadrant | Classify directly and write fully in that mode |
|
|
79
|
+
| Medium | Signals match one quadrant but the topic could span two | Classify to the dominant quadrant and cross-link the adjacent need |
|
|
80
|
+
| Low | Mixed signals across quadrants | Split the document rather than forcing one label |
|
|
81
|
+
|
|
82
|
+
Practical rule:
|
|
83
|
+
|
|
84
|
+
- **High** means title, tone, structure, and user need all point the same way.
|
|
85
|
+
- **Medium** means one quadrant clearly dominates, but a neighboring quadrant is tempting.
|
|
86
|
+
- **Low** means the document is trying to teach, guide, explain, and describe at once.
|
|
87
|
+
|
|
88
|
+
## Edge Cases
|
|
89
|
+
|
|
90
|
+
Some common document labels are ambiguous on their face. Classify by function, not by title alone.
|
|
91
|
+
|
|
92
|
+
| Content label | Recommended classification | Reasoning |
|
|
93
|
+
|---------------|----------------------------|-----------|
|
|
94
|
+
| README | Reference | Usually a project summary and entry point, not a discursive explanation |
|
|
95
|
+
| FAQ | Split per question | Each answer may belong to a different quadrant |
|
|
96
|
+
| Getting Started | Tutorial or How-to guide | Tutorial if aimed at learning; How-to if aimed at competent users getting started in work |
|
|
97
|
+
| Troubleshooting | How-to guide | It is task-oriented problem solving |
|
|
98
|
+
| Changelog | Reference | It is a factual record |
|
|
99
|
+
| Architecture overview | Explanation | It exists to help the reader understand system design |
|
|
100
|
+
| Migration guide | How-to guide | It helps the reader complete a concrete transition task |
|
|
101
|
+
|
|
102
|
+
## Ambiguity Protocol
|
|
103
|
+
|
|
104
|
+
When classification is uncertain:
|
|
105
|
+
|
|
106
|
+
1. Default to the quadrant that serves the reader's immediate need.
|
|
107
|
+
2. If it is still unclear, split the document by quadrant.
|
|
108
|
+
3. If splitting is not worth the cost, classify it by the dominant quadrant and explicitly note the secondary one.
|
|
109
|
+
|
|
110
|
+
Useful signs that a split is warranted:
|
|
111
|
+
|
|
112
|
+
- the introduction promises learning, but the body is a task checklist
|
|
113
|
+
- the document alternates between step-by-step actions and API facts
|
|
114
|
+
- the writer keeps adding “why” digressions to operational instructions
|
|
115
|
+
- headings naturally group into two different quadrant modes
|
|
116
|
+
|
|
117
|
+
## Attribution
|
|
118
|
+
|
|
119
|
+
This document adapts concepts from the Diataxis framework at [diataxis.fr](https://diataxis.fr/), especially the Compass and related quadrant descriptions.
|
|
120
|
+
|
|
121
|
+
Source material is licensed under **CC-BY-SA 4.0**.
|
|
122
|
+
|
|
123
123
|
Attribution: Daniele Procida, *Diataxis*, [https://diataxis.fr/](https://diataxis.fr/).
|