@opum-ai/lore 0.1.0 → 0.1.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.
Files changed (90) hide show
  1. package/README.md +33 -22
  2. package/bin/lore.cjs +35 -7
  3. package/package.json +17 -17
  4. package/src/adapters/backlog.ts +0 -1084
  5. package/src/adapters/git.ts +0 -221
  6. package/src/cli.ts +0 -667
  7. package/src/commands/agent.ts +0 -301
  8. package/src/commands/agents.ts +0 -302
  9. package/src/commands/args.ts +0 -209
  10. package/src/commands/changed.ts +0 -70
  11. package/src/commands/check.ts +0 -1031
  12. package/src/commands/codex-bridge.ts +0 -49
  13. package/src/commands/concurrency.ts +0 -48
  14. package/src/commands/context.ts +0 -292
  15. package/src/commands/discover.ts +0 -89
  16. package/src/commands/explorer.ts +0 -253
  17. package/src/commands/export.ts +0 -93
  18. package/src/commands/fswrite.ts +0 -928
  19. package/src/commands/graph.ts +0 -291
  20. package/src/commands/help.ts +0 -151
  21. package/src/commands/impact.ts +0 -59
  22. package/src/commands/init.ts +0 -583
  23. package/src/commands/instructions.ts +0 -91
  24. package/src/commands/link.ts +0 -929
  25. package/src/commands/new.ts +0 -476
  26. package/src/commands/orphans.ts +0 -457
  27. package/src/commands/path.ts +0 -67
  28. package/src/commands/provenance.ts +0 -68
  29. package/src/commands/query.ts +0 -312
  30. package/src/commands/reconcile-shared.ts +0 -280
  31. package/src/commands/rename.ts +0 -585
  32. package/src/commands/replace.ts +0 -320
  33. package/src/commands/scaffold.ts +0 -346
  34. package/src/commands/schema.ts +0 -293
  35. package/src/commands/snapshot.ts +0 -130
  36. package/src/commands/supersede.ts +0 -400
  37. package/src/commands/sync.ts +0 -371
  38. package/src/commands/tasks.ts +0 -271
  39. package/src/commands/traversal.ts +0 -151
  40. package/src/commands/validate.ts +0 -226
  41. package/src/config.ts +0 -598
  42. package/src/core/agent-bridge.ts +0 -287
  43. package/src/core/agent-context.ts +0 -498
  44. package/src/core/agent-profile.ts +0 -447
  45. package/src/core/bundle.ts +0 -893
  46. package/src/core/check.ts +0 -853
  47. package/src/core/codex-bridge.ts +0 -100
  48. package/src/core/concept.ts +0 -597
  49. package/src/core/consumer-scaffold.ts +0 -433
  50. package/src/core/context.ts +0 -271
  51. package/src/core/explorer-contract.ts +0 -441
  52. package/src/core/explorer-qualification.ts +0 -58
  53. package/src/core/explorer.ts +0 -518
  54. package/src/core/finding.ts +0 -31
  55. package/src/core/graph.ts +0 -201
  56. package/src/core/indexes.ts +0 -436
  57. package/src/core/instructions.ts +0 -209
  58. package/src/core/ladybug-driver.ts +0 -1795
  59. package/src/core/ladybug-lifecycle.ts +0 -1178
  60. package/src/core/ladybug-native.ts +0 -95
  61. package/src/core/ladybug-source.ts +0 -667
  62. package/src/core/links.ts +0 -681
  63. package/src/core/log.ts +0 -253
  64. package/src/core/managed-block.ts +0 -540
  65. package/src/core/manifest.ts +0 -718
  66. package/src/core/order.ts +0 -13
  67. package/src/core/profile.ts +0 -1007
  68. package/src/core/projection.ts +0 -195
  69. package/src/core/query.ts +0 -542
  70. package/src/core/reconcile.ts +0 -236
  71. package/src/core/replace.ts +0 -419
  72. package/src/core/retrieval.ts +0 -213
  73. package/src/core/rewrite.ts +0 -940
  74. package/src/core/scaffold.ts +0 -255
  75. package/src/core/schema.ts +0 -366
  76. package/src/core/snapshot-runtime.ts +0 -52
  77. package/src/core/snapshot-store.ts +0 -287
  78. package/src/core/snapshot.ts +0 -711
  79. package/src/core/template.ts +0 -429
  80. package/src/core/traversal.ts +0 -487
  81. package/src/core/validate.ts +0 -517
  82. package/src/core/workspace-contract.ts +0 -473
  83. package/src/core/workspace-projection.ts +0 -365
  84. package/src/core/workspace-retrieval.ts +0 -196
  85. package/src/core/workspace-source.ts +0 -174
  86. package/src/errors.ts +0 -697
  87. package/src/meta.ts +0 -7
  88. package/src/output.ts +0 -589
  89. package/src/scripts/upstream-backlog-watch.ts +0 -288
  90. package/src/state.ts +0 -390
