前端初始化
This commit is contained in:
+28
@@ -0,0 +1,28 @@
|
||||
---
|
||||
name: add-diagnostic
|
||||
description: 'Add a new diagnostic code following the defineDiagnostics() conventions from nostics'
|
||||
user-invocable: true
|
||||
allowed-tools: Read Grep Glob Edit Write
|
||||
license: MIT
|
||||
---
|
||||
|
||||
# Add a New Diagnostic Code
|
||||
|
||||
1. **Find the catalog.** Grep for `defineDiagnostics` to locate the `codes` object the new entry belongs in. With several catalogs, pick by area.
|
||||
2. **Pick the code.** `PREFIX_XNNNN`: `PREFIX` is the project name uppercased (`NUXT`, `I18N`); `X` is the area letter (`B` build, `R` runtime, `C` config, `D` deprecation); `NNNN` is the next free number. Read existing codes to choose. Never rename or reuse a published code.
|
||||
3. **Add the entry:**
|
||||
|
||||
```ts
|
||||
LIB_R0001: {
|
||||
why: (p: { hook: string }) => `${p.hook}() must run at the top of setup().`, // string or typed fn; becomes Error.message (required)
|
||||
fix: 'Move the call into setup() or a composable it calls.', // optional, but add whenever the fix is known
|
||||
docs: 'https://example.com/custom', // optional: overrides docsBase, or `false` to opt out
|
||||
},
|
||||
```
|
||||
|
||||
- `why` is the only required field. Params from `why` and `fix` are intersected and required at the call site.
|
||||
- Runtime fields (`cause`, `sources`) are passed at the call site, never in the definition.
|
||||
|
||||
4. **Call it:** `diagnostics.LIB_R0001({ hook })` to report, `throw diagnostics.LIB_R0001({ hook, cause: err })` to raise. Both run the reporters.
|
||||
|
||||
Full API and reporter/formatter/plugin details: the `nostics` skill.
|
||||
Reference in New Issue
Block a user