@wirecat/cli-base 0.21.0 → 0.23.0
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 +16 -2
- package/dist/commands/document.d.ts +72 -0
- package/dist/commands/document.d.ts.map +1 -0
- package/dist/commands/document.js +71 -0
- package/dist/commands/document.js.map +1 -0
- package/dist/commands/index.d.ts +7 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +23 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/deadline.js +4 -4
- package/dist/deadline.js.map +1 -1
- package/dist/dev/bin.js +0 -0
- package/dist/dev/lint.d.ts +33 -0
- package/dist/dev/lint.d.ts.map +1 -0
- package/dist/dev/lint.js +257 -0
- package/dist/dev/lint.js.map +1 -0
- package/dist/dev/main.d.ts.map +1 -1
- package/dist/dev/main.js +132 -2
- package/dist/dev/main.js.map +1 -1
- package/dist/errors.d.ts +4 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -1
- package/dist/errors.js.map +1 -1
- package/dist/failure.d.ts +76 -0
- package/dist/failure.d.ts.map +1 -0
- package/dist/failure.js +150 -0
- package/dist/failure.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/logging.d.ts +17 -15
- package/dist/logging.d.ts.map +1 -1
- package/dist/logging.js +49 -28
- package/dist/logging.js.map +1 -1
- package/dist/output-buffer.js +4 -4
- package/dist/output-buffer.js.map +1 -1
- package/dist/standards/errors.d.ts +51 -0
- package/dist/standards/errors.d.ts.map +1 -0
- package/dist/standards/errors.js +82 -0
- package/dist/standards/errors.js.map +1 -0
- package/dist/standards/index.d.ts +8 -0
- package/dist/standards/index.d.ts.map +1 -0
- package/dist/standards/index.js +8 -0
- package/dist/standards/index.js.map +1 -0
- package/dist/standards/lint.d.ts +29 -0
- package/dist/standards/lint.d.ts.map +1 -0
- package/dist/standards/lint.js +62 -0
- package/dist/standards/lint.js.map +1 -0
- package/dist/standards/log.d.ts +21 -0
- package/dist/standards/log.d.ts.map +1 -0
- package/dist/standards/log.js +18 -0
- package/dist/standards/log.js.map +1 -0
- package/dist/standards/output.d.ts +126 -0
- package/dist/standards/output.d.ts.map +1 -0
- package/dist/standards/output.js +54 -0
- package/dist/standards/output.js.map +1 -0
- package/dist/standards/registry.d.ts +18 -0
- package/dist/standards/registry.d.ts.map +1 -0
- package/dist/standards/registry.js +41 -0
- package/dist/standards/registry.js.map +1 -0
- package/dist/standards/steps.d.ts +28 -0
- package/dist/standards/steps.d.ts.map +1 -0
- package/dist/standards/steps.js +56 -0
- package/dist/standards/steps.js.map +1 -0
- package/dist/standards/vocabulary.d.ts +40 -0
- package/dist/standards/vocabulary.d.ts.map +1 -0
- package/dist/standards/vocabulary.js +255 -0
- package/dist/standards/vocabulary.js.map +1 -0
- package/package.json +27 -20
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import * as v from "valibot";
|
|
2
|
+
import { duplicates, parseRegistry, text, word } from "./registry.js";
|
|
3
|
+
export const FLAG_TYPES = [
|
|
4
|
+
"switch",
|
|
5
|
+
"count",
|
|
6
|
+
"number",
|
|
7
|
+
"string",
|
|
8
|
+
"id",
|
|
9
|
+
"time",
|
|
10
|
+
"duration",
|
|
11
|
+
"choice",
|
|
12
|
+
"list",
|
|
13
|
+
"path",
|
|
14
|
+
"cursor",
|
|
15
|
+
];
|
|
16
|
+
const verbSchema = v.strictObject({ word, meaning: text, replaces: v.optional(v.array(word)) });
|
|
17
|
+
const nounSchema = v.strictObject({
|
|
18
|
+
word,
|
|
19
|
+
meaning: text,
|
|
20
|
+
// A collection is named in the plural; a singular is what a profile has exactly one of.
|
|
21
|
+
kind: v.picklist(["collection", "singular"]),
|
|
22
|
+
replaces: v.optional(v.array(word)),
|
|
23
|
+
});
|
|
24
|
+
const viewSchema = v.strictObject({ word, meaning: text });
|
|
25
|
+
const rootSchema = v.strictObject({ word, meaning: text });
|
|
26
|
+
const flagSchema = v.strictObject({
|
|
27
|
+
name: v.pipe(v.string(), v.regex(/^--[a-z][a-z0-9]*(-[a-z0-9]+)*$/, "a long flag: --lower-case-words")),
|
|
28
|
+
value: v.optional(v.pipe(v.string(), v.regex(/^<[a-z][a-z0-9-|]*>$/, "a value name such as <n>"))),
|
|
29
|
+
type: v.picklist(FLAG_TYPES),
|
|
30
|
+
meaning: text,
|
|
31
|
+
unit: v.optional(text),
|
|
32
|
+
});
|
|
33
|
+
export const vocabularySchema = v.strictObject({
|
|
34
|
+
verbs: v.array(verbSchema),
|
|
35
|
+
nouns: v.array(nounSchema),
|
|
36
|
+
views: v.array(viewSchema),
|
|
37
|
+
roots: v.array(rootSchema),
|
|
38
|
+
flags: v.array(flagSchema),
|
|
39
|
+
});
|
|
40
|
+
/** One word, one meaning within its kind: a second entry for the same verb, noun, view, root or flag is refused. */
|
|
41
|
+
export const defineVocabulary = (input) => parseRegistry("vocabulary", vocabularySchema, input, (vocabulary) => {
|
|
42
|
+
const problems = [];
|
|
43
|
+
const kinds = {
|
|
44
|
+
verbs: vocabulary.verbs.map((entry) => entry.word),
|
|
45
|
+
nouns: vocabulary.nouns.map((entry) => entry.word),
|
|
46
|
+
views: vocabulary.views.map((entry) => entry.word),
|
|
47
|
+
roots: vocabulary.roots.map((entry) => entry.word),
|
|
48
|
+
flags: vocabulary.flags.map((entry) => entry.name),
|
|
49
|
+
};
|
|
50
|
+
for (const [kind, words] of Object.entries(kinds))
|
|
51
|
+
for (const repeated of duplicates(words))
|
|
52
|
+
problems.push(`${kind}: "${repeated}" is listed twice`);
|
|
53
|
+
for (const flag of vocabulary.flags)
|
|
54
|
+
if ((flag.type === "switch") !== (flag.value === undefined))
|
|
55
|
+
problems.push(`flags: ${flag.name} — a switch has no value name; every other type has one`);
|
|
56
|
+
const verbs = new Set(kinds.verbs);
|
|
57
|
+
for (const verb of vocabulary.verbs)
|
|
58
|
+
for (const old of verb.replaces ?? [])
|
|
59
|
+
if (verbs.has(old))
|
|
60
|
+
problems.push(`verbs: "${verb.word}" replaces "${old}", which is itself a verb`);
|
|
61
|
+
return problems;
|
|
62
|
+
});
|
|
63
|
+
const verbs = [
|
|
64
|
+
["list", "show many"],
|
|
65
|
+
["show", "show one"],
|
|
66
|
+
["search", "find by text; the description says where it looks"],
|
|
67
|
+
["related", "what is nearest in meaning to one thing, without a query"],
|
|
68
|
+
["info", "facts about a singular thing itself: where it is, its size, its version, its schema"],
|
|
69
|
+
["status", "how a thing stands right now"],
|
|
70
|
+
["check", "verify, and change nothing; the answer says what is wrong and how to fix it"],
|
|
71
|
+
["test", "run rules over what is already stored and say what they would have done, doing none of it"],
|
|
72
|
+
["pause", "stop what a running process does for a profile, without stopping the process"],
|
|
73
|
+
["resume", "restart what pause stopped"],
|
|
74
|
+
["create", "make a thing"],
|
|
75
|
+
["delete", "destroy a thing"],
|
|
76
|
+
["add", "put an existing thing into a set"],
|
|
77
|
+
["remove", "take a thing out of a set"],
|
|
78
|
+
["clear", "empty a set"],
|
|
79
|
+
["update", "change a thing's fields"],
|
|
80
|
+
["set", "set one named key"],
|
|
81
|
+
["unset", "remove one named key"],
|
|
82
|
+
["rename", "change a thing's name only"],
|
|
83
|
+
["start", "start a running process, or a login session"],
|
|
84
|
+
["stop", "stop a running process"],
|
|
85
|
+
["restart", "stop and start a running process"],
|
|
86
|
+
["end", "end a login session"],
|
|
87
|
+
["install", "install a system unit"],
|
|
88
|
+
["uninstall", "remove a system unit"],
|
|
89
|
+
["cancel", "stop a job or a pending thing"],
|
|
90
|
+
[
|
|
91
|
+
"sync",
|
|
92
|
+
"bring the local store up to date from the source: only what changed, or the whole list where the source cannot say",
|
|
93
|
+
],
|
|
94
|
+
["fetch", "one bounded pull of one named thing into the store, not a catch-up"],
|
|
95
|
+
["export", "write from the store to a file"],
|
|
96
|
+
["import", "bring a file or list the user gives into the store or the messenger, once"],
|
|
97
|
+
["download", "save a file from the source to this machine"],
|
|
98
|
+
["transcribe", "turn speech into text"],
|
|
99
|
+
["extract", "read the text inside files already on this machine into the store"],
|
|
100
|
+
["migrate", "bring a file up to this build's schema"],
|
|
101
|
+
["backup", "copy a file somewhere safe"],
|
|
102
|
+
["restore", "put a backup back in its place"],
|
|
103
|
+
["repair", "bring a file's tables to this build's shape without deleting anything"],
|
|
104
|
+
["link", "record that two identities are one person"],
|
|
105
|
+
["unlink", "undo a link"],
|
|
106
|
+
["lookup", "ask the messenger who is behind a phone number"],
|
|
107
|
+
["inspect", "look at a link without joining it"],
|
|
108
|
+
["send", "send a message"],
|
|
109
|
+
["edit", "change a sent message"],
|
|
110
|
+
["forward", "send an existing message on to another chat"],
|
|
111
|
+
["pin", "pin a message or chat"],
|
|
112
|
+
["unpin", "unpin a message or chat"],
|
|
113
|
+
["vote", "answer a poll"],
|
|
114
|
+
["close", "close a thing that stays: a poll, a task"],
|
|
115
|
+
["join", "join a chat"],
|
|
116
|
+
["leave", "leave a chat"],
|
|
117
|
+
["block", "block a person"],
|
|
118
|
+
["unblock", "unblock a person"],
|
|
119
|
+
["mark-read", "mark a chat read; the other person sees it"],
|
|
120
|
+
["reset", "replace a thing; the old one stops working"],
|
|
121
|
+
["moderate", "apply a chat's rules: delete what breaks them, act on who broke them"],
|
|
122
|
+
["confirm", "the owner accepts what an agent proposed"],
|
|
123
|
+
["reject", "the owner refuses what an agent proposed"],
|
|
124
|
+
["move", "move a file in the source"],
|
|
125
|
+
["copy", "copy a file in the source"],
|
|
126
|
+
["run", "run a saved job once, now, as its timer would"],
|
|
127
|
+
];
|
|
128
|
+
const replaces = {
|
|
129
|
+
list: ["ls"],
|
|
130
|
+
show: ["get", "view"],
|
|
131
|
+
search: ["find", "query"],
|
|
132
|
+
delete: ["rm", "trash"],
|
|
133
|
+
create: ["mkdir"],
|
|
134
|
+
update: ["plan"],
|
|
135
|
+
set: ["configure"],
|
|
136
|
+
sync: ["refresh"],
|
|
137
|
+
check: ["audit", "preflight"],
|
|
138
|
+
status: ["readiness"],
|
|
139
|
+
confirm: ["accept", "approve"],
|
|
140
|
+
reject: ["decline", "deny"],
|
|
141
|
+
};
|
|
142
|
+
const collections = [
|
|
143
|
+
["chats", "conversations in a messenger"],
|
|
144
|
+
["contacts", "identities in a messenger's contact list"],
|
|
145
|
+
["messages", "posts in a messenger chat, or emails"],
|
|
146
|
+
["polls", "polls in a chat"],
|
|
147
|
+
["reactions", "reactions to a message"],
|
|
148
|
+
["recipients", "who a message goes to"],
|
|
149
|
+
["replies", "the automatic replies of a profile"],
|
|
150
|
+
["sends", "messages waiting to be sent, or sent by this tool"],
|
|
151
|
+
["runs", "past runs of this tool"],
|
|
152
|
+
["topics", "forum topics in a group"],
|
|
153
|
+
["models", "local or remote models"],
|
|
154
|
+
["tags", "labels the owner puts on things"],
|
|
155
|
+
["searches", "the owner's saved searches"],
|
|
156
|
+
["copies", "tables kept aside by a repair"],
|
|
157
|
+
["attachments", "files of stored messages"],
|
|
158
|
+
["tasks", "what waits on the owner"],
|
|
159
|
+
["members", "people in a chat"],
|
|
160
|
+
["admins", "administrators of a chat"],
|
|
161
|
+
["tracking", "the chats whose member lists are fetched daily"],
|
|
162
|
+
["documents", "files imported from Google Drive or Docs, or linked in a chat"],
|
|
163
|
+
["notes", "text the owner writes, or files from a notes folder"],
|
|
164
|
+
["projects", "the owner's work units with a task key"],
|
|
165
|
+
["organizations", "companies, teams, families or communities"],
|
|
166
|
+
["identities", "accounts of a person in one messenger or mailbox"],
|
|
167
|
+
["facts", "what happened, with evidence"],
|
|
168
|
+
["memories", "what an agent concluded, with evidence and scope"],
|
|
169
|
+
["relationships", "confirmed or suggested links between people, organizations and projects"],
|
|
170
|
+
["files", "files in the source, such as Google Drive, read and changed there"],
|
|
171
|
+
["comments", "comments people left on a thing in the source: a channel post or a file"],
|
|
172
|
+
["meetings", "stored meetings, from Zoom or another provider"],
|
|
173
|
+
["recordings", "the files a provider recorded of a meeting"],
|
|
174
|
+
["jobs", "work this tool runs in the background or on a timer"],
|
|
175
|
+
["actions", "what an agent proposes to do; the owner confirms or rejects each"],
|
|
176
|
+
["aliases", "other names of one thing"],
|
|
177
|
+
];
|
|
178
|
+
const singulars = [
|
|
179
|
+
["session", "this tool's login"],
|
|
180
|
+
["account", "the messenger or mail account behind a profile"],
|
|
181
|
+
["config", "a profile's settings"],
|
|
182
|
+
["server", "the long-running process of a profile"],
|
|
183
|
+
["store", "the local SQLite database the tools share"],
|
|
184
|
+
["skill", "the agent skill file of this tool"],
|
|
185
|
+
["cache", "max's per-profile cache"],
|
|
186
|
+
["flood", "what the messenger told this profile to hold off on"],
|
|
187
|
+
["vocabulary", "the owner's catalogue of canonical names, with their aliases"],
|
|
188
|
+
["api", "the source's own API, one command per operation"],
|
|
189
|
+
];
|
|
190
|
+
const views = [
|
|
191
|
+
["logs", "the log of a running process"],
|
|
192
|
+
["events", "what happened in a thing over time"],
|
|
193
|
+
["scheduled", "what is scheduled to happen"],
|
|
194
|
+
["context", "what surrounds one thing"],
|
|
195
|
+
["path", "where a thing is on this machine"],
|
|
196
|
+
["config", "the configuration a thing needs"],
|
|
197
|
+
["history", "past uses of a thing"],
|
|
198
|
+
["top", "a ranked view under stats"],
|
|
199
|
+
["official", "the view the messenger itself computed, under stats"],
|
|
200
|
+
["transcript", "the text of speech: a voice message or a meeting recording"],
|
|
201
|
+
["evidence", "the stored messages or lines a result or a reference rests on"],
|
|
202
|
+
];
|
|
203
|
+
const roots = [
|
|
204
|
+
["inbox", "what waits across every chat"],
|
|
205
|
+
["review", "go through what needs the owner"],
|
|
206
|
+
["watch", "follow new events as they come"],
|
|
207
|
+
["serve", "the long-running process"],
|
|
208
|
+
["doctor", "check this machine's setup"],
|
|
209
|
+
["upgrade", "install a newer version of this tool"],
|
|
210
|
+
["commands", "the command tree as data"],
|
|
211
|
+
["complete", "shell completion"],
|
|
212
|
+
["mcp", "the MCP server and its setup"],
|
|
213
|
+
["bot", "the profile's bot account"],
|
|
214
|
+
["stats", "statistics"],
|
|
215
|
+
["search", "searches across resources"],
|
|
216
|
+
];
|
|
217
|
+
const flags = [
|
|
218
|
+
{ name: "--limit", value: "<n>", type: "count", meaning: "how many items", unit: "items" },
|
|
219
|
+
{ name: "--page", value: "<n>", type: "count", meaning: "which page, from 1, where the source has no cursor" },
|
|
220
|
+
{
|
|
221
|
+
name: "--page-size",
|
|
222
|
+
value: "<n>",
|
|
223
|
+
type: "count",
|
|
224
|
+
meaning: "how many items one request to the source asks for",
|
|
225
|
+
unit: "items",
|
|
226
|
+
},
|
|
227
|
+
{ name: "--cursor", value: "<cursor>", type: "cursor", meaning: "continue from where the previous page ended" },
|
|
228
|
+
{ name: "--before-id", value: "<id>", type: "id", meaning: "read what came before this message id" },
|
|
229
|
+
{ name: "--after-id", value: "<id>", type: "id", meaning: "read what came after this message id" },
|
|
230
|
+
{ name: "--before-time", value: "<time>", type: "time", meaning: "read what came before this time" },
|
|
231
|
+
{ name: "--after-time", value: "<time>", type: "time", meaning: "read what came after this time" },
|
|
232
|
+
{ name: "--since-time", value: "<time>", type: "time", meaning: "only what came since this time" },
|
|
233
|
+
{ name: "--until-time", value: "<time>", type: "time", meaning: "only what came up to and including this time" },
|
|
234
|
+
{ name: "--at-time", value: "<time>", type: "time", meaning: "do it at this time" },
|
|
235
|
+
{ name: "--before-n", value: "<n>", type: "count", meaning: "how many messages before it", unit: "messages" },
|
|
236
|
+
{ name: "--after-n", value: "<n>", type: "count", meaning: "how many messages after it", unit: "messages" },
|
|
237
|
+
{ name: "--timeout", value: "<duration>", type: "duration", meaning: "give up after this long" },
|
|
238
|
+
{ name: "--dry-run", type: "switch", meaning: "judge and plan; do nothing" },
|
|
239
|
+
];
|
|
240
|
+
/** The words every CLI on cli-base is judged against. Seeded from STANDARD's command-name rules and the glossary. */
|
|
241
|
+
export const VOCABULARY = defineVocabulary({
|
|
242
|
+
verbs: verbs.map(([entry, meaning]) => ({
|
|
243
|
+
word: entry,
|
|
244
|
+
meaning,
|
|
245
|
+
...(replaces[entry] ? { replaces: replaces[entry] } : {}),
|
|
246
|
+
})),
|
|
247
|
+
nouns: [
|
|
248
|
+
...collections.map(([entry, meaning]) => ({ word: entry, meaning, kind: "collection" })),
|
|
249
|
+
...singulars.map(([entry, meaning]) => ({ word: entry, meaning, kind: "singular" })),
|
|
250
|
+
],
|
|
251
|
+
views: views.map(([entry, meaning]) => ({ word: entry, meaning })),
|
|
252
|
+
roots: roots.map(([entry, meaning]) => ({ word: entry, meaning })),
|
|
253
|
+
flags,
|
|
254
|
+
});
|
|
255
|
+
//# sourceMappingURL=vocabulary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../../src/standards/vocabulary.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/cli-base",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "The parts every command line tool needs: output modes, terminal rendering, error model, exit codes, credentials, clocks",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Viacheslav Ptsarev",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"engines": {
|
|
13
13
|
"node": ">=22"
|
|
14
14
|
},
|
|
15
|
+
"packageManager": "pnpm@11.20.0",
|
|
15
16
|
"files": [
|
|
16
17
|
"dist",
|
|
17
18
|
"config",
|
|
@@ -66,6 +67,10 @@
|
|
|
66
67
|
"types": "./dist/mcp/index.d.ts",
|
|
67
68
|
"default": "./dist/mcp/index.js"
|
|
68
69
|
},
|
|
70
|
+
"./standards": {
|
|
71
|
+
"types": "./dist/standards/index.d.ts",
|
|
72
|
+
"default": "./dist/standards/index.js"
|
|
73
|
+
},
|
|
69
74
|
"./biome": "./config/biome.base.json",
|
|
70
75
|
"./tsconfig.base.json": "./config/tsconfig.base.json",
|
|
71
76
|
"./tsconfig.test.json": "./config/tsconfig.test.json",
|
|
@@ -73,11 +78,30 @@
|
|
|
73
78
|
"./lefthook.yml": "./config/lefthook.yml",
|
|
74
79
|
"./cspell": "./config/cspell.json"
|
|
75
80
|
},
|
|
81
|
+
"scripts": {
|
|
82
|
+
"build": "tsc --build --force",
|
|
83
|
+
"typecheck": "tsc --build --force --emitDeclarationOnly && tsc -p tsconfig.test.json && tsc -p tsconfig.scripts.json",
|
|
84
|
+
"lint": "biome check .",
|
|
85
|
+
"lint:fix": "biome check --write .",
|
|
86
|
+
"docs:check": "pnpm build && node dist/dev/bin.js docs-check --ids CLI,MAX,OPS,CORE,SPEC,DOC",
|
|
87
|
+
"test": "vitest run",
|
|
88
|
+
"test:watch": "vitest",
|
|
89
|
+
"test:coverage": "vitest run --coverage",
|
|
90
|
+
"test:slow": "vitest run --reporter=json --outputFile=coverage/tests.json >/dev/null; pnpm build >/dev/null && node dist/dev/bin.js slow-tests",
|
|
91
|
+
"smoke:bun": "bun run scripts/smoke.ts",
|
|
92
|
+
"prepare": "lefthook install || true",
|
|
93
|
+
"secrets:scan": "gitleaks git --no-banner --redact .",
|
|
94
|
+
"prepublishOnly": "pnpm build",
|
|
95
|
+
"standards:check": "node config/wirecat/check.mjs",
|
|
96
|
+
"docs:lint": "markdownlint-cli2",
|
|
97
|
+
"docs:spell": "cspell lint --config cspell.json --no-progress README.md",
|
|
98
|
+
"ci:quick": "pnpm typecheck"
|
|
99
|
+
},
|
|
76
100
|
"dependencies": {
|
|
101
|
+
"@valibot/to-json-schema": "1.8.0",
|
|
77
102
|
"cli-table3": "^0.6.5",
|
|
78
103
|
"cross-spawn": "7.0.6",
|
|
79
104
|
"picocolors": "^1.1.1",
|
|
80
|
-
"pino": "^10.3.1",
|
|
81
105
|
"valibot": "^1.5.0"
|
|
82
106
|
},
|
|
83
107
|
"optionalDependencies": {
|
|
@@ -108,22 +132,5 @@
|
|
|
108
132
|
"commander": {
|
|
109
133
|
"optional": true
|
|
110
134
|
}
|
|
111
|
-
},
|
|
112
|
-
"scripts": {
|
|
113
|
-
"build": "tsc --build --force",
|
|
114
|
-
"typecheck": "tsc --build --force --emitDeclarationOnly && tsc -p tsconfig.test.json && tsc -p tsconfig.scripts.json",
|
|
115
|
-
"lint": "biome check .",
|
|
116
|
-
"lint:fix": "biome check --write .",
|
|
117
|
-
"docs:check": "pnpm build && node dist/dev/bin.js docs-check --ids CLI,MAX,OPS,CORE,SPEC,DOC",
|
|
118
|
-
"test": "vitest run",
|
|
119
|
-
"test:watch": "vitest",
|
|
120
|
-
"test:coverage": "vitest run --coverage",
|
|
121
|
-
"test:slow": "vitest run --reporter=json --outputFile=coverage/tests.json >/dev/null; pnpm build >/dev/null && node dist/dev/bin.js slow-tests",
|
|
122
|
-
"smoke:bun": "bun run scripts/smoke.ts",
|
|
123
|
-
"secrets:scan": "gitleaks git --no-banner --redact .",
|
|
124
|
-
"standards:check": "node config/wirecat/check.mjs",
|
|
125
|
-
"docs:lint": "markdownlint-cli2",
|
|
126
|
-
"docs:spell": "cspell lint --config cspell.json --no-progress README.md",
|
|
127
|
-
"ci:quick": "pnpm typecheck"
|
|
128
135
|
}
|
|
129
|
-
}
|
|
136
|
+
}
|