llmwiki-bridge-start 0.0.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.
- package/LICENSE +13 -0
- package/README.md +235 -0
- package/bin/llmwiki-bridge-start.mjs +10 -0
- package/docs/supported-source-variants.md +75 -0
- package/package.json +57 -0
- package/src/index.mjs +5800 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
https://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
6
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
7
|
+
License at https://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
Unless required by applicable law or agreed to in writing, software distributed
|
|
10
|
+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
11
|
+
CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
|
12
|
+
specific language governing permissions and limitations under the License.
|
|
13
|
+
|
package/README.md
ADDED
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# llmwiki-bridge-start
|
|
2
|
+
|
|
3
|
+
Local adoption harness for connecting pre-built LLMWiki/OpenWiki knowledge
|
|
4
|
+
artifacts to `llmwiki-serve`, `llmwiki-agent-bridge`, and coding-agent clients.
|
|
5
|
+
|
|
6
|
+
This package does not compile or ingest knowledge. It discovers existing wiki
|
|
7
|
+
folders and Markdown knowledge-tool roots, validates that `llmwiki-serve` can
|
|
8
|
+
read them, starts loopback source servers when requested, registers those
|
|
9
|
+
sources with a local bridge when requested, and runs bridge smoke checks.
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
Recommended first run:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx llmwiki-bridge-start@latest --path ./wiki
|
|
17
|
+
npx llmwiki-bridge-start@latest --workspace
|
|
18
|
+
npx llmwiki-bridge-start@latest
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Use `--path ./wiki` when you already know the source folder. The scan is
|
|
22
|
+
constrained to that directory tree, so quickstart does not wander into your
|
|
23
|
+
home directory, workspace siblings, or unrelated local projects. Use
|
|
24
|
+
`--workspace` when you want quickstart to look under your `~/workspace`
|
|
25
|
+
directory. Use
|
|
26
|
+
the bare command when you want the guided flow to propose a broader scan; it
|
|
27
|
+
asks before scanning the current user's home directory.
|
|
28
|
+
|
|
29
|
+
Minimum success: when quickstart starts `llmwiki-serve` and reports healthy
|
|
30
|
+
loopback source endpoints, first onboarding has succeeded. If you skip
|
|
31
|
+
`llmwiki-agent-bridge`, quickstart prints one MCP Streamable HTTP registration
|
|
32
|
+
URL per started source, using the `http://127.0.0.1:<port>/mcp/stream` shape.
|
|
33
|
+
These are MCP-over-HTTP/Streamable HTTP server URLs for coding agents or
|
|
34
|
+
scripts that support MCP over HTTP; exact client configuration syntax varies by
|
|
35
|
+
client. `llmwiki-agent-bridge` can still be added later when you want source
|
|
36
|
+
fan-out or one normalized bridge across sources.
|
|
37
|
+
|
|
38
|
+
If `llmwiki-serve` is not on `PATH`, a sibling `../llmwiki-serve` checkout with
|
|
39
|
+
an existing `.venv` is used automatically when available. Otherwise point the
|
|
40
|
+
harness at a local checkout or environment explicitly, for example:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx llmwiki-bridge-start@latest --path ./wiki \
|
|
44
|
+
--serve-command uv --serve-arg run --serve-arg llmwiki-serve --serve-cwd ../llmwiki-serve
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Running `npx llmwiki-bridge-start@latest` with no subcommand starts the bounded
|
|
48
|
+
first-run quickstart flow; `quickstart` remains an explicit equivalent. By
|
|
49
|
+
default it asks before scanning the current user's home directory. Use `--path
|
|
50
|
+
DIR`, `--workspace`, or `--cwd` to constrain discovery before answering yes.
|
|
51
|
+
The flow shows a checkbox multi-select in interactive terminals, falls back to
|
|
52
|
+
comma-separated numbered selection for piped/non-interactive runs, validates
|
|
53
|
+
selected folders only when you choose to start them, waits for started
|
|
54
|
+
loopback source URLs to answer health checks, then explains that those URLs can
|
|
55
|
+
be used directly without
|
|
56
|
+
`llmwiki-agent-bridge`. Bridge setup is optional: if you skip it, quickstart
|
|
57
|
+
prints one coding-agent MCP Streamable HTTP registration URL (`/mcp/stream`)
|
|
58
|
+
per started source. For simple local use, this `llmwiki-serve` direct path is
|
|
59
|
+
already enough when your coding agent can register one or more MCP source URLs.
|
|
60
|
+
Add `llmwiki-agent-bridge` only when you want one bridge endpoint across
|
|
61
|
+
multiple sources or runtime-backed answers. Quickstart keeps the final screen
|
|
62
|
+
concise with an operational details file reference. PIDs, log paths, and stop
|
|
63
|
+
guidance are written to
|
|
64
|
+
`.llmwiki-bridge-start/quickstart-handoff.md`. After you choose source folders,
|
|
65
|
+
quickstart echoes the selected label and full path before validation/start. If
|
|
66
|
+
stdin and stdout are both interactive TTYs, quickstart clears only the visible
|
|
67
|
+
screen between major screens and redraws a compact `KBL / Knowledge Bridge
|
|
68
|
+
Labs` logo block at the top of each focused screen; redirected/piped
|
|
69
|
+
transcripts are unchanged. Use `--no-clear-screen` or
|
|
70
|
+
`LLMWIKI_BRIDGE_START_NO_CLEAR_SCREEN=1` to keep all interactive screens
|
|
71
|
+
visible. If
|
|
72
|
+
you opt in, quickstart uses an already running bridge or prints copy-pasteable
|
|
73
|
+
PowerShell and POSIX manual-start examples such as
|
|
74
|
+
`LLMWIKI_AGENT_BRIDGE_HOST='127.0.0.1' LLMWIKI_AGENT_BRIDGE_PORT='8788' npx --yes llmwiki-agent-bridge@0.2.0`;
|
|
75
|
+
custom `--bridge http://host:port` values are reflected in those env
|
|
76
|
+
assignments. The command does not install a global package.
|
|
77
|
+
Before starting that bridge command, quickstart asks how to configure the LLM
|
|
78
|
+
runtime for this bridge run: skip/evidence-only, Hermes, or DeepAgents. In
|
|
79
|
+
interactive terminals this is a single-select menu; piped/non-interactive runs
|
|
80
|
+
keep numeric text input for scripting compatibility. Hermes and DeepAgents are
|
|
81
|
+
the supported QuickStart runtime profiles. If the selected runtime CLI is
|
|
82
|
+
missing and an official OS-specific installer is recorded here, interactive
|
|
83
|
+
quickstart shows the exact documented install command, downloads the official
|
|
84
|
+
HTTPS installer script to `.llmwiki-bridge-start/logs`, and runs it only after
|
|
85
|
+
explicit approval. `--yes` automation still does not run runtime installers
|
|
86
|
+
unless `--install-runtime` is also passed; use `--no-install-runtime` to suppress
|
|
87
|
+
the installer prompt. Installation success only means the CLI was installed:
|
|
88
|
+
Hermes still needs its own setup/API-server configuration and `hermes gateway`;
|
|
89
|
+
DeepAgents still needs its own provider/auth setup. Runtime setup checks
|
|
90
|
+
installed frameworks through their supported CLI entrypoints (`hermes --version`,
|
|
91
|
+
`dcode --version`) and uses Hermes API server health (`/health` or `/v1/health`)
|
|
92
|
+
when deciding whether a Hermes endpoint can be offered as the Enter default.
|
|
93
|
+
DeepAgents Code is checked through `dcode`, but quickstart does not infer a
|
|
94
|
+
bridge runtime endpoint from DeepAgents config because no supported local
|
|
95
|
+
endpoint discovery contract is recorded here. Quickstart also does not treat
|
|
96
|
+
legacy or user-local runtime aliases such as `HERMES_BASE_URL`,
|
|
97
|
+
`DEEPAGENTS_BASE_URL`, or `OPENAI_BASE_URL` as first-run defaults. If a default
|
|
98
|
+
endpoint is shown, it came from an explicit CLI flag, the standard
|
|
99
|
+
`LLMWIKI_AGENT_BRIDGE_BASE_URL`, or a framework-supported local health probe
|
|
100
|
+
such as Hermes `/health`; blank Enter uses that verified/configured default,
|
|
101
|
+
and `skip` forces evidence-only. If no default endpoint is shown, blank Enter
|
|
102
|
+
or `skip` continues with evidence-only bridge smoke.
|
|
103
|
+
DeepAgents ACP is an explicit bridge adapter path, not the default DeepAgents
|
|
104
|
+
profile behavior. Use `--runtime-adapter deepagents-acp` when you want
|
|
105
|
+
QuickStart to configure `runtimeAdapter=deepagents-acp`; a background bridge
|
|
106
|
+
start then receives `LLMWIKI_AGENT_BRIDGE_RUNTIME_ADAPTER=deepagents-acp`, and
|
|
107
|
+
an already running bridge receives `runtimeAdapter: "deepagents-acp"` through
|
|
108
|
+
`/settings/config.json`. Without that explicit adapter flag, DeepAgents keeps
|
|
109
|
+
the existing endpoint-based compatibility path when you enter an
|
|
110
|
+
OpenAI-compatible runtime URL, or the safe evidence-only fallback when you do
|
|
111
|
+
not. Inherited `LLMWIKI_AGENT_BRIDGE_RUNTIME_ADAPTER` values in the parent
|
|
112
|
+
shell are ignored by QuickStart and scrubbed before background bridge startup;
|
|
113
|
+
use the explicit flag when ACP is intended.
|
|
114
|
+
Quickstart runs the bridge start command only after a second explicit
|
|
115
|
+
approval. Once a bridge is running, it merge-registers the started sources and
|
|
116
|
+
runs an A2A-style smoke request. After a successful bridge smoke, quickstart
|
|
117
|
+
prints a concise bridge handoff with the bridge base URL, A2A-style answer
|
|
118
|
+
endpoint (`POST /message:send`), MCP-style JSON-RPC endpoint (`POST /mcp`),
|
|
119
|
+
settings UI (`/settings`), and a compact operational details section that
|
|
120
|
+
points to `.llmwiki-bridge-start/quickstart-handoff.md` for PIDs, log paths,
|
|
121
|
+
and stop guidance. The bridge endpoint handoff is separate from direct source
|
|
122
|
+
MCP Streamable HTTP URLs (`/mcp/stream`). If an explicit LLM
|
|
123
|
+
endpoint is configured through flags, quickstart treats it as a preconfigured
|
|
124
|
+
compatibility path without adding it to the interactive first-run menu.
|
|
125
|
+
|
|
126
|
+
Quickstart keeps the first selection list focused. By default it shows
|
|
127
|
+
recommended LLMWiki source folders: Native LLMWiki/OpenWiki projections and
|
|
128
|
+
LLMWiki Markdown roots. Native LLMWiki/OpenWiki means an already compiled
|
|
129
|
+
projection; LLMWiki Markdown means a source-like wiki that can be served
|
|
130
|
+
through the Markdown adapter. App vaults, graphs, workspaces, generic Markdown
|
|
131
|
+
folders, and noisy example/demo/starter/e2e paths are treated as
|
|
132
|
+
advanced/lower-priority candidates. They are hidden from the default
|
|
133
|
+
quickstart selection list when at least one recommended source exists. Use
|
|
134
|
+
`--include-additional` to render recommended and advanced/lower-priority
|
|
135
|
+
candidates as separate selectable sections.
|
|
136
|
+
If an app vault contains a strong direct child `wiki/` source, default
|
|
137
|
+
quickstart presents the child as recommended and keeps the parent app vault in
|
|
138
|
+
the advanced/lower-priority section. If quickstart finds only
|
|
139
|
+
advanced/lower-priority candidates without `--include-additional`, it stops
|
|
140
|
+
before selection and asks you to rerun with `--include-additional`.
|
|
141
|
+
|
|
142
|
+
The scriptable `discover` command is inventory, not presentation. Within the
|
|
143
|
+
directories it scans, it reports every candidate that meets its score threshold,
|
|
144
|
+
including parent/child overlaps and app vault roots that also contain a strong
|
|
145
|
+
child `wiki/` source. Noisy-path and advanced/lower-priority filtering is a
|
|
146
|
+
quickstart UX policy, not a broad-discover hiding rule.
|
|
147
|
+
|
|
148
|
+
`--yes` is intended for local smoke automation: it accepts discovery and source
|
|
149
|
+
startup defaults, selects the first candidate, and still skips optional bridge
|
|
150
|
+
setup unless `--setup-bridge` is also supplied.
|
|
151
|
+
|
|
152
|
+
Default discovery scans the user home directory unless `--path`, `--cwd`, or
|
|
153
|
+
`--workspace` is supplied. The scanner prefers optional local tools such as
|
|
154
|
+
`fd`/`rg` when available and falls back to Node traversal. It scores likely
|
|
155
|
+
wiki roots, exposes the markers behind each score, keeps parent/child overlap
|
|
156
|
+
visible when both paths meet the score threshold, and optionally validates
|
|
157
|
+
candidates with `llmwiki-serve manifest`. The default minimum score is `30`.
|
|
158
|
+
Generic Markdown folders are often low confidence, so use `--min-score 10` when
|
|
159
|
+
intentionally looking for plain Markdown folders. Broad scans still avoid
|
|
160
|
+
dependency, cache, build, transient editor/download, and other infrastructure
|
|
161
|
+
folders; pass an explicit `--path DIR` when you intentionally want to inspect a
|
|
162
|
+
normally skipped area.
|
|
163
|
+
|
|
164
|
+
Quickstart intentionally prints full local paths for disambiguation so users can
|
|
165
|
+
distinguish candidate folders before starting servers. Redact or replace those
|
|
166
|
+
paths and any private bridge/runtime endpoints before publishing screenshots,
|
|
167
|
+
logs, docs, or issue reports.
|
|
168
|
+
When several visible candidates are all named `wiki`, or a candidate is under
|
|
169
|
+
`.llmwiki-work`, quickstart adds a small parent/project context to the display
|
|
170
|
+
label while still printing the full path on the next line.
|
|
171
|
+
|
|
172
|
+
### Advanced/scriptable commands
|
|
173
|
+
|
|
174
|
+
Use these when you want to automate or debug individual steps. They are not a
|
|
175
|
+
required first-run sequence.
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
npx llmwiki-bridge-start@latest discover --home
|
|
179
|
+
npx llmwiki-bridge-start@latest discover --path . --validate
|
|
180
|
+
npx llmwiki-bridge-start@latest start --path ./wiki --port 11001
|
|
181
|
+
npx llmwiki-bridge-start@latest register --bridge http://127.0.0.1:8788 --config .llmwiki-bridge-start/sources.json
|
|
182
|
+
npx llmwiki-bridge-start@latest smoke --bridge http://127.0.0.1:8788
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
## Supported Source Variants
|
|
186
|
+
|
|
187
|
+
`discover` is a heuristic finder. The score and confidence explain why a folder
|
|
188
|
+
looks like a candidate; `--validate` is the compatibility check that asks
|
|
189
|
+
`llmwiki-serve manifest` whether the candidate can actually be served.
|
|
190
|
+
|
|
191
|
+
| Variant | Meaning | Detection markers | Default confidence |
|
|
192
|
+
| --- | --- | --- | --- |
|
|
193
|
+
| Native LLMWiki/OpenWiki projection | An already-built projection intended to be served by `llmwiki-serve`. | `.wiki-compiler.json`; sidecar graph or projection metadata such as `graph/graph.json`; or structural projection combinations that include stronger projection frontmatter such as `source_refs` or `sources`, `hot.md` plus `index.md` or `overview.md`, and typed folders such as `concepts/`, `entities/`, `sources/`, or `queries/`. Frontmatter alone, `review_state` alone, `wiki_title` alone, `hot.md` alone, and docs-like hub plus typed folders are not enough to classify Native. | Usually medium to high; high when multiple projection markers are present. |
|
|
194
|
+
| LLMWiki Markdown | A source-like Markdown wiki root that `llmwiki-serve` can often read with its Markdown adapter, but that is not a compiled Native projection. | Source-like root names such as `wiki`, `llmwiki`, `openwiki`, or `vault`, plus typed folders and either a strong hub pair (`hot.md` plus `index.md`/`overview.md`) or a hub file with a larger Markdown set. | Usually medium to high; validate before treating it as startable. |
|
|
195
|
+
| Obsidian vault | A plain-file Obsidian vault that may be usable directly or through a future adapter. | `.obsidian/` plus Markdown notes. If the vault has a strong direct child `wiki/` source, `discover` keeps both the vault root and child visible when both meet the score threshold. Default quickstart presents the child as recommended and the parent app vault as advanced/lower-priority. App markers keep the app variant label unless stronger projection evidence such as `.wiki-compiler.json`, sidecar graph metadata, or `source_refs` marks a compiled projection. | Medium before validation; higher only if projection markers are also present. |
|
|
196
|
+
| Logseq graph | A Logseq knowledge graph. | `logseq/config.edn`, or the weaker fallback of both `pages/` and `journals/`. | Medium for `logseq/config.edn`; low for `pages/` plus `journals/` unless other source-like hints are present. |
|
|
197
|
+
| Dendron workspace | A Dendron workspace or vault root. | `dendron.yml`. | Medium. |
|
|
198
|
+
| Foam workspace | A Foam Markdown workspace. | `.foam/`, or the weaker fallback of a VS Code extensions recommendation that mentions Foam. | Medium for `.foam/`; low for the VS Code hint unless other source-like hints are present. |
|
|
199
|
+
| Quartz site source | A Quartz site content repository. | `quartz.config.ts`, `.js`, `.yaml`, or `.yml`. | Medium. |
|
|
200
|
+
| Generic Markdown fallback | A folder of Markdown or Org files without a known app or projection marker. | Markdown file counts, source-like folder names such as `wiki`, `llmwiki`, `openwiki`, or `vault`, hub files, and projection-like frontmatter. | Low by default and capped below the default `--min-score 30`; use `--min-score 10` for intentional fallback discovery. |
|
|
201
|
+
|
|
202
|
+
Confidence bands are score-based: `60+` is high, `30-59` is medium, `10-29` is
|
|
203
|
+
low, and lower scores are hidden. Validation does not change the source files;
|
|
204
|
+
it runs `llmwiki-serve manifest <candidate>` and reports `startable: yes/no`
|
|
205
|
+
plus manifest fields such as title, source id, adapter, page counts, and graph
|
|
206
|
+
counts when available. The `start` command performs the same manifest check
|
|
207
|
+
before launching `llmwiki-serve serve`.
|
|
208
|
+
|
|
209
|
+
See [Supported Source Variants](docs/supported-source-variants.md) for the
|
|
210
|
+
longer compatibility notes and non-goals.
|
|
211
|
+
|
|
212
|
+
## Commands
|
|
213
|
+
|
|
214
|
+
| Command | Purpose |
|
|
215
|
+
| --- | --- |
|
|
216
|
+
| no subcommand / `quickstart` | Guided first-run flow: optional discover, multi-select, validate/start sources, optional bridge setup, register, and A2A-style smoke. |
|
|
217
|
+
| `discover` | Find local LLMWiki Markdown, Native LLMWiki/OpenWiki, Obsidian, Logseq, Foam, Dendron, Quartz, and generic Markdown candidates. |
|
|
218
|
+
| `start` | Start `llmwiki-serve` on one or more selected local wiki paths. |
|
|
219
|
+
| `register` | Upsert started or existing source URLs into `llmwiki-agent-bridge`. Use `--replace` only when intentionally replacing the registry. |
|
|
220
|
+
| `smoke` | Run a bridge smoke request; defaults to evidence-only and accepts delegated-runtime or hybrid with `--mode`. |
|
|
221
|
+
| `doctor` | Check local prerequisites and optional bridge reachability. |
|
|
222
|
+
|
|
223
|
+
## Boundary
|
|
224
|
+
|
|
225
|
+
`llmwiki-bridge-start` is an onboarding/adoption harness. It is not a wiki
|
|
226
|
+
compiler, crawler, sync engine, model runtime, Redis manager, production auth
|
|
227
|
+
layer, or replacement for `llmwiki-agent-bridge`. It also does not promise
|
|
228
|
+
lossless interpretation of Obsidian, Logseq, Dendron, Foam, or Quartz-specific
|
|
229
|
+
syntax; manifest validation is the source of truth for whether the current
|
|
230
|
+
`llmwiki-serve` can serve a candidate.
|
|
231
|
+
|
|
232
|
+
`llmwiki-agent-bridge` remains optional. Use the direct `llmwiki-serve`
|
|
233
|
+
handoff URLs when your local agent or script can call each source itself. Add
|
|
234
|
+
the bridge later when you want source fan-out, runtime-backed synthesis, or one
|
|
235
|
+
normalized bridge across sources.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { runCli } from '../src/index.mjs'
|
|
4
|
+
|
|
5
|
+
runCli(process.argv.slice(2)).catch((error) => {
|
|
6
|
+
const message = error && typeof error.message === 'string' ? error.message : String(error)
|
|
7
|
+
console.error(`llmwiki-bridge-start: ${message}`)
|
|
8
|
+
process.exitCode = 1
|
|
9
|
+
})
|
|
10
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Supported Source Variants
|
|
2
|
+
|
|
3
|
+
`llmwiki-bridge-start discover` is a heuristic finder. It does not certify that
|
|
4
|
+
a folder is usable. The compatibility check is `llmwiki-serve manifest`, which
|
|
5
|
+
is run by `discover --validate`, `quickstart` after candidate selection, and
|
|
6
|
+
`start` before launching a source server.
|
|
7
|
+
|
|
8
|
+
`discover` is scriptable inventory. Within the directories it scans, it should
|
|
9
|
+
show every candidate that meets the selected score threshold, including
|
|
10
|
+
parent/child overlap and app vault roots that also contain a strong child
|
|
11
|
+
`wiki/` source. `quickstart` is the presentation layer: by default it
|
|
12
|
+
recommends Native LLMWiki/OpenWiki and LLMWiki Markdown sources. Native
|
|
13
|
+
LLMWiki/OpenWiki means an already compiled projection; LLMWiki Markdown means a
|
|
14
|
+
source-like wiki served through the Markdown adapter. App vaults, graphs,
|
|
15
|
+
workspaces, generic Markdown folders, and noisy example/demo/starter/e2e paths
|
|
16
|
+
are advanced/lower-priority candidates and visible with `--include-additional`.
|
|
17
|
+
|
|
18
|
+
For first-run onboarding, prefer `--path DIR` when you already know the source
|
|
19
|
+
folder. That constrains discovery to the selected directory tree instead of
|
|
20
|
+
scanning the current user's home directory or unrelated workspace siblings.
|
|
21
|
+
|
|
22
|
+
## Variants
|
|
23
|
+
|
|
24
|
+
| Variant | Intended use | Detection markers | Default confidence |
|
|
25
|
+
| --- | --- | --- | --- |
|
|
26
|
+
| Native LLMWiki/OpenWiki projection | Already-built source projection for serving to coding agents. | `.wiki-compiler.json`; sidecar graph or projection metadata such as `graph/graph.json`; or structural projection combinations that include stronger projection frontmatter such as `source_refs` or `sources`, `hot.md` plus `index.md` or `overview.md`, and typed folders such as `concepts/`, `entities/`, `sources/`, or `queries/`. Frontmatter alone, `review_state` alone, `wiki_title` alone, `hot.md` alone, and docs-like hub plus typed folders are not enough to classify Native. | Usually medium to high; high when several projection markers combine. |
|
|
27
|
+
| LLMWiki Markdown | Source-like Markdown wiki root for `llmwiki-serve`'s Markdown adapter. | Source-like root names such as `wiki`, `llmwiki`, `openwiki`, or `vault`, plus typed folders and either a strong hub pair (`hot.md` plus `index.md`/`overview.md`) or a hub file with a larger Markdown set. | Usually medium to high; validate before treating it as startable. |
|
|
28
|
+
| Obsidian vault | Plain-file Obsidian vault that may include a nested `wiki/` hub. | `.obsidian/` plus Markdown notes. Strong direct child `wiki/` sources do not remove the vault root from `discover`; both are listed when both meet the score threshold. Default quickstart recommends the child `wiki/` source and places the parent app vault in the advanced/lower-priority section. App markers keep the app variant label unless stronger projection evidence such as `.wiki-compiler.json`, sidecar graph metadata, or `source_refs` marks a compiled projection. | Medium before validation; higher only when projection markers are also present. |
|
|
29
|
+
| Logseq graph | Local Logseq graph. | `logseq/config.edn`, or weaker fallback markers `pages/` plus `journals/`. | Medium for config; low for only `pages/` plus `journals/`. |
|
|
30
|
+
| Dendron workspace | Dendron workspace or vault root. | `dendron.yml`. | Medium. |
|
|
31
|
+
| Foam workspace | Foam Markdown workspace. | `.foam/`, or a VS Code extension recommendation mentioning Foam. | Medium. |
|
|
32
|
+
| Quartz site source | Quartz source repository. | `quartz.config.ts`, `quartz.config.js`, `quartz.config.yaml`, or `quartz.config.yml`. | Medium. |
|
|
33
|
+
| Generic Markdown fallback | Deliberately selected Markdown/Org folder without stronger app or projection markers. | Markdown/Org count, source-like root names such as `wiki`, `llmwiki`, `openwiki`, or `vault`, hub files, and projection-like frontmatter. | Low by default and capped below `--min-score 30`; use `--min-score 10` intentionally. |
|
|
34
|
+
|
|
35
|
+
## Confidence and validation
|
|
36
|
+
|
|
37
|
+
- `60+`: high confidence.
|
|
38
|
+
- `30-59`: medium confidence.
|
|
39
|
+
- `10-29`: low confidence.
|
|
40
|
+
- Below `10`: hidden.
|
|
41
|
+
|
|
42
|
+
Confidence is only a discovery score. Validation is separate:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
llmwiki-bridge-start discover --path . --validate
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Validation reports whether the candidate is `startable` and includes manifest
|
|
49
|
+
fields such as title, source id, adapter, page counts, approved page counts, and
|
|
50
|
+
graph counts when available.
|
|
51
|
+
|
|
52
|
+
## Discovery transparency and quickstart filtering
|
|
53
|
+
|
|
54
|
+
Broad `discover` output is threshold-driven inventory after traversal safety
|
|
55
|
+
guards have selected directories to inspect. It must not hide otherwise scoring
|
|
56
|
+
candidates merely because they are app vault roots, generic Markdown folders,
|
|
57
|
+
or parents of stronger child `wiki/` sources. Quickstart applies the default UX
|
|
58
|
+
filter by splitting candidates into recommended and advanced/lower-priority
|
|
59
|
+
sections; pass `--include-additional` to make the advanced section selectable.
|
|
60
|
+
|
|
61
|
+
Traversal may still avoid infrastructure folders that are not useful source
|
|
62
|
+
roots, such as dependency, cache, build, transient editor/download, and OS
|
|
63
|
+
folders. That safety guard is separate from noisy-path presentation filtering.
|
|
64
|
+
When `--path DIR` is supplied, traversal is constrained to that directory tree;
|
|
65
|
+
use it for targeted validation and for normally skipped areas that you
|
|
66
|
+
intentionally want to inspect.
|
|
67
|
+
|
|
68
|
+
The CLI prints full local paths for disambiguation by design. Redact or replace
|
|
69
|
+
those paths before publishing screenshots, logs, docs, or issue reports.
|
|
70
|
+
|
|
71
|
+
## Non-goals
|
|
72
|
+
|
|
73
|
+
This package does not compile repositories into knowledge graphs, convert
|
|
74
|
+
app-specific syntax into canonical LLMWiki pages, crawl remote wikis, sync app
|
|
75
|
+
state, manage Redis or model runtimes, or replace `llmwiki-agent-bridge`.
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "llmwiki-bridge-start",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"private": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"description": "Local adoption harness for connecting pre-built LLMWiki knowledge sources to agent bridges and coding-agent clients.",
|
|
7
|
+
"license": "Apache-2.0",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/knowledge-bridge-labs/llmwiki-bridge-start.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/knowledge-bridge-labs/llmwiki-bridge-start/issues"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://knowledge-bridge-labs.github.io/llmwiki-docs/",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"llmwiki",
|
|
18
|
+
"knowledge-source",
|
|
19
|
+
"agent-runtime",
|
|
20
|
+
"mcp",
|
|
21
|
+
"a2a",
|
|
22
|
+
"onboarding",
|
|
23
|
+
"bridge",
|
|
24
|
+
"codex",
|
|
25
|
+
"claude-code",
|
|
26
|
+
"cursor"
|
|
27
|
+
],
|
|
28
|
+
"main": "./src/index.mjs",
|
|
29
|
+
"exports": "./src/index.mjs",
|
|
30
|
+
"bin": {
|
|
31
|
+
"llmwiki-bridge-start": "bin/llmwiki-bridge-start.mjs"
|
|
32
|
+
},
|
|
33
|
+
"files": [
|
|
34
|
+
"bin/llmwiki-bridge-start.mjs",
|
|
35
|
+
"docs/supported-source-variants.md",
|
|
36
|
+
"src",
|
|
37
|
+
"README.md",
|
|
38
|
+
"LICENSE"
|
|
39
|
+
],
|
|
40
|
+
"packageManager": "npm@10.9.7",
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=22.12",
|
|
43
|
+
"npm": ">=10"
|
|
44
|
+
},
|
|
45
|
+
"scripts": {
|
|
46
|
+
"lint": "node --check bin/llmwiki-bridge-start.mjs && node --check src/index.mjs && node --check test/discover.test.mjs",
|
|
47
|
+
"test": "node --test test/*.test.mjs",
|
|
48
|
+
"check": "npm run lint && npm test && npm run pack:dry-run",
|
|
49
|
+
"pack:dry-run": "npm pack --dry-run --json --ignore-scripts",
|
|
50
|
+
"audit": "npm audit --omit=dev"
|
|
51
|
+
},
|
|
52
|
+
"dependencies": {
|
|
53
|
+
"@clack/prompts": "1.7.0",
|
|
54
|
+
"cross-spawn": "^7.0.6",
|
|
55
|
+
"sisteransi": "^1.0.5"
|
|
56
|
+
}
|
|
57
|
+
}
|