package/README.md CHANGED
@@ -19,18 +19,21 @@ semantic exit codes, machine-readable `--json`).
19
19
 
20
20
  - Built on **Bun + TypeScript** with an exact-pinned **Commander** parser fed by
21
21
  Lore's capability manifest; Lore still owns output, errors, and process lifecycle.
22
- - Prepared for npm distribution as **`@opum-ai/lore@0.1.0`** (bin `lore`);
23
- registry publication is not claimed until the release-truth evidence lands.
22
+ - Published on npm as **`@opum-ai/lore@0.1.0`** (bin `lore`) with five
23
+ exact-pinned platform packages.
24
+ - The next release matrix adds a sixth native package for **Windows ARM64**;
25
+ `0.1.0` itself remains the immutable five-platform release described below.
24
26
  - The agent bridge is a generated **`.claude/skills/lore/SKILL.md`** plus a tiny
25
27
  CLAUDE.md nudge and `lore instructions`. An **MCP server is secondary and
26
28
  deferred to v2**.
27
29
 
28
- > **Status: prepared 0.1.0 release candidate.** The six manifests and exact
29
- > optional-dependency pins are set to `0.1.0`, but the repository has no
30
- > release tag or artifact and `@opum-ai/lore` is absent from npm. The upstream
31
- > Backlog.md dependency gate is complete
32
- > (LCLI-253), but the repository-owner publication-control gate remains open
33
- > (LCLI-278). See [Lore CLI release truth](docs/reference/lore-cli-release-truth.md).
30
+ > **Status: 0.1.0 released.** Tag `v0.1.0`, the qualified workflow artifacts,
31
+ > all six public `@opum-ai/lore*` npm packages, a clean registry install, and
32
+ > the private repository's GitHub Release agree on `0.1.0`. Trusted Publishing
33
+ > is configured for every package. LCLI-278 still blocks future automated
34
+ > `publish: true` dispatches; it does not invalidate the explicitly authorized
35
+ > interactive `0.1.0` bootstrap. See
36
+ > [Lore CLI release truth](docs/reference/lore-cli-release-truth.md).
34
37
 
35
38
  ---
36
39
 
@@ -71,44 +74,52 @@ Full details: [Backlog CLI contract](docs/reference/backlog-cli-contract.md) and
71
74
 
72
75
  ## Install
73
76
 
74
- `@opum-ai/lore` is not published. Until the release-truth evidence is
75
- complete, use a trusted source checkout and its pinned toolchain; do not expect
76
- these planned registry commands to work.
77
-
78
- After a verified release, the intended package and bin are
79
- `@opum-ai/lore` and `lore`:
77
+ The package and bin are `@opum-ai/lore` and `lore`:
80
78
 
81
79
  ```bash
82
80
  # Node / npm
83
- npx @opum-ai/lore --help
81
+ npx @opum-ai/lore@0.1.0 --help
84
82
 
85
83
  # Bun
86
- bunx @opum-ai/lore --help
84
+ bunx @opum-ai/lore@0.1.0 --help
85
+
86
+ # Global npm install
87
+ npm install -g @opum-ai/lore@0.1.0
87
88
  ```
88
89
 
90
+ `0.1.0` declared LadybugDB as a runtime dependency, so npm versions with
91
+ install-script approval may require
92
+ `npm install -g --allow-scripts=@ladybugdb/core @opum-ai/lore@0.1.0`. The next
93
+ release removes that exception: the launcher installs only the matching
94
+ script-free platform package, while qualified macOS/Linux executables embed
95
+ LadybugDB's native addon at build time. Windows continues to use the reference
96
+ backend and installs no LadybugDB package.
97
+
89
98
  Or add it to a project:
90
99
 
91
100
  ```bash
92
- bun add -d @opum-ai/lore # or: npm i -D @opum-ai/lore
101
+ bun add -d @opum-ai/lore@0.1.0 # or: npm i -D @opum-ai/lore@0.1.0
93
102
  ```
94
103
 
