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.
@@ -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: "Archived/deprecated ADR has no successor — add a supersedes link from the replacement ADR",
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;AAsBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA4FxE"}
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 || "draft",
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;AAED,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;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAmJtE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASjE"}
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 || "draft",
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
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.5",
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.7",
71
+ "kibi-core": "^0.1.10",
72
72
  "ts-morph": "^23.0.0"
73
73
  },
74
74
  "license": "AGPL-3.0-or-later",
@@ -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" },