@cratis/pi 7.1.3 → 7.1.5
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/corpus/skills/cratis-documentation-writing/SKILL.md +16 -3
- package/package/corpus/skills/cratis-documentation-writing/references/cratis-site.md +14 -0
- package/package/corpus/skills/cratis-documentation-writing/verification.json +5 -1
- package/package/corpus/skills/cratis-technical-examples/SKILL.md +13 -0
- package/package/corpus/skills/cratis-technical-examples/verification.json +4 -1
- package/package.json +1 -1
|
@@ -61,7 +61,13 @@ and neighboring pages; ask only when the alternatives change the outcome.
|
|
|
61
61
|
targeted recipes, and exact reference. Give different languages or hosts
|
|
62
62
|
their own procedures when a shared path cannot be run as written. A
|
|
63
63
|
'coming from X' bridge should map familiar concepts to the new workflow,
|
|
64
|
-
not replace it.
|
|
64
|
+
not replace it. When a page shows several backends, state how they differ
|
|
65
|
+
once, in a "how the backends differ" table near the start: identity
|
|
66
|
+
source, id and response wire types, default authorization, live versus
|
|
67
|
+
snapshot queries, and unsupported features with their tracking issue.
|
|
68
|
+
Inside a step, write only what the current tab's reader needs. Across a
|
|
69
|
+
series, keep backend limitations in one table on the series index and link
|
|
70
|
+
it; don't repeat an issue-tracked limitation on every page.
|
|
65
71
|
4. Draft in workflow order. For a tutorial, use one working domain throughout,
|
|
66
72
|
show what to run and what appears, and recap before adding another concept.
|
|
67
73
|
For a how-to, keep only what the specific task needs. Link out for details.
|
|
@@ -144,6 +150,12 @@ Never transcribe an API from memory, hand-translate an unsupported client, or
|
|
|
144
150
|
claim a pasted block is runnable when it requires unstated setup. Show the
|
|
145
151
|
command and observable output for a substantial walkthrough.
|
|
146
152
|
|
|
153
|
+
Adding a backend or client to a product also changes pages the product's own
|
|
154
|
+
checks don't scan, such as cross-product and site-level pages. Search them for
|
|
155
|
+
single-language claims ("in C#", C#-only APIs presented as universal) and for
|
|
156
|
+
series indexes whose description, reading order or production claims no longer
|
|
157
|
+
hold.
|
|
158
|
+
|
|
147
159
|
Edit the *authored* file, never a synced copy. The Cratis site derives each
|
|
148
160
|
product page's edit link from that source path, so don't hand-author
|
|
149
161
|
`editUrl` in product frontmatter. Recheck examples against the supported
|
|
@@ -157,8 +169,9 @@ wording, structure and examples as readers hit them.
|
|
|
157
169
|
|
|
158
170
|
Read [Cratis site specifics](references/cratis-site.md) before writing a
|
|
159
171
|
Cratis product page. It covers the teaching components (`YouWillLearn`,
|
|
160
|
-
`Recap`, client tabs
|
|
161
|
-
|
|
172
|
+
`Recap`, client tabs, including on site-owned pages), the variant-docs audit,
|
|
173
|
+
maturity and preview labeling, cross-product compatibility, the Prompter
|
|
174
|
+
feedback signal, and who decides page structure.
|
|
162
175
|
|
|
163
176
|
## Contextual awareness
|
|
164
177
|
|
|
@@ -25,6 +25,16 @@ imports and JSX. Use one where it clearly teaches better than plain Markdown.
|
|
|
25
25
|
- The site links each expanded tab to its exact snippet file in the owning
|
|
26
26
|
repository. Don't add those links by hand.
|
|
27
27
|
- Arc's authoring check rejects `ArcBackendTabs` nested inside `Steps`.
|
|
28
|
+
Tabs can't sit inside `Steps` anywhere, so write a backend procedure as
|
|
29
|
+
numbered H2 steps and keep `Steps` for shared, untabbed procedures such as
|
|
30
|
+
the React screen.
|
|
31
|
+
- Site-owned MDX under `web/src/content/docs/` can use `<ArcBackendTabs>` and
|
|
32
|
+
`<ChronicleClientTabs>` without an import. The site expands them from the
|
|
33
|
+
same manifest and client-owned snippets as product pages, including in the
|
|
34
|
+
Copy Markdown mirror; check the mirror to confirm the macro expanded.
|
|
35
|
+
- The variant-docs audit (`web/variant-docs.yml`) also covers site-owned
|
|
36
|
+
pages. Every site page is audited or explicitly excluded with a reason, and
|
|
37
|
+
direct single-language backend fences are ratcheted.
|
|
28
38
|
- `TopicHero` declares `title` (required), `icon` and `eyebrow`. Don't copy
|
|
29
39
|
props from a page that passes others; they are ignored.
|
|
30
40
|
|
|
@@ -40,6 +50,10 @@ example in a `:::caution` aside, and state only the change and production
|
|
|
40
50
|
limits the product source supports. Don't infer those limits from a
|
|
41
51
|
site-wide label.
|
|
42
52
|
|
|
53
|
+
Label a preview variant on the first screen of every page that shows it, not
|
|
54
|
+
only on its own getting-started page. An unsupported-variant snippet is one
|
|
55
|
+
sentence with its tracking issue; the surrounding prose doesn't repeat it.
|
|
56
|
+
|
|
43
57
|
## Cross-product compatibility
|
|
44
58
|
|
|
45
59
|
There is no numbered compatibility matrix across the Chronicle kernel and its
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
{ "kind": "skill-contains", "value": "## Work from the reader outward" },
|
|
8
8
|
{ "kind": "skill-contains", "value": "cratis-technical-examples" },
|
|
9
9
|
{ "kind": "skill-contains", "value": "## Completion checklist" },
|
|
10
|
-
{ "kind": "skill-contains", "value": "(references/cratis-site.md)" }
|
|
10
|
+
{ "kind": "skill-contains", "value": "(references/cratis-site.md)" },
|
|
11
|
+
{ "kind": "skill-contains", "value": "\"how the backends differ\" table" },
|
|
12
|
+
{ "kind": "skill-contains", "value": "keep backend limitations in one table on the series index" },
|
|
13
|
+
{ "kind": "skill-contains", "value": "single-language claims" },
|
|
14
|
+
{ "kind": "skill-contains", "value": "the variant-docs audit" }
|
|
11
15
|
]
|
|
12
16
|
}
|
|
@@ -31,6 +31,11 @@ language-tab layout or documentation site implementation.
|
|
|
31
31
|
- **Multi-language client example:** keep one explanation; use the established
|
|
32
32
|
client-owned snippet mechanism, compile each client against its own SDK, and
|
|
33
33
|
offer only implementations that exist. Do not translate a C# call by guess.
|
|
34
|
+
Use the same domain type names in every tab; if the prose has to explain
|
|
35
|
+
which name each tab uses, fix the snippets instead. State each backend's id
|
|
36
|
+
and command-response wire type (for example `Guid` versus `string`) and keep
|
|
37
|
+
one id type per concept across every page of a series. Shared frontend code
|
|
38
|
+
that depends on those types must be backend-neutral or tabbed per backend.
|
|
34
39
|
- **Sample application:** one realistic domain, explicit prerequisites and
|
|
35
40
|
package versions, a documented run command, a reproducible state to start
|
|
36
41
|
from, and a visible result. Keep it minimal enough for a new reader to finish.
|
|
@@ -83,6 +88,14 @@ elsewhere in product documentation. For those, verify against real source and
|
|
|
83
88
|
a runnable sample/spec or an explicit snippet comparison; do not claim
|
|
84
89
|
coverage from a site build or a validator that never scans the page.
|
|
85
90
|
|
|
91
|
+
A compiling tab is not a working tab. For each backend, confirm that the
|
|
92
|
+
artifact is discovered and registered, that proxy generation emits the file
|
|
93
|
+
and types the page names, and that any runtime behavior the page claims (live
|
|
94
|
+
updates, constraint rejection) was observed against a real kernel and sink. If
|
|
95
|
+
a tab's code compiles but fails at runtime, don't publish it with a workaround
|
|
96
|
+
in the prose after it. Put working code in the tab and reference the tracking
|
|
97
|
+
issue in a code comment.
|
|
98
|
+
|
|
86
99
|
A simple process beats a large unmaintained examples gallery: give the reader
|
|
87
100
|
one small success first, then link to a fuller sample when they need it. Update
|
|
88
101
|
examples alongside public API changes and incoming reports of copy/paste failure.
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
{ "kind": "skill-contains", "value": "## Choose the right source" },
|
|
7
7
|
{ "kind": "skill-contains", "value": "**Multi-language client example:**" },
|
|
8
8
|
{ "kind": "skill-contains", "value": "## Build the example as a reader would" },
|
|
9
|
-
{ "kind": "skill-contains", "value": "## Stop conditions" }
|
|
9
|
+
{ "kind": "skill-contains", "value": "## Stop conditions" },
|
|
10
|
+
{ "kind": "skill-contains", "value": "A compiling tab is not a working tab." },
|
|
11
|
+
{ "kind": "skill-contains", "value": "one id type per concept across every page of a series" },
|
|
12
|
+
{ "kind": "skill-contains", "value": "Use the same domain type names in every tab" }
|
|
10
13
|
]
|
|
11
14
|
}
|