quality.md 0.2.2 → 0.3.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/README.md CHANGED
@@ -3,6 +3,22 @@
3
3
  **QUALITY.md** is an agent-friendly file format and companion agent skill and
4
4
  CLI for continuously improving the quality of coding agent and AI assistant projects/harnesses.
5
5
 
6
+ ## Why QUALITY.md
7
+
8
+ As software — and the agents that write it — moves faster, quality erodes
9
+ quietly through three accumulating debts:
10
+
11
+ - **Technical debt** — code drifting from where it should be.
12
+ - **Cognitive debt** — the mounting burden of understanding complex or
13
+ under-documented systems.
14
+ - **Intent debt** — software diverging from what stakeholders actually need.
15
+
16
+ QUALITY.md makes a team's quality expectations explicit and checkable, so those
17
+ gaps stay visible and addressable instead of compounding.
18
+
19
+ > The three-debt framing draws on Margaret-Anne Storey, *The Triple Debt of
20
+ > Software Development* ([arXiv:2603.22106](https://arxiv.org/abs/2603.22106)).
21
+
6
22
  ## Install
7
23
 
8
24
  1. Install the agent skill:
@@ -66,9 +82,11 @@ ratingScale:
66
82
  criterion: "Falls below the minimum acceptable bar."
67
83
  targets:
68
84
  triage:
85
+ title: Triage
69
86
  source: ./support
70
87
  factors:
71
88
  responsiveness:
89
+ title: Responsiveness
72
90
  description: Customers receive timely, useful attention.
73
91
  requirements:
74
92
  "urgent messages are visible":
@@ -76,6 +94,7 @@ targets:
76
94
  New messages are classified so urgent customer-impacting issues
77
95
  are separated from routine requests.
78
96
  accuracy:
97
+ title: Accuracy
79
98
  description: Replies are correct, complete, and grounded in policy.
80
99
  requirements:
81
100
  "answers cite the current policy":
@@ -122,16 +141,17 @@ but it is where the model explains itself.
122
141
  The root model is a target plus a model-wide `ratingScale`.
123
142
 
124
143
  ```yaml
125
- title: <string> # Recommended
144
+ title: <string> # Required
126
145
  description: <string> # Optional
127
146
  ratingScale: # Required, ordered best to worst
128
147
  - level: <level-name> # Required, unique within the scale
129
- title: <string> # Optional
148
+ title: <string> # Required
130
149
  description: <string> # Recommended
131
150
  criterion: <string> # Required
132
151
  source: <string> # Optional
133
152
  factors: # Optional*
134
153
  <factor-name>:
154
+ title: <string> # Required
135
155
  description: <string> # Recommended
136
156
  factors: # Optional
137
157
  <sub-factor-name>: <Factor>
@@ -178,31 +198,40 @@ assessment -> findings -> rating result
178
198
  ## The CLI
179
199
 
180
200
  > **The CLI is an early work in progress.** Today the binary ships
181
- > `qualitymd init`, `qualitymd lint`, `qualitymd spec`, and the
201
+ > `qualitymd init`, `qualitymd lint`, `qualitymd spec`, `qualitymd status`, and the
182
202
  > `qualitymd evaluation` run-record surface.
183
203
 
184
- `qualitymd` draws one hard line: the **CLI is deterministic and never calls a
185
- model.** It scaffolds and validates a `QUALITY.md`, resolves target nodes and
186
- their `source` manifests, records evaluation artifacts, renders reports, and
187
- gates CI. The deep, judgment-based evaluation of a subject against its model is
188
- carried by **skills**, not by any CLI command.
189
-
190
- The deterministic surface:
191
-
192
- - **`qualitymd init`** — scaffold a starter `QUALITY.md` to fill in.
193
- - **`qualitymd lint`** validate a file's structure, fast and deterministic,
194
- exiting non-zero on errors so it drops into CI.
195
- - **`qualitymd spec`** emit the bundled `QUALITY.md` format specification.
196
- - **`qualitymd evaluation create-run`** create and number an evaluation run
197
- folder.
198
- - **`qualitymd evaluation add-record`** write assessment, analysis, and
199
- recommendation records from judgment payloads.
200
- - **`qualitymd evaluation set-planned-coverage`** write optional planned
201
- assessment and analysis coverage for resume diagnostics.
202
- - **`qualitymd evaluation show-status`** — inspect whether a run is ready to
203
- render.
204
- - **`qualitymd evaluation build-report`** — derive `report.md` / `report.json`
205
- and optionally gate with `--fail-at-or-below`.
204
+ `qualitymd` draws one hard line: the **CLI never asks an AI model to judge your
205
+ project.** It creates and checks `QUALITY.md` files, shows what the file covers,
206
+ writes evaluation records for the `/quality` skill, renders reports, and can
207
+ fail CI when ratings fall below your chosen bar. The judgment work happens in
208
+ the skill, not in the CLI.
209
+
210
+ ### Common commands
211
+
212
+ | Goal | Command |
213
+ | ---------------------- | -------------------------------- |
214
+ | Show the format rules | `qualitymd spec` |
215
+ | Create a starter file | `qualitymd init [path]` |
216
+ | Check a file | `qualitymd lint [path]` |
217
+ | Fix simple lint issues | `qualitymd lint --fix [path]` |
218
+ | Show project status | `qualitymd status [path] --json` |
219
+ | Show version info | `qualitymd version --json` |
220
+ | Check for updates | `qualitymd upgrade --check` |
221
+ | Show command help | `qualitymd <command> --help` |
222
+
223
+ Typical local loop:
224
+
225
+ ```sh
226
+ qualitymd spec
227
+ qualitymd init
228
+ qualitymd lint
229
+ qualitymd status --json
230
+ ```
231
+
232
+ The `/quality` skill uses additional evaluation commands behind the scenes.
233
+ The detailed command guide lives in the bundled
234
+ [`CLI Quick Reference`](skills/quality/resources/cli-quick-reference.md).
206
235
 
207
236
  ## Conceptual model
208
237
 
package/bin/qualitymd.js CHANGED
@@ -24,7 +24,8 @@ try {
24
24
  process.exit(1);
25
25
  }
26
26
 
27
- const result = spawnSync(binary, process.argv.slice(2), { stdio: "inherit" });
27
+ const env = { ...process.env, QUALITYMD_INSTALL_METHOD: "npm" };
28
+ const result = spawnSync(binary, process.argv.slice(2), { stdio: "inherit", env });
28
29
 
29
30
  if (result.error) {
30
31
  throw result.error;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quality.md",
3
- "version": "0.2.2",
3
+ "version": "0.3.1",
4
4
  "description": "Companion CLI for the QUALITY.md file format and /quality agent skill, used to evaluate and improve AI assistant projects and harnesses.",
5
5
  "homepage": "https://getquality.md",
6
6
  "keywords": [
@@ -34,12 +34,12 @@
34
34
  "bin"
35
35
  ],
36
36
  "optionalDependencies": {
37
- "@qualitymd/cli-darwin-arm64": "0.2.2",
38
- "@qualitymd/cli-darwin-x64": "0.2.2",
39
- "@qualitymd/cli-linux-arm64": "0.2.2",
40
- "@qualitymd/cli-linux-x64": "0.2.2",
41
- "@qualitymd/cli-win32-arm64": "0.2.2",
42
- "@qualitymd/cli-win32-x64": "0.2.2"
37
+ "@qualitymd/cli-darwin-arm64": "0.3.1",
38
+ "@qualitymd/cli-darwin-x64": "0.3.1",
39
+ "@qualitymd/cli-linux-arm64": "0.3.1",
40
+ "@qualitymd/cli-linux-x64": "0.3.1",
41
+ "@qualitymd/cli-win32-arm64": "0.3.1",
42
+ "@qualitymd/cli-win32-x64": "0.3.1"
43
43
  },
44
44
  "publishConfig": {
45
45
  "access": "public"