95
- The planned npm package is a dual artifact: a Node `.cjs` launcher plus a
104
+ The npm package is a dual artifact: a Node `.cjs` launcher plus a
96
105
  per-platform compiled binary delivered as `optionalDependencies` (built with
97
- `bun build --compile`, `-baseline` x64 targets). You also need a
106
+ `bun build --compile`, `-baseline` x64 targets). Starting with the next release,
107
+ all JavaScript libraries are build-only and are not installed transitively with
108
+ the launcher. You also need a
98
109
  `--json`-capable Backlog.md (>=1.49.0) on `PATH` — e.g. `npm install -g
99
110
  backlog.md`; see the [runbook](docs/runbooks/backlog-json-patch.md).
100
111
 
101
- ### Private-repository CI before npm publication
112
+ ### Private-repository CI
102
113
 
103
114
  Repositories inside the `opum-ai` organization can run strict Lore gates
104
- without a cross-repository PAT or a public npm release:
115
+ from the private source repository through the immutable composite action:
105
116
 
106
117
  ```yaml
107
118
  - uses: actions/checkout@v6
108
119
  - uses: opum-ai/lore-cli/.github/actions/strict-check@<full-commit-sha>
109
120
  ```
110
121
 
111
- The private composite action installs Bun 1.2.23 and this action revision's
122
+ The private composite action installs Bun 1.3.14 and this action revision's
112
123
  frozen dependencies, installs the published JSON-capable `backlog.md` version
113
124
  pinned by the Docker E2E harness, then runs `lore validate --strict` and `lore
114
125
  check --strict` against the caller workspace. Consumer workflows must replace
package/bin/lore.cjs CHANGED
@@ -11,11 +11,10 @@
11
11
  * `os`/`cpu` fields so only the matching one lands in `node_modules`) and exec it,
12
12
  * forwarding argv/stdio/exit code verbatim.
13
13
  *
14
- * NOT YET the active `bin` target: `package.json`'s `bin.lore` still points at
15
- * `src/cli.ts` (the pre-publish install path git dependency, `npm`/`bun link`), because
16
- * this file only works once the five platform packages it resolves are actually published.
17
- * Flipping `bin.lore` to this file is the first step of cutting a real release, not a
18
- * standing state — see docs/runbooks/release-publishing.md.
14
+ * This is the active `bin` target since the `0.1.0` release. It resolves only
15
+ * published platform packages, so source contributors should use `bun run lore`
16
+ * when exercising an unpublished platform addition; see
17
+ * docs/runbooks/release-publishing.md.
19
18
  *
