kibi-cli 0.2.5 → 0.2.6
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/commands/check.js +1 -1
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +2 -1
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +12 -1
- package/dist/public/schemas/entity.d.ts.map +1 -1
- package/dist/public/schemas/entity.js +10 -0
- package/package.json +2 -2
- package/schema/config.json +5 -0
- package/src/public/schemas/entity.ts +10 -0
- package/src/schemas/entity.schema.json +11 -1
package/dist/commands/check.js
CHANGED
|
@@ -505,7 +505,7 @@ async function checkDeprecatedAdrs(prolog) {
|
|
|
505
505
|
violations.push({
|
|
506
506
|
rule: "deprecated-adr-no-successor",
|
|
507
507
|
entityId: adrId,
|
|
508
|
-
description: "
|
|
508
|
+
description: "Superseded/deprecated ADR has no successor — add a supersedes link from the replacement ADR",
|
|
509
509
|
suggestion: `Create a new ADR and add: links: [{type: supersedes, target: ${adrId}}]`,
|
|
510
510
|
source,
|
|
511
511
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/extractors/manifest.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,qBAAqB,EAAE,CAAC;CACxC;AAED,qBAAa,aAAc,SAAQ,KAAK;IAG7B,QAAQ,EAAE,MAAM;gBADvB,OAAO,EAAE,MAAM,EACR,QAAQ,EAAE,MAAM;CAK1B;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/extractors/manifest.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,qBAAqB,EAAE,CAAC;CACxC;AAED,qBAAa,aAAc,SAAQ,KAAK;IAG7B,QAAQ,EAAE,MAAM;gBADvB,OAAO,EAAE,MAAM,EACR,QAAQ,EAAE,MAAM;CAK1B;AAuBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA4FxE"}
|
|
@@ -26,6 +26,7 @@ export class ManifestError extends Error {
|
|
|
26
26
|
this.name = "ManifestError";
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
+
// implements REQ-007
|
|
29
30
|
export function extractFromManifest(filePath) {
|
|
30
31
|
try {
|
|
31
32
|
const content = readFileSync(filePath, "utf8");
|
|
@@ -82,7 +83,7 @@ export function extractFromManifest(filePath) {
|
|
|
82
83
|
id,
|
|
83
84
|
type: "symbol",
|
|
84
85
|
title: symbol.title,
|
|
85
|
-
status: symbol.status || "
|
|
86
|
+
status: symbol.status || "active",
|
|
86
87
|
created_at: symbol.created_at || new Date().toISOString(),
|
|
87
88
|
updated_at: symbol.updated_at || new Date().toISOString(),
|
|
88
89
|
source: filePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/extractors/markdown.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,qBAAqB,EAAE,CAAC;CACxC;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/extractors/markdown.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,aAAa,EAAE,qBAAqB,EAAE,CAAC;CACxC;AAaD,qBAAa,gBAAiB,SAAQ,KAAK;IAOhC,QAAQ,EAAE,MAAM;IANlB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;gBAG5B,OAAO,EAAE,MAAM,EACR,QAAQ,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;IASM,QAAQ;CAUlB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CA8CV;AAGD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAmJtE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASjE"}
|
|
@@ -18,6 +18,16 @@
|
|
|
18
18
|
import { createHash } from "node:crypto";
|
|
19
19
|
import { readFileSync } from "node:fs";
|
|
20
20
|
import matter from "gray-matter";
|
|
21
|
+
const DEFAULT_STATUS_BY_TYPE = {
|
|
22
|
+
req: "open",
|
|
23
|
+
scenario: "draft",
|
|
24
|
+
test: "pending",
|
|
25
|
+
adr: "proposed",
|
|
26
|
+
flag: "active",
|
|
27
|
+
event: "active",
|
|
28
|
+
symbol: "active",
|
|
29
|
+
fact: "active",
|
|
30
|
+
};
|
|
21
31
|
export class FrontmatterError extends Error {
|
|
22
32
|
filePath;
|
|
23
33
|
classification;
|
|
@@ -81,6 +91,7 @@ export function detectEmbeddedEntities(data, entityType) {
|
|
|
81
91
|
}
|
|
82
92
|
return detected;
|
|
83
93
|
}
|
|
94
|
+
// implements REQ-007, REQ-004
|
|
84
95
|
export function extractFromMarkdown(filePath) {
|
|
85
96
|
let content;
|
|
86
97
|
try {
|
|
@@ -142,7 +153,7 @@ export function extractFromMarkdown(filePath) {
|
|
|
142
153
|
id,
|
|
143
154
|
type,
|
|
144
155
|
title: data.title,
|
|
145
|
-
status: data.status || "
|
|
156
|
+
status: data.status || DEFAULT_STATUS_BY_TYPE[String(type)] || "active",
|
|
146
157
|
created_at: data.created_at || new Date().toISOString(),
|
|
147
158
|
updated_at: data.updated_at || new Date().toISOString(),
|
|
148
159
|
source: filePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/public/schemas/entity.ts"],"names":[],"mappings":"AAoBA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/public/schemas/entity.ts"],"names":[],"mappings":"AAoBA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -28,6 +28,7 @@ const entitySchema = {
|
|
|
28
28
|
type: "string",
|
|
29
29
|
enum: [
|
|
30
30
|
"active",
|
|
31
|
+
"inactive",
|
|
31
32
|
"draft",
|
|
32
33
|
"archived",
|
|
33
34
|
"deleted",
|
|
@@ -36,6 +37,15 @@ const entitySchema = {
|
|
|
36
37
|
"pending",
|
|
37
38
|
"in_progress",
|
|
38
39
|
"superseded",
|
|
40
|
+
"open",
|
|
41
|
+
"closed",
|
|
42
|
+
"deprecated",
|
|
43
|
+
"passing",
|
|
44
|
+
"failing",
|
|
45
|
+
"skipped",
|
|
46
|
+
"proposed",
|
|
47
|
+
"accepted",
|
|
48
|
+
"removed",
|
|
39
49
|
],
|
|
40
50
|
},
|
|
41
51
|
created_at: { type: "string" },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kibi-cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Kibi CLI for knowledge base management",
|
|
6
6
|
"engines": {
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"fast-glob": "^3.2.12",
|
|
69
69
|
"gray-matter": "^4.0.3",
|
|
70
70
|
"js-yaml": "^4.1.0",
|
|
71
|
-
"kibi-core": "^0.1.
|
|
71
|
+
"kibi-core": "^0.1.10",
|
|
72
72
|
"ts-morph": "^23.0.0"
|
|
73
73
|
},
|
|
74
74
|
"license": "AGPL-3.0-or-later",
|
package/schema/config.json
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
"description": "Configuration schema for Kibi knowledge base",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
|
+
"$schema": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"format": "uri",
|
|
11
|
+
"description": "Optional JSON Schema identifier for editor/schema tooling"
|
|
12
|
+
},
|
|
8
13
|
"paths": {
|
|
9
14
|
"type": "object",
|
|
10
15
|
"description": "Directory paths for entity documentation",
|
|
@@ -29,6 +29,7 @@ const entitySchema = {
|
|
|
29
29
|
type: "string",
|
|
30
30
|
enum: [
|
|
31
31
|
"active",
|
|
32
|
+
"inactive",
|
|
32
33
|
"draft",
|
|
33
34
|
"archived",
|
|
34
35
|
"deleted",
|
|
@@ -37,6 +38,15 @@ const entitySchema = {
|
|
|
37
38
|
"pending",
|
|
38
39
|
"in_progress",
|
|
39
40
|
"superseded",
|
|
41
|
+
"open",
|
|
42
|
+
"closed",
|
|
43
|
+
"deprecated",
|
|
44
|
+
"passing",
|
|
45
|
+
"failing",
|
|
46
|
+
"skipped",
|
|
47
|
+
"proposed",
|
|
48
|
+
"accepted",
|
|
49
|
+
"removed",
|
|
40
50
|
],
|
|
41
51
|
},
|
|
42
52
|
created_at: { type: "string" },
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"type": "string",
|
|
10
10
|
"enum": [
|
|
11
11
|
"active",
|
|
12
|
+
"inactive",
|
|
12
13
|
"draft",
|
|
13
14
|
"archived",
|
|
14
15
|
"deleted",
|
|
@@ -16,7 +17,16 @@
|
|
|
16
17
|
"rejected",
|
|
17
18
|
"pending",
|
|
18
19
|
"in_progress",
|
|
19
|
-
"superseded"
|
|
20
|
+
"superseded",
|
|
21
|
+
"open",
|
|
22
|
+
"closed",
|
|
23
|
+
"deprecated",
|
|
24
|
+
"passing",
|
|
25
|
+
"failing",
|
|
26
|
+
"skipped",
|
|
27
|
+
"proposed",
|
|
28
|
+
"accepted",
|
|
29
|
+
"removed"
|
|
20
30
|
]
|
|
21
31
|
},
|
|
22
32
|
"created_at": { "type": "string" },
|