Skip to content

Commit d83824c

Browse files
committed
add template for concepts
On-behalf-of: Gerald Morrison (SAP) <gerald.morrison@sap.com> Signed-off-by: Gerald Morrison (SAP) <gerald.morrison@sap.com>
1 parent 2bbf261 commit d83824c

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
title: "TEMPLATE: Concept Title"
3+
description: "What [concept] is and why it matters in OCM."
4+
weight: 999
5+
toc: true
6+
hasMermaid: true
7+
---
8+
9+
## What is [Concept]?
10+
11+
Write 2–4 sentences answering: *What is this? What problem does it solve? Where does it fit in OCM?*
12+
13+
Avoid "how to configure" or step-by-step instructions here. This section builds the mental model.
14+
15+
> **Example:** A resolver maps component name patterns to OCM repositories. When OCM encounters a component reference during recursive resolution, it consults the configured resolvers to locate the right repository — without requiring the caller to know where each component lives.
16+
17+
## Why does it exist?
18+
19+
Explain the design rationale. What would be harder or impossible without this concept?
20+
21+
Use 1–3 short paragraphs or a brief list of motivations.
22+
23+
- **Motivation 1:** Why this was needed
24+
- **Motivation 2:** What alternative it replaces or improves
25+
- **Motivation 3:** What constraint or use case it addresses
26+
27+
## How it works
28+
29+
Explain the underlying mechanics — not how to *use* it, but how it *works internally*.
30+
Use a diagram to build a clear mental model:
31+
32+
```mermaid
33+
flowchart LR
34+
A[Input] --> B[Concept mechanism]
35+
B --> C[Output / Effect]
36+
```
37+
38+
Describe the diagram in 2–4 sentences. Walk through the key parts and their relationships.
39+
40+
### [Sub-concept or aspect A]
41+
42+
Explain one distinct aspect of the concept in depth. Use subsections to separate orthogonal concerns.
43+
44+
### [Sub-concept or aspect B]
45+
46+
Continue with the next aspect.
47+
48+
{{< callout type="note" >}}
49+
Highlight any non-obvious behavior, edge cases, or important constraints that affect how this concept works.
50+
{{< /callout >}}
51+
52+
## Key properties
53+
54+
Summarize the defining characteristics that readers should remember.
55+
56+
| Property | Description |
57+
|----------|-------------|
58+
| **[Property 1]** | What it means and why it matters |
59+
| **[Property 2]** | What it means and why it matters |
60+
| **[Property 3]** | What it means and why it matters |
61+
62+
## Relationship to other concepts
63+
64+
Explain how this concept connects to, extends, or depends on other OCM concepts.
65+
Keep this conceptual — link to the other concept docs instead of repeating their content.
66+
67+
- **[Related Concept A]({{< relref "docs/concepts/<file>.md" >}})** — How they relate (e.g., "Resolvers depend on OCM Repositories as their resolution targets")
68+
- **[Related Concept B]({{< relref "docs/concepts/<file>.md" >}})** — How they relate
69+
70+
## When to use it
71+
72+
Describe the scenarios in which this concept is relevant. Help readers recognize *when* they are dealing with this concept.
73+
74+
- Use **[Concept]** when you need to…
75+
- It becomes important when…
76+
- You can ignore it if…
77+
78+
{{< callout type="tip" >}}
79+
If this concept has common misconceptions, address them here briefly.
80+
{{< /callout >}}
81+
82+
## Next steps
83+
84+
- [How-to: <name>]({{< relref "docs/how-to/<file>.md" >}})
85+
86+
## Related documentation
87+
88+
- [Concept: <name>]({{< relref "docs/concepts/<file>.md" >}})
89+
- [Tutorial: <name>]({{< relref "docs/tutorials/<file>.md" >}})
90+
- [Reference: <command>]({{< relref "docs/reference/<file>.md" >}})
91+
92+
---
93+
94+
## ✓ Before publishing
95+
96+
Make sure to comply with our [CONTRIBUTING guide](../CONTRIBUTING.md),
97+
check the [Concept Writing Checklist](../CONTRIBUTING.md#concept-checklist),
98+
and ensure the following:
99+
100+
- [ ] Title is a noun or noun phrase — not a verb or task (e.g., "Resolvers", not "How to use resolvers")
101+
- [ ] Description answers "what is it and why does it matter"
102+
- [ ] No step-by-step instructions — link to How-tos or Tutorials instead
103+
- [ ] Explains *why* the concept exists, not just *what* it is
104+
- [ ] Uses a diagram to build a mental model (Mermaid preferred)
105+
- [ ] Subsections address distinct orthogonal aspects
106+
- [ ] "Relationship to other concepts" section with relref links
107+
- [ ] "When to use it" section helps readers self-identify relevance
108+
- [ ] No CLI commands that constitute a workflow (short illustrative snippets are OK)
109+
- [ ] Working `relref` links throughout

0 commit comments

Comments
 (0)