20
19
  * Kept deliberately tiny and dependency-free plain CommonJS (`.cjs`, so it runs as
21
20
  * CJS regardless of the package's own `"type": "module"`) — per ADR-0001, "the
@@ -24,7 +23,7 @@
24
23
  * never imports `src/`.
25
24
  */
26
25
 
27
- const { spawnSync } = require("node:child_process");
26
+ const { spawn, spawnSync } = require("node:child_process");
28
27
  const os = require("node:os");
29
28
  const path = require("node:path");
30
29
 
@@ -77,6 +76,30 @@ function exitCodeForSignal(signal) {
77
76
  return signalNumber === undefined ? 1 : 128 + signalNumber;
78
77
  }
79
78
 
79
+ /**
80
+ * Windows Bun executables can lose output when they inherit a redirected file
81
+ * handle through Node. Give the executable real Node-owned pipes instead, then
82
+ * stream those pipes to the launcher's own stdout/stderr. This preserves live
83
+ * output without imposing spawnSync's maxBuffer limit.
84
+ */
85
+ function spawnWindowsBinary(binaryPath) {
86
+ const child = spawn(binaryPath, process.argv.slice(2), {
87
+ stdio: ["inherit", "pipe", "pipe"],
88
+ });
89
+ child.stdout.pipe(process.stdout);
90
+ child.stderr.pipe(process.stderr);
91
+
92
+ let spawnFailed = false;
93
+ child.once("error", (err) => {
94
+ spawnFailed = true;
95
+ process.stderr.write(`lore: failed to run the compiled binary at ${binaryPath}: ${err.message}\n`);
96
+ process.exitCode = 1;
97
+ });
98
+ child.once("close", (status, signal) => {
99
+ if (!spawnFailed) process.exitCode = status === null ? exitCodeForSignal(signal) : status;
100
+ });
101
+ }
102
+
80
103
  function main() {
81
104
  let binaryPath;
82
105
  try {
@@ -92,12 +115,17 @@ function main() {
92
115
  `lore: no compiled binary found for this platform (${process.platform}-${process.arch}).\n` +
93
116
  `Expected the optional dependency "${platformPackageName()}" to be installed alongside\n` +
94
117
  `@opum-ai/lore, but it is missing. If your platform/architecture is one lore\n` +
95
- `ships (macOS x64/arm64, Linux x64/arm64, Windows x64), try reinstalling with npm;\n` +
118
+ `ships (macOS x64/arm64, Linux x64/arm64, Windows x64/arm64), try reinstalling with npm;\n` +
96
119
  `otherwise this platform is not yet supported.\n`,
97
120
  );
98
121
  process.exit(1);
99
122
  }
100
123
 
124
+ if (process.platform === "win32") {
125
+ spawnWindowsBinary(binaryPath);
126
+ return;
127
+ }
128
+
101
129
  const result = spawnSync(binaryPath, process.argv.slice(2), { stdio: "inherit" });
102
130
  if (result.error) {
103
131
  process.stderr.write(`lore: failed to run the compiled binary at ${binaryPath}: ${result.error.message}\n`);
package/package.json CHANGED
@@ -1,12 +1,11 @@
1
1
  {
2
2
  "name": "@opum-ai/lore",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Thin, OKF-native documentation CLI that couples repo-resident docs to Backlog.md and serves them to agents and humans.",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "type": "module",
9
- "module": "src/cli.ts",
10
9
  "bin": {
11
10
  "lore": "bin/lore.cjs"
12
11
  },
@@ -16,26 +15,26 @@
16
15
  "type": "git",
17
16
  "url": "git+https://github.com/opum-ai/lore-cli.git"
18
17
  },
19
- "packageManager": "bun@1.2.23",
18
+ "packageManager": "bun@1.3.14",
20
19
  "engines": {
21
- "bun": ">=1.2.23"
20
+ "bun": ">=1.3.14"
22
21
  },
23
22
  "files": [
24
- "src",
25
23
  "bin",
26
24
  "README.md",
27
25
  "LICENSE"
28
26
  ],
29
27
  "optionalDependencies": {
30
- "@opum-ai/lore-darwin-arm64": "0.1.0",
31
- "@opum-ai/lore-darwin-x64": "0.1.0",
32
- "@opum-ai/lore-linux-arm64": "0.1.0",
33
- "@opum-ai/lore-linux-x64": "0.1.0",
34
- "@opum-ai/lore-win32-x64": "0.1.0"
28
+ "@opum-ai/lore-darwin-arm64": "0.1.1",
29
+ "@opum-ai/lore-darwin-x64": "0.1.1",
30
+ "@opum-ai/lore-linux-arm64": "0.1.1",
31
+ "@opum-ai/lore-linux-x64": "0.1.1",
32
+ "@opum-ai/lore-win32-arm64": "0.1.1",
33
+ "@opum-ai/lore-win32-x64": "0.1.1"
35
34
  },
36
35
  "scripts": {
37
36
  "lore": "bun run src/cli.ts",
38
- "build": "bun build --compile src/cli.ts --outfile dist/lore",
37
+ "build": "bun build --compile src/compiled.ts --outfile dist/lore",
39
38
  "typecheck": "tsc --noEmit",
40
39
  "format": "biome format --write .",
41
40
  "lint": "biome check .",
@@ -45,23 +44,24 @@
45
44
  "test:coverage": "bun test --coverage"
46
45
  },
47
46
  "devDependencies": {
47
+ "@ladybugdb/core": "0.19.0",
48
48
  "@biomejs/biome": "2.4.12",
49
49
  "@playwright/test": "1.62.1",
50
- "@types/bun": "^1.2.23",
50
+ "@types/bun": "^1.3.14",
51
51
  "@types/mdast": "4.0.4",
52
- "typescript": "^5"
53
- },
54
- "dependencies": {
55
- "@ladybugdb/core": "0.19.0",
56
52
  "commander": "15.0.0",
57
53
  "github-slugger": "2.0.0",
58
54
  "ipaddr.js": "2.4.0",
59
55
  "js-yaml": "5.2.2",
60
56
  "mdast-util-from-markdown": "2.0.3",
61
57
  "string-width": "8.2.2",
58
+ "typescript": "^5",
62
59
  "zod": "4.4.3"
63
60
  },
64
61
  "trustedDependencies": [
65
62
  "@ladybugdb/core"
66
- ]
63
+ ],
64
+ "patchedDependencies": {
65
+ "@ladybugdb/core@0.19.0": "patches/@ladybugdb%2Fcore@0.19.0.patch"
66
+ }
67
67
  }