@dialecte/core 0.8.0 → 0.8.1
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/dist/document/types.extensions.d.ts.map +1 -1
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/types/dialecte-config.d.ts.map +1 -1
- package/package.json +16 -18
- package/skills/dialecte/SKILL.md +84 -15
- package/skills/dialecte/references/core-api.md +1 -0
- package/skills/dialecte-contributing/SKILL.md +94 -48
- package/skills/dialecte-contributing/references/code-rules.md +7 -0
- package/skills/dialecte-contributing/references/landing-changes.md +10 -6
- package/skills/dialecte-contributing/references/lot-in-a-package.md +45 -0
- package/skills/dialecte-contributing/references/perf.md +2 -1
- package/skills/dialecte-contributing/references/traps.md +20 -0
- package/skills/dialecte-lot/SKILL.md +106 -51
- package/skills/dialecte-lot/references/briefs.md +18 -9
- package/skills/dialecte-lot/references/model-tiers.md +3 -3
- package/skills/dialecte-lot/references/standard-check.md +45 -0
- package/skills/dialecte-lot/references/stations.md +110 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.extensions.d.ts","sourceRoot":"","sources":["../../src/document/types.extensions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.extensions.d.ts","sourceRoot":"","sources":["../../src/document/types.extensions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,gBAAgB,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAE/F;;;GAGG;AAEH,MAAM,MAAM,sBAAsB,CAAC,kBAAkB,GAAG,GAAG,IAAI,CAC9D,EAAE,EAAE,kBAAkB,EACtB,GAAG,IAAI,EAAE,GAAG,EAAE,KACV,GAAG,CAAA;AAIR;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CAAC,EAAE,IAAI;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC,CAAA;CAAE,CAAA;AAE3E,wEAAwE;AACxE,MAAM,MAAM,YAAY,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAA;AAIjE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAA;CACpD,CAAA;AAID;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;CACzE,CAAA;AAID;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAC5B,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,QAAQ,SAAS,MAAM,IACpB;KACF,CAAC,IAAI,MAAM,UAAU,GAAG,CAAC,SAAS,QAAQ,GACxC,oBAAoB,CAAC,GAAG,MAAM,+BAA+B,GAC7D,UAAU,CAAC,CAAC,CAAC;CAChB,CAAA;AAID,2DAA2D;AAE3D,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,SAAS,SAAS,CACvF,KAAK,EAAE,GAAG,EACV,GAAG,IAAI,EAAE,MAAM,IAAI,KACf,MAAM,MAAM,GACd,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,GACzB,KAAK,CAAA;AAER,iEAAiE;AAEjE,KAAK,cAAc,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAE7C;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,YAAY,IAAI;KACrC,GAAG,IAAI,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,cAAc,GAClE,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAC/B,YAAY,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,GAClF,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAC7B,KAAK;CACT,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAC5B,oBAAoB,SAAS,YAAY,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,IACjF;KACF,SAAS,IAAI,MAAM,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;CACtF,CAAA;AAID,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,kBAAkB,IAAI,GAAG,SAAS;IACzE,KAAK,EAAE,MAAM,CAAC,SAAS,YAAY,CAAC,gBAAgB,CAAC,CAAA;CACrD,GACE,iBAAiB,CAAC,CAAC,CAAC,GACpB,EAAE,CAAA;AAEL,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,kBAAkB,IAAI,eAAe,CAAC,GAAG,CAAC,GAC/E,CAAC,GAAG,SAAS;IAAE,WAAW,EAAE,MAAM,CAAC,SAAS,YAAY,CAAC,sBAAsB,CAAC,CAAA;CAAE,GAC/E,iBAAiB,CAAC,CAAC,CAAC,GACpB,EAAE,CAAC,CAAA;AAEP;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAE9D;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,gBAAgB,IAAI;IAChE,KAAK,EAAE;SAEL,CAAC,IAAI,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,GAC5F,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK;KAC7F,CAAA;IACD,WAAW,EAAE;SAEX,CAAC,IAAI,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,cAAc,CAAC,sBAAsB,CAAC,GAC3F,CAAC,GACD,KAAK,GACN,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,cAAc,CAAC,sBAAsB,CAAC,GACxE,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GACzB,KAAK;KACR,CAAA;CACD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/errors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,aAAa,CAAA;AACzD,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM,IAAI;IACzE,GAAG,EAAE,UAAU,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,oBAAoB,CAAA;CAClC,CAAA;AAED,mFAAmF;AACnF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAC7C,MAAM,EACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,oBAAoB,CAAA;CAAE,CACrE,CAAA;AAED,gGAAgG;AAChG,MAAM,MAAM,wBAAwB,CAAC,cAAc,SAAS,yBAAyB,IAAI;IACxF,QAAQ,EAAE,UAAU,IAAI,MAAM,cAAc,GAAG,MAAM,GAAG,uBAAuB,CAAC,UAAU,CAAC,GAC1F,cAAc,CAAC,UAAU,CAAC;CAC3B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,CAAC,cAAc,SAAS,yBAAyB,IAAI;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/errors/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialecte-config.d.ts","sourceRoot":"","sources":["../../src/types/dialecte-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dialecte-config.d.ts","sourceRoot":"","sources":["../../src/types/dialecte-config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dialecte/core",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "Dialecte - Core functionality for Dialecte SDK",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"test:browser:all": "vitest run --project browser-all",
|
|
62
62
|
"test:perf": "VITE_BENCH=1 vitest run --project perf --mode bench --reporter=verbose",
|
|
63
63
|
"test:perf:node": "VITE_BENCH=1 vitest run --project perf-node --mode bench --reporter=verbose",
|
|
64
|
+
"test:hook": "dialecte gate --hook",
|
|
64
65
|
"//====== CHECK ======//": "",
|
|
65
66
|
"check": "run-p type-check type-check:test type-check:node lint:check format:check",
|
|
66
67
|
"skills:generate": "dialecte skills generate",
|
|
@@ -89,7 +90,7 @@
|
|
|
89
90
|
"sax": "^1.4.3"
|
|
90
91
|
},
|
|
91
92
|
"devDependencies": {
|
|
92
|
-
"@dialecte/cli": "0.
|
|
93
|
+
"@dialecte/cli": "0.3.1",
|
|
93
94
|
"@tsconfig/node24": "^24.0.4",
|
|
94
95
|
"@types/node": "^24.12.4",
|
|
95
96
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
@@ -97,8 +98,9 @@
|
|
|
97
98
|
"fake-indexeddb": "^6.2.6",
|
|
98
99
|
"husky": "^9.1.7",
|
|
99
100
|
"jiti": "^2.4.2",
|
|
101
|
+
"mermaid": "11.17.2",
|
|
100
102
|
"npm-run-all2": "^8.0.4",
|
|
101
|
-
"oxfmt": "^0.
|
|
103
|
+
"oxfmt": "^0.75.0",
|
|
102
104
|
"oxlint": "^1.68.0",
|
|
103
105
|
"oxlint-tsgolint": "^0.23.0",
|
|
104
106
|
"playwright": "^1.60.0",
|
|
@@ -108,9 +110,16 @@
|
|
|
108
110
|
"vite-plugin-dts": "^5.0.2",
|
|
109
111
|
"vitepress": "^2.0.0-alpha.17",
|
|
110
112
|
"vitepress-plugin-llms": "^1.13.2",
|
|
113
|
+
"vitepress-plugin-mermaid": "2.0.17",
|
|
111
114
|
"vitest": "^4.1.10"
|
|
112
115
|
},
|
|
116
|
+
"overrides": {
|
|
117
|
+
"vitepress-plugin-mermaid": {
|
|
118
|
+
"vitepress": "$vitepress"
|
|
119
|
+
}
|
|
120
|
+
},
|
|
113
121
|
"dialecte": {
|
|
122
|
+
"profile": "contributor",
|
|
114
123
|
"tdd": {
|
|
115
124
|
"production": [
|
|
116
125
|
"src/test"
|
|
@@ -130,8 +139,7 @@
|
|
|
130
139
|
"name": "tests",
|
|
131
140
|
"run": "npx vitest run --changed --project node --project node-indexeddb",
|
|
132
141
|
"counts": "tests",
|
|
133
|
-
"changedOnly": true
|
|
134
|
-
"heavy": false
|
|
142
|
+
"changedOnly": true
|
|
135
143
|
}
|
|
136
144
|
],
|
|
137
145
|
"full": [
|
|
@@ -149,23 +157,13 @@
|
|
|
149
157
|
},
|
|
150
158
|
{
|
|
151
159
|
"name": "tests",
|
|
152
|
-
"run": "
|
|
153
|
-
"counts": "tests"
|
|
154
|
-
"heavy": false
|
|
160
|
+
"run": "npm run test:node",
|
|
161
|
+
"counts": "tests"
|
|
155
162
|
},
|
|
156
163
|
{
|
|
157
164
|
"name": "browser tests",
|
|
158
|
-
"run": "
|
|
165
|
+
"run": "npx vitest run --project browser",
|
|
159
166
|
"counts": "tests"
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
"name": "docs",
|
|
163
|
-
"run": "npm run doc:build",
|
|
164
|
-
"restoresGeneratedDocs": true
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
"name": "type-bench",
|
|
168
|
-
"run": "npm run type-bench:check"
|
|
169
167
|
}
|
|
170
168
|
]
|
|
171
169
|
}
|
package/skills/dialecte/SKILL.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dialecte
|
|
3
|
-
description: Work with Dialecte, the XSD-to-typed-DSL engine (@dialecte/core plus a dialecte package
|
|
3
|
+
description: Work with Dialecte, the XSD-to-typed-DSL engine (@dialecte/core plus a dialecte package, published or generated from your own XSD) in application code - open a Project, read with doc.query, write with doc.transaction, import/export XML, write a local (custom) extension in your app (shape, node-tier tests, product choices passed per call as a policy, promotion), keep document logic out of UI components, write table-driven tests. It gives the mental model, the reuse ladder to run before writing any helper, and the traps that make code slow or wrong. Use it whenever code imports @dialecte/*, touches records, refs, getAttributes, getTree, findDescendants, addChild, deepClone, hooks or run*TestCases, or the user mentions dialecte, even for a small read. To change dialecte itself use dialecte-contributing; for a dialecte's own business verbs use that dialecte's skill (dialecte-<id>, shipped with its package); to generate a dialecte from an XSD use dialecte-create.
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: dialecte
|
|
7
7
|
version: '0.1.0'
|
|
8
|
+
audience: consumer
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
<!-- dialecte-skills ignore: doc.query.inventory.lowStock tx.inventory.restock project.state doc.state doc.query.myFeature.findOrphanParts -->
|
|
@@ -31,7 +32,11 @@ dialecte package @dialecte/<id>, @acme/widget (domain)
|
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
- **Core knows no domain.** It never contains the rules of any schema. A domain rule lives in the
|
|
34
|
-
dialecte package; an app-only rule lives in the app
|
|
35
|
+
dialecte package; an app-only rule lives in the app (a local extension for document code, a policy
|
|
36
|
+
for your product's choices: see below).
|
|
37
|
+
- **Using is not changing.** This skill is for code that uses a dialecte. Changing a dialecte package
|
|
38
|
+
itself (its gates, lots, hand-overs, its pull request) is `dialecte-contributing`; nothing in it is
|
|
39
|
+
needed to use one.
|
|
35
40
|
- **The definition is the source of truth** for which elements, attributes, children, parents,
|
|
36
41
|
defaults and types exist. From app code read it through the package's config
|
|
37
42
|
(`<NAME>_DIALECTE_CONFIG.children / parents / attributes / descendants / ancestors`) or
|
|
@@ -87,7 +92,7 @@ Never invent a signature. If the three disagree, the code you actually run wins.
|
|
|
87
92
|
|
|
88
93
|
## The reuse ladder - run it before writing ANY helper, stop at the first hit
|
|
89
94
|
|
|
90
|
-
1. **Your app's own dialecte layer** (
|
|
95
|
+
1. **Your app's own dialecte layer** (its local extensions, services). Someone may have written it.
|
|
91
96
|
2. **The dialecte's business extensions.** Each dialecte package ships a skill (`dialecte-<id>`)
|
|
92
97
|
with `references/api.md`: an index of its verbs by intent ("label of an element", "copy a
|
|
93
98
|
subtree from another document"), generated from the JSDoc. Search it by what you are trying to
|
|
@@ -101,9 +106,9 @@ Never invent a signature. If the three disagree, the code you actually run wins.
|
|
|
101
106
|
5. **Core and package helpers/utils** (`@dialecte/core/helpers`, `@dialecte/core/utils`, the
|
|
102
107
|
package's own helpers): `toRef`, record converters, guards, `readAttribute(s)`, definition and
|
|
103
108
|
attribute rules, namespaces, canonical ordering, `invariant`, XML formatting.
|
|
104
|
-
6. **Only then write it** - as a
|
|
105
|
-
util. If every consumer of that dialecte would need it,
|
|
106
|
-
(
|
|
109
|
+
6. **Only then write it** - as a local extension in the package's extension shape (see _A local
|
|
110
|
+
extension in your app_), not as a loose util. If every consumer of that dialecte would need it,
|
|
111
|
+
it belongs in the dialecte package (see _Promoting it to the package_).
|
|
107
112
|
|
|
108
113
|
When you do write new code, say in your hand-off which rung you checked and why nothing fit.
|
|
109
114
|
A verb whose name or summary is close to your need is read in full (JSDoc and tests) before you
|
|
@@ -189,22 +194,35 @@ Consequences to remember:
|
|
|
189
194
|
`afterImport` from what was collected. Import writes are not undoable.
|
|
190
195
|
- `afterStandardizedRecord` runs on create, update, import and init: it must be idempotent.
|
|
191
196
|
|
|
192
|
-
##
|
|
197
|
+
## A local extension in your app
|
|
193
198
|
|
|
194
|
-
|
|
199
|
+
A **local extension** is your app's own dialecte extension: code that reads or writes the document,
|
|
200
|
+
written in exactly the shape of a package extension and passed at project creation. Write one when the
|
|
201
|
+
reuse ladder found nothing and the verb is yours (no package has it yet, or your product needs it before
|
|
202
|
+
a package ships it). Because the shape is the package's, the folder can later move into the package with
|
|
203
|
+
no call-site change.
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
src/dialecte-extension/ (your app's folder for local extensions)
|
|
207
|
+
index.ts export const LOCAL_EXTENSIONS = { myFeature }
|
|
208
|
+
my-feature/
|
|
209
|
+
index.ts export const myFeature = { query: { findOrphanParts }, transaction: {} }
|
|
210
|
+
query/
|
|
211
|
+
find-orphan-parts.ts one function per file
|
|
212
|
+
find-orphan-parts.types.ts its params and result types
|
|
213
|
+
find-orphan-parts.test.ts next to it
|
|
214
|
+
transaction/
|
|
215
|
+
```
|
|
195
216
|
|
|
196
217
|
```ts
|
|
197
|
-
// my-feature/query/find-orphan-parts.ts
|
|
218
|
+
// my-feature/query/find-orphan-parts.ts
|
|
198
219
|
import type * as Core from '@dialecte/core'
|
|
199
220
|
import type { Config } from '@acme/widget/v1' // the package's Config type (check its exports)
|
|
200
221
|
|
|
201
222
|
export async function findOrphanParts(query: Core.Query<Config>, params: FindOrphanPartsParams) { ... }
|
|
202
223
|
|
|
203
|
-
// my-feature/index.ts
|
|
204
|
-
export const myFeature = { query: { findOrphanParts }, transaction: { ... } }
|
|
205
|
-
|
|
206
224
|
// app
|
|
207
|
-
const project = createWidgetProject({ extensions:
|
|
225
|
+
const project = createWidgetProject({ extensions: LOCAL_EXTENSIONS })
|
|
208
226
|
doc.query.myFeature.findOrphanParts({ assembly }) // first param is bound away
|
|
209
227
|
```
|
|
210
228
|
|
|
@@ -215,7 +233,56 @@ doc.query.myFeature.findOrphanParts({ assembly }) // first param is bound away
|
|
|
215
233
|
- Pick a namespace key of your own. A custom module whose key equals a module key the dialecte
|
|
216
234
|
already uses (`inventory` in `@acme/widget`) merges into it, and only a same-named method there throws `EXTENSION_METHOD_COLLISION`. Nothing
|
|
217
235
|
stops a top-level name from shadowing a core member: never name a module like a core method.
|
|
218
|
-
-
|
|
236
|
+
- **It holds no product choice.** It reads and writes the document; it imports nothing from your app
|
|
237
|
+
(no service, store, composable, component, policy file) and carries none of your product's rules.
|
|
238
|
+
Where your product decides differently from the plain behaviour, see policies below.
|
|
239
|
+
- **Tests on the node tier**: table-driven with the package's runner (`<package>/<version>/test` →
|
|
240
|
+
`run<Name>TestCases`), inline XML fixtures, the function called directly with `source.query` / `tx`,
|
|
241
|
+
not through the bound method. No test names a store: the runner runs them in Node on the in-memory
|
|
242
|
+
store. See [Testing](#testing).
|
|
243
|
+
|
|
244
|
+
### Policies: your product's choices, passed per call
|
|
245
|
+
|
|
246
|
+
When products may want different answers from the same verb (which parts count as orphans, how a
|
|
247
|
+
created element is named), the verb stays product-neutral and the product passes its choice **on each
|
|
248
|
+
call**. A **policy** is that set of values (or, where a value is not enough, an injected function).
|
|
249
|
+
|
|
250
|
+
- The verb declares the choice in its params type, typed, **with the plain behaviour as default**:
|
|
251
|
+
an option (`includeSpares?: boolean`, default `false`) or a strategy (`nameOf?: (part) => string`,
|
|
252
|
+
default the plain naming). It branches on it inside, in one pass.
|
|
253
|
+
- The product keeps its values in a policy file next to the service that calls the verb
|
|
254
|
+
(`my-feature.policy.ts`), and the service passes them: `doc.query.myFeature.findOrphanParts({ assembly, ...MY_FEATURE_POLICY })`.
|
|
255
|
+
- Something the plain verb does not know at all (an extra element only your product writes) is
|
|
256
|
+
composition: the addition is a verb of its own in your local extension, and the service calls the
|
|
257
|
+
plain verb and then that one inside the same transaction.
|
|
258
|
+
- Never patch the output afterwards (create, then rename or delete what the verb wrote): it depends on
|
|
259
|
+
the verb's internals, breaks silently when the verb changes and hides the decision from its tests.
|
|
260
|
+
Never branch on your product inside the verb either.
|
|
261
|
+
- Test both: the default, and the option your product sets.
|
|
262
|
+
|
|
263
|
+
### Promoting it to the package
|
|
264
|
+
|
|
265
|
+
When other consumers want the verb, propose it to the package: draft an issue on the package's
|
|
266
|
+
repository with the extension folder and its tests (same shape, so call sites do not change), show it to
|
|
267
|
+
the user and post it only with their approval. The option and its plain default move with the verb; your
|
|
268
|
+
policy file and its values stay in your app. Once a package version ships it, bump the package, delete the
|
|
269
|
+
local folder and its entry in your local extensions index, keep passing your policy.
|
|
270
|
+
|
|
271
|
+
## Keep the logic out of the UI
|
|
272
|
+
|
|
273
|
+
Four layers, each owns one thing, so the document code can be unit-tested without a render and moved
|
|
274
|
+
to a package without a rewrite (framework names below are examples, e.g. Vue):
|
|
275
|
+
|
|
276
|
+
| Layer | Owns | Never |
|
|
277
|
+
| ------------------------------- | ----------------------------------------------------------------------------- | --------------------------------------------------- |
|
|
278
|
+
| local extension | reads and writes of the document; returns records or plain data | UI, app types, reactive state, imports from the app |
|
|
279
|
+
| service (`<domain>.service.ts`) | calls the verbs, passes the policy, turns document data into the app's shapes | reactive state |
|
|
280
|
+
| composable / store | reactive state, derived values, domain logic; calls services | runtime `@dialecte/*` imports, `doc.query` |
|
|
281
|
+
| component | template and local UI state (toggles, dialogs, emits) | document calls, service imports, domain transforms |
|
|
282
|
+
|
|
283
|
+
Types of the dialecte package (`<Name>.Record`, tag names) may pass through a service unchanged (a
|
|
284
|
+
composable then imports them with `import type`): do not wrap a type only to re-export it. Read the subtree once in the extension (`getTree` or a filtered
|
|
285
|
+
`findDescendants`) instead of one read per element from a component loop.
|
|
219
286
|
|
|
220
287
|
## Testing
|
|
221
288
|
|
|
@@ -258,6 +325,8 @@ against an in-memory project of the installed dialecte; ids are seeded, so the s
|
|
|
258
325
|
- Does a hook already do any write you added by hand?
|
|
259
326
|
- Any query inside a loop over elements? Any `findAncestors` that could be a parent step?
|
|
260
327
|
- Any hand-written list that the definition or a registry already holds?
|
|
328
|
+
- Does a local extension import anything from the app, or hold a product choice instead of an option?
|
|
329
|
+
- Does a component or composable call `doc.query` / import `@dialecte/*` instead of going through a service?
|
|
261
330
|
- Every Dialecte method you call confirmed in the installed version?
|
|
262
331
|
|
|
263
332
|
## Retro gate - before you hand over
|
|
@@ -267,7 +336,7 @@ and every correction the user made that a skill should have prevented. Then:
|
|
|
267
336
|
|
|
268
337
|
- **Inside a dialecte repository**: draft each skill edit as before/after and show it to the user; an
|
|
269
338
|
approved edit goes in the same change (skills ship with the package that owns the code), through
|
|
270
|
-
`anthropic-skills:skill-creator` loaded
|
|
339
|
+
the skill-creator skill (`anthropic-skills:skill-creator`) loaded - the eval case first, failing on the text
|
|
271
340
|
before the change, as `dialecte-lot` describes - then `npm run skills:generate` and
|
|
272
341
|
`npm run skills:check` (see `dialecte-contributing`).
|
|
273
342
|
- **In an app**: draft an issue for the package that ships the skill - the statement that was wrong
|
|
@@ -70,6 +70,7 @@ in the installed `.d.ts` or the repo before calling. Paths are relative to the c
|
|
|
70
70
|
- Transaction only (`tx`): `addChild`, `clearRecordCache`, `clearStagedOperations`, `commit`, `deepClone`, `delete`, `ensureChild`, `finishStaging`, `getStagedOperations`, `update`
|
|
71
71
|
- Document: `close`, `destroy`, `prepare`, `subscribe`, `transaction`
|
|
72
72
|
- Project: `addBlob`, `attachBlob`, `close`, `createChannel`, `destroy`, `detachBlob`, `export`, `exportBlob`, `getBlob`, `getBlobsByDocument`, `getBlobsByRecord`, `getDatabaseInstance`, `getDocument`, `getDocumentConfig`, `getDocumentStatus`, `getDocuments`, `getStandaloneBlobs`, `import`, `importFile`, `initEmptyDocument`, `open`, `openDocument`, `queryAll`, `queryFirst`, `redo`, `removeBlob`, `removeDocument`, `undo`
|
|
73
|
+
|
|
73
74
|
<!-- /dialecte-skills:generated -->
|
|
74
75
|
|
|
75
76
|
## Query (`document/query/main.ts`)
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dialecte-contributing
|
|
3
|
-
description: Change Dialecte itself - @dialecte/core, a dialecte package, the generator (create) or the type-perf CLI (cli). Covers how the repos are split, the placement decision (core vs dialecte hook vs dialecte extension vs helper vs consumer code), the red-first table-driven workflow, the Definition of Done gates (check, format, build, test, doc:build, docs + CHANGELOG), the team code rules, the verification traps that give false greens, and how a change is handed over (a commit-by-lots hand-over the user runs, never pushed by the agent). Use it whenever the working directory is inside a dialecte repo, the task says "add to core", "new hook", "new extension method", "fix dialecte", "bump core in a dialecte package", or a consumer feature is blocked on a missing dialecte capability. Load the dialecte skill too for the API map; for a dialecte's own schema knowledge also load its skill (dialecte-<id>).
|
|
3
|
+
description: Change Dialecte itself - @dialecte/core, a dialecte package, the generator (create) or the type-perf CLI (cli). Covers how the repos are split, the placement decision (core vs dialecte hook vs dialecte extension vs helper vs consumer code), the red-first table-driven workflow, the Definition of Done gates (check, format, build, test, doc:build, docs + CHANGELOG), mutation testing and its survivors (`dialecte mutants`), the team code rules, the verification traps that give false greens, and how a change is handed over (a commit-by-lots hand-over the user runs, never pushed by the agent). Use it whenever the working directory is inside a dialecte repo, the task says "add to core", "new hook", "new extension method", "fix dialecte", "bump core in a dialecte package", or a consumer feature is blocked on a missing dialecte capability. Load the dialecte skill too for the API map; for a dialecte's own schema knowledge also load its skill (dialecte-<id>).
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: dialecte
|
|
7
7
|
version: '0.1.0'
|
|
8
|
+
audience: contributor
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
<!-- dialecte-skills workspace -->
|
|
@@ -79,35 +80,16 @@ rule that contradicts the standard stays out of the engine (consumer override).
|
|
|
79
80
|
|
|
80
81
|
## Reading the standard
|
|
81
82
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
- **Markdown first.** Read the standard as markdown, citing `file:line`; never the PDF. A document not yet in
|
|
86
|
-
markdown is converted first: markitdown for PDF, DOCX or PPTX; docling or pymupdf4llm when its tables come
|
|
87
|
-
out broken.
|
|
88
|
-
- **The converted text stays private**: kept next to the plans, outside every package repository; never
|
|
89
|
-
committed, never quoted or cited in committed text (code, doc, CHANGELOG, skill) or on GitHub. Committed text
|
|
90
|
-
states the behaviour.
|
|
91
|
-
- **A confirmation** (a name, a type, a cardinality the code already follows): one reader, with line references.
|
|
92
|
-
- **A decision that changes what the engine does or accepts** gets the cross-check, once per decision:
|
|
93
|
-
1. Two or three independent readers on the `standard` tier (at least one on another model or vendor when
|
|
94
|
-
one is available): the same question, no shared notes, a `file:line` for every claim.
|
|
95
|
-
2. One reader takes the whole relevant part, the others split it by section, so coverage does not rest on
|
|
96
|
-
one model's retrieval.
|
|
97
|
-
3. An adjudicator on the `strong` tier compares the answers: an agreed claim with matching lines passes; a
|
|
98
|
-
disagreement, or a claim without a line, becomes a question for the user or the domain expert. Runs of
|
|
99
|
-
one model share its biases, so agreement is evidence, not proof.
|
|
100
|
-
4. The result (question, claims, lines, verdict) goes in the plan's research folder, next to the plan: later
|
|
101
|
-
lots reuse it instead of reading the standard again.
|
|
102
|
-
|
|
103
|
-
The tiers are those of the `dialecte-lot` skill (its model-tiers reference).
|
|
83
|
+
The standard check is part of every lot: `dialecte-lot` references/standard-check.md (markdown first, the
|
|
84
|
+
converted text kept private, the cross-check for a decision that changes what the engine does or accepts, and
|
|
85
|
+
what the station records for the hand-over card).
|
|
104
86
|
|
|
105
87
|
## The workflow
|
|
106
88
|
|
|
107
89
|
1. **Orient**: read the nearest existing example of what you build (an extension in the same
|
|
108
90
|
package, a hook sub-file, its test) and the package's `doc/` page for the surface. Copy shapes,
|
|
109
91
|
don't invent them. A new extension verb starts from `npx dialecte new verb <namespace>
|
|
110
|
-
<query|transaction> <name>`: it writes the function, its `.types.ts`, a red table case marked
|
|
92
|
+
<query|transaction> <name>`: it writes the function, its `.types.ts`, a red table case marked
|
|
111
93
|
`only`, the barrel export and the namespace registration, and lists the `FILL:` placeholders
|
|
112
94
|
(`skills check` refuses them until written).
|
|
113
95
|
2. **Red first, proven by the cli**: the tests come first, from the spec, before any production code:
|
|
@@ -133,7 +115,9 @@ The tiers are those of the `dialecte-lot` skill (its model-tiers reference).
|
|
|
133
115
|
3. **Implement under the code rules**: [references/code-rules.md](references/code-rules.md).
|
|
134
116
|
Read it before writing the first line; most review comments come from it. `npx dialecte rules`
|
|
135
117
|
checks them on the changed files.
|
|
136
|
-
4. **Gates** (below)
|
|
118
|
+
4. **Gates** (below): `gate --fast` and `npx dialecte rules` per step (fix every `rules` error before the
|
|
119
|
+
review), `gate --full` once per lot, then `dialecte contrib` (`@dialecte/cli` 0.3.0); docs + CHANGELOG if the
|
|
120
|
+
surface changed.
|
|
137
121
|
5. **Independent review**: have a fresh reviewer (a sub-agent with only the spec, the diff and
|
|
138
122
|
these rules, or a human) read the diff against the previous version before hand-over. Self-review
|
|
139
123
|
re-reads your own intent and misses weakened assertions and unusable types.
|
|
@@ -141,6 +125,9 @@ The tiers are those of the `dialecte-lot` skill (its model-tiers reference).
|
|
|
141
125
|
command writes the hand-over folder and prints the card the user gets
|
|
142
126
|
([references/landing-changes.md](references/landing-changes.md)). The agent never commits or pushes.
|
|
143
127
|
|
|
128
|
+
Run as a `dialecte-lot` lot, each station gains the package's own steps: [references/lot-in-a-package.md](references/lot-in-a-package.md)
|
|
129
|
+
(the mutation switch, `dialecte rules`, `dialecte contrib`, `mutants status`, merges onto a moved main).
|
|
130
|
+
|
|
144
131
|
## Test tiers
|
|
145
132
|
|
|
146
133
|
In a package whose vitest config has a `node` project (core), a test runs in one of two tiers.
|
|
@@ -157,7 +144,8 @@ In a package whose vitest config has a `node` project (core), a test runs in one
|
|
|
157
144
|
`npx vitest run --project browser <path>`. A file that reads the package from disk or starts node goes
|
|
158
145
|
to `NODE_ONLY_TEST_FILES` the same way. The config refuses a listed path that names no file.
|
|
159
146
|
- **A difference between the tiers is a bug**, of the store or of the assertion. Never move a test to
|
|
160
|
-
the browser list to hide it, never retry it
|
|
147
|
+
the browser list to hide it, never retry it beyond the one serial rerun every failing run gets (a case that
|
|
148
|
+
fails in one tier only after that rerun is a difference, not a flake). Reproduce it with `--project node`, pin it with a red
|
|
161
149
|
case first: in the store contract (`src/store/contract`) when a store answers differently, beside
|
|
162
150
|
core's assertion helper (`src/test/assert-xml`) when it reads the XML differently between tiers.
|
|
163
151
|
Then fix it. When the test's own assertion depends on something no store promises (an XPath `[1]`
|
|
@@ -179,7 +167,7 @@ hand-over script holds the repository. With `--fast`, a change that touches no t
|
|
|
179
167
|
passes the tests step with the note "no test file is affected by the change"; any other run that
|
|
180
168
|
counts no test fails. Paste its lines in your report: they are the real counts. A gate of the same
|
|
181
169
|
mode on a tree it already passed, with the same lock, linked dependencies and steps, runs its hygiene and `tdd`
|
|
182
|
-
step, then answers the rest from that record (`reused`, from cli 0.2.0). `--
|
|
170
|
+
step, then answers the rest from that record (`reused`, from cli 0.2.0). `--no-reuse` forces a run: only when the
|
|
183
171
|
person asks, or when something outside the key changed (an edit, a lock or a linked dependency already makes a
|
|
184
172
|
new key).
|
|
185
173
|
|
|
@@ -193,21 +181,28 @@ and the gate prints how many production and test files the change still touches.
|
|
|
193
181
|
worktree's branch since `dialecte worktree add` made it (other branches' entries are only noted), and
|
|
194
182
|
every new file declared (`--declare <path>`, one per new file or folder; an undeclared one is a
|
|
195
183
|
warning). A failure names what changed and the read-only commands
|
|
196
|
-
to look at it.
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
184
|
+
to look at it.
|
|
185
|
+
|
|
186
|
+
**Test runs use the runner's defaults**: full parallelism, no `nice`, no `--maxWorkers`, no
|
|
187
|
+
`--no-file-parallelism`, no lock and no waiting on other sessions' runs or on the load - the machine is shared,
|
|
188
|
+
and that is the user's to manage: when they ask you to limit (to leave room for other sessions), do it for the
|
|
189
|
+
time they say. A run that fails is rerun **once, serially, on its failing files**: the same command, its
|
|
190
|
+
`--project` flags kept so the rerun stays in the failing tier, with the failing files and `--no-file-parallelism`
|
|
191
|
+
added (through an npm script, after `--`). Failing there too, it is a real failure; passing there, it is **flaky in
|
|
192
|
+
parallel** - a defect of the test or the code, reported with its files and fixed at its cause (a wall-clock bound
|
|
193
|
+
tuned on a quiet machine, a shared temporary folder, port or build output, browser state, an inherited environment
|
|
194
|
+
variable), never answered by throttling the next runs. The gate does this rerun itself on a vitest test step: a
|
|
195
|
+
step that passes on it is green and its line says `flaky in parallel` with one `flaky <file>` line per file - read
|
|
196
|
+
the flag on a green gate; one that fails again says `real failure`. A failing step line that says neither comes
|
|
197
|
+
from a cli without the rerun: rerun its files by hand. Such a cli may still hold a machine lock around `--full`,
|
|
198
|
+
its heavy steps and `tdd`: let it wait.
|
|
204
199
|
|
|
205
200
|
**Waiting on a long run** (`gate --full`, a mutation run, a bench): start it in the background with its output in
|
|
206
201
|
a log - your harness's background run, or `cmd > "$log" 2>&1 & echo $! > "$pidfile"` - then wait for the
|
|
207
202
|
harness's completion notice or on that PID (`while kill -0 "$(cat "$pidfile")" 2>/dev/null; do sleep 5; done`),
|
|
208
203
|
with an upper bound tied to the run's expected duration; at the bound, report "timed out" with the log's tail.
|
|
209
204
|
Never wait with `pgrep -f "<text>"` when that text is in your own wait command: the loop finds itself and never
|
|
210
|
-
ends (`pgrep -f "[
|
|
205
|
+
ends (`pgrep -f "[v]itest run"` if it is unavoidable). When the wait ends, read the exit code and the log's
|
|
211
206
|
summary line: "no process found" is not a pass.
|
|
212
207
|
|
|
213
208
|
Read the step list in the package's `package.json` (`"dialecte": { "gate" }`) when it overrides the
|
|
@@ -222,12 +217,16 @@ or the steps by hand:
|
|
|
222
217
|
3. `npm run build` - runs the type-check in parallel and emits declarations (vite-plugin-dts),
|
|
223
218
|
which catches union-assignability errors the editor misses.
|
|
224
219
|
4. The tests, by tier: `npm run test:node` per step (the fast gate runs its changed files), the
|
|
225
|
-
browser-only list once per lot (`npx vitest run --project browser
|
|
226
|
-
|
|
227
|
-
|
|
220
|
+
browser-only list once per lot (`npx vitest run --project browser`, in the full gate), and
|
|
221
|
+
`npm run test:browser:all` - the whole suite in the browser - once before the branch merges. A failing run of
|
|
222
|
+
any tier first gets its one serial rerun (above); a case that still fails there while it passes in the other
|
|
223
|
+
tier is a tier difference - a bug, never retried further, never hidden ([Test tiers](#test-tiers)). A package without a `node` project: `npx vitest run`
|
|
228
224
|
(`npm run test` is watch mode in some packages; create uses `npm run test:ts` + `test:py`).
|
|
229
225
|
One file while iterating: [Test tiers](#test-tiers).
|
|
230
|
-
5. `npm run doc:build` - the VitePress docs build.
|
|
226
|
+
5. `npm run doc:build` - the VitePress docs build. From cli 0.3.0 a dialecte package
|
|
227
|
+
(`"dialecte": { "profile": "contributor" }`) runs it, with the type bench, the code rules and the release
|
|
228
|
+
check, in `npx dialecte contrib` after a green `gate --full` and before the hand-over, whose `contrib`
|
|
229
|
+
guard refuses a tree without a green record of it.
|
|
231
230
|
6. `npm run skills:generate`, then `npm run skills:check` - every change, not only one that touches a skill:
|
|
232
231
|
the check fails on a name, path or script a skill cites that no longer exists, and on a public function
|
|
233
232
|
without its JSDoc summary and `@intent` (below). The scripts run the package's pinned cli; with a pin
|
|
@@ -259,8 +258,54 @@ Type performance: `npm run type-bench:check` compares type instantiations with
|
|
|
259
258
|
and explain the growth; if it is legitimate, re-baseline with `npm run type-bench` in its own lot.
|
|
260
259
|
Never hand-edit `baseline.json`, never twist code to dodge the gate.
|
|
261
260
|
|
|
262
|
-
Run slow gates (create's `npm run proof`, corpora
|
|
263
|
-
|
|
261
|
+
Run slow gates (create's `npm run proof`, corpora) once per lot before hand-over, not after every fix.
|
|
262
|
+
Fast targeted runs while iterating. Mutation testing runs beside the lot instead (below).
|
|
263
|
+
|
|
264
|
+
## Mutation testing
|
|
265
|
+
|
|
266
|
+
In a package that declares a mutation scope (`package.json` `"dialecte": { "mutation" }`), `dialecte mutants`
|
|
267
|
+
(`@dialecte/cli` 0.2.0) runs StrykerJS on it and keeps every survivor in a ledger until it is handled; `dialecte
|
|
268
|
+
mutants` with no verb prints each verb's usage. The scripts do the bookkeeping, so your tokens go to judgment only.
|
|
269
|
+
|
|
270
|
+
- **The switch is per lot**, in `.dialecte/lot.json`: `dialecte lot mutation off|changed|audit|gate`. Without it, a
|
|
271
|
+
lot whose diff touches the scope runs `changed` (its changed lines), any other lot `off`. `gate` is for a
|
|
272
|
+
robustness lot only: its hand-over waits for a run reported on the tree it commits, so it runs again after the
|
|
273
|
+
last fix. `audit` mutates the whole scope.
|
|
274
|
+
- **Off the critical path.** Start `dialecte mutants run` as a background run of your harness (the cli has no
|
|
275
|
+
background flag): the run is written `running` in the store before Stryker starts, so a killed session leaves a
|
|
276
|
+
`died` run, never nothing. Go on working (to wait on it: Waiting on a long run, above). A hand-over does not wait
|
|
277
|
+
for it, except a `gate` lot's; a merge does.
|
|
278
|
+
- **Before every hand-over and every merge: `dialecte mutants status`.** Pending items block the card and the
|
|
279
|
+
`handover run` guard: `new` survivors of the package (whatever their lot), `died` runs, and a `running` run of the
|
|
280
|
+
branch for a merge or a `gate` lot (on a plain hand-over it is a `!`). `scheduled` survivors belong to their
|
|
281
|
+
follow-up lot and do not block.
|
|
282
|
+
- **Judge one file at a time**: `dialecte mutants judge [--file <file>] --json` gives each file's packet (code,
|
|
283
|
+
covering tests, a family guess). Per survivor, one of:
|
|
284
|
+
- a test that kills it (a `gap`: red first like any test), then run again;
|
|
285
|
+
- `dialecte mutants record --key <key> --family <family> --reason "<why>"`, the reason saying in 200 characters at
|
|
286
|
+
most why no tested behaviour changes. An `invariant-guard` or `fallback-never-taken` also gets a follow-up lot
|
|
287
|
+
that deletes the guard or tightens the type: `dialecte mutants schedule <follow-up lot> <key>` first, then
|
|
288
|
+
`record ... --removable` (a scheduled survivor keeps its follow-up when recorded; a recorded one can no longer be
|
|
289
|
+
scheduled);
|
|
290
|
+
- `dialecte mutants schedule <follow-up lot> <key>` when another lot owns it.
|
|
291
|
+
|
|
292
|
+
The families are a closed list, the words of the judgment: `invariant-guard` (a check the types, or internal
|
|
293
|
+
callers only, already guarantee), `fallback-never-taken` (a default no input reaches), `exhaustive-default` (the
|
|
294
|
+
default of a switch that covers every case), `no-op-on-empty` (a skip of work that would do nothing),
|
|
295
|
+
`perf-shortcut` (a cache or an early exit that only saves time), `static-init` (module-level setup),
|
|
296
|
+
`schema-default-read` (a read of a value the schema already defaults), `wording` (message or log text). None
|
|
297
|
+
fits: it is a `gap`. Judge on the standard tier; the strong tier only for a `gap` with no obvious test.
|
|
298
|
+
|
|
299
|
+
- **The cli is the only writer** of `.dialecte/mutation-records.json` and of the store under
|
|
300
|
+
`<git-common-dir>/dialecte-mutation/`: never edit either by hand (nor anything else under `.git`).
|
|
301
|
+
- **Runs**: a `died` run is rerun, or `dialecte mutants abandon <run id>`; `dialecte mutants drop <run id>` removes
|
|
302
|
+
only an abandoned run or a reported one the ledger took in.
|
|
303
|
+
- **Full audit** (`dialecte mutants run --mode audit`): before a release or on request, in the background; its
|
|
304
|
+
survivors are scheduled as named follow-up lots, not fixed in the release.
|
|
305
|
+
|
|
306
|
+
A lot that builds tooling with shared state or drives an external tool has its own traps (plan it as a transition
|
|
307
|
+
table, one real run in a scratch clone, cited third-party values): [references/traps.md](references/traps.md), Tools
|
|
308
|
+
with shared state.
|
|
264
309
|
|
|
265
310
|
## Cross-package changes
|
|
266
311
|
|
|
@@ -288,11 +333,11 @@ core has `dialecte`, `dialecte-contributing` and `dialecte-lot`, create `dialect
|
|
|
288
333
|
package its own `dialecte-<id>` with the knowledge of its schema. A skill changes in the same PR as the code it describes - never
|
|
289
334
|
in another repository afterwards. `@dialecte/cli` maintains them:
|
|
290
335
|
|
|
291
|
-
| Command | Does
|
|
292
|
-
| -------------------------- |
|
|
293
|
-
| `dialecte skills sync` | installs the skills of the app's dependencies into `.claude/skills` + `.agents/skills` (`--agent claude,copilot,agents`, `--copy`); `--from <workspace
|
|
294
|
-
| `dialecte skills generate` | rewrites the `<!-- dialecte-skills:generated ... -->` blocks (verb map, method and export index, hook files) from the source
|
|
295
|
-
| `dialecte skills check` | frontmatter, links, and every API / path / npm script a page cites must exist; generated blocks must be fresh; every public function and method has a JSDoc summary and an `@intent`; `--workspace <dir>` also verifies pages that describe several repositories
|
|
336
|
+
| Command | Does |
|
|
337
|
+
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
338
|
+
| `dialecte skills sync` | installs the skills of the app's dependencies into `.claude/skills` + `.agents/skills` (`--agent claude,copilot,agents`, `--copy`); consumer skills only unless `--contributing` (remembered); `--from <workspace> --contributing` takes every skill from local checkouts |
|
|
339
|
+
| `dialecte skills generate` | rewrites the `<!-- dialecte-skills:generated ... -->` blocks (verb map, method and export index, hook files) from the source |
|
|
340
|
+
| `dialecte skills check` | frontmatter, links, and every API / path / npm script a page cites must exist; generated blocks must be fresh; every public function and method has a JSDoc summary and an `@intent`; `--workspace <dir>` also verifies pages that describe several repositories |
|
|
296
341
|
|
|
297
342
|
Write claims so the check can verify them: API as `query.<method>` / `tx.<ns>.<verb>`, paths
|
|
298
343
|
relative to a package, scripts as `npm run <script>`. A deliberate mention of something outside the package goes in
|
|
@@ -311,6 +356,7 @@ during import (import is in-memory two-pass by design, see the hooks rules in th
|
|
|
311
356
|
- Add a domain rule to core because it was convenient.
|
|
312
357
|
- Restate a registry or the definition by hand (see code-rules).
|
|
313
358
|
- Commit, push, or touch a repo's git index while a hand-over script may be running.
|
|
359
|
+
- Name a tool that consumes the package in a committed file or message ([code-rules](references/code-rules.md)).
|
|
314
360
|
- Leave a known improvement as a "note for later" without doing it or explaining why you cannot.
|
|
315
361
|
|
|
316
362
|
## Retro gate - before you hand over
|
|
@@ -320,7 +366,7 @@ and every correction the user made that a skill should have prevented. Then:
|
|
|
320
366
|
|
|
321
367
|
- **Inside a dialecte repository**: draft each skill edit as before/after and show it to the user; an
|
|
322
368
|
approved edit goes in the same change (skills ship with the package that owns the code), through
|
|
323
|
-
`anthropic-skills:skill-creator` loaded
|
|
369
|
+
the skill-creator skill (`anthropic-skills:skill-creator`) loaded - the eval case first, failing on the text
|
|
324
370
|
before the change, as `dialecte-lot` describes - then `npm run skills:generate` and `npm run skills:check`.
|
|
325
371
|
- **In an app**: draft an issue for the package that ships the skill - the statement that was wrong
|
|
326
372
|
or missing, the evidence (file, behaviour), the wording you propose - and show it to the user.
|
|
@@ -77,6 +77,13 @@ does not name.
|
|
|
77
77
|
review comment. Write the rule itself ("a name stays unique among its siblings"). Citations
|
|
78
78
|
live only in uncommitted plan notes. Naming the standard a library implements (site tagline, the
|
|
79
79
|
XSD it is generated from, the namespace prefixes of the schema, the schema's version ids) is not a citation. Never quote the standard's text anywhere (copyright).
|
|
80
|
+
- **No name of a tool that consumes the package** (an app, a pipeline or a product built on a dialecte) in
|
|
81
|
+
any committed file or commit message - code, comments, tests, skill text and its evals, docs, CHANGELOG. A
|
|
82
|
+
dialecte serves every app alike: say what the behaviour is, not who asked for it ("an app", "a consumer").
|
|
83
|
+
The names live on the machine only, `git config --global dialecte.consumerNames "<name>, <name>"`, never in a
|
|
84
|
+
repository; from cli 0.3.0, `dialecte rules` and `dialecte handover` refuse each as a whole word in a
|
|
85
|
+
contributor package (`consumer tool name`). A file your lot touches that already names one is refused too:
|
|
86
|
+
reword that line only, and list it in the hand-over.
|
|
80
87
|
- Do not create documentation that was not asked for, beyond the docs + CHANGELOG the Definition
|
|
81
88
|
of Done requires.
|
|
82
89
|
|