docbridge 0.7.0 → 0.9.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/CHANGELOG.md +111 -1
- package/README.md +55 -372
- package/dist/bin/darwin-arm64/SHA256SUMS +2 -2
- package/dist/bin/darwin-arm64/docbridge-swift-scanner +0 -0
- package/dist/bin/darwin-arm64/docbridge_dart_scanner +0 -0
- package/dist/bin/linux-x64/SHA256SUMS +2 -2
- package/dist/bin/linux-x64/docbridge-swift-scanner +1 -1
- package/dist/bin/linux-x64/docbridge_dart_scanner +0 -0
- package/dist/index.js +2502 -947
- package/docs/README.md +66 -0
- package/docs/user/automation.md +104 -0
- package/docs/user/commands.md +75 -4
- package/docs/user/configuration.md +13 -3
- package/docs/user/getting-started.md +6 -2
- package/docs/user/linking.md +202 -0
- package/docs/user/troubleshooting.md +62 -22
- package/package.json +2 -1
- package/schemas/docbridge.links.schema.json +39 -0
- package/schemas/scanner-worker.schema.json +1 -0
- package/templates/skills/README.md +16 -23
- package/templates/skills/docbridge/SKILL.md +125 -0
- package/docs/user/agent-integration.md +0 -70
- package/docs/user/annotations.md +0 -52
- package/templates/skills/docbridge-adopt/SKILL.md +0 -96
- package/templates/skills/docbridge-annotate/SKILL.md +0 -99
- package/templates/skills/docbridge-link/SKILL.md +0 -80
- package/templates/skills/docbridge-review/SKILL.md +0 -62
- package/templates/skills/docbridge-sync/SKILL.md +0 -68
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,114 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.9.0] - 2026-09-23
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- An optional root file `docbridge.links.json` declares links without any
|
|
15
|
+
annotation in code or Markdown, for projects that do not accept
|
|
16
|
+
tool-specific markers in their source files. One entry declares both
|
|
17
|
+
directions, so DocBridge checks only that both targets exist and reports no
|
|
18
|
+
missing backlink. `check`, `related`, `context`, `graph`, `--audit`, and
|
|
19
|
+
editor navigation treat a declared link like an annotated one, and both
|
|
20
|
+
styles can be used in one project. A `code` target can name a type member in
|
|
21
|
+
all four supported languages. Annotation linking remains the recommended
|
|
22
|
+
style, and a declared link is invisible to a reader of either file, so
|
|
23
|
+
`related --gate` in continuous integration is the remaining safety net.
|
|
24
|
+
- `code_symbol_not_found` reports a manifest `code` target whose file is in
|
|
25
|
+
scope but whose canonical ID does not exist, located at the manifest entry
|
|
26
|
+
and carrying a `Did you mean` suggestion.
|
|
27
|
+
- `docbridge upgrade` reports version drift and reconciles managed agent
|
|
28
|
+
assets. `--check` is a read-only diagnostic covering the installed version,
|
|
29
|
+
the latest stable release, package-manager upgrade guidance, the managed
|
|
30
|
+
`docbridge` skill state, leftover legacy skill directories, symlinks, and
|
|
31
|
+
locally modified files. `--dry-run` prints the full plan, and `--force`
|
|
32
|
+
replaces the managed skill and removes only the five known legacy skill
|
|
33
|
+
directories when they are ordinary directories reached through ordinary
|
|
34
|
+
directories. Every path component below the project root is checked, so a
|
|
35
|
+
symlinked `.agents/skills` or `.claude/skills` can never route a write or a
|
|
36
|
+
removal outside the selected project. Symlinks and regular files carrying a
|
|
37
|
+
legacy name are reported and preserved, replacing the managed skill reproduces
|
|
38
|
+
the packaged template exactly, destructive operations require `--yes` or an
|
|
39
|
+
interactive confirmation, and configuration, hooks, CI recipes, and user files
|
|
40
|
+
are never touched.
|
|
41
|
+
- Human-readable terminal invocations print one stderr notice when a newer
|
|
42
|
+
stable release is published on npm. The lookup uses a bounded timeout and a
|
|
43
|
+
daily per-user cache, fails silently offline, and is suppressed in CI, for
|
|
44
|
+
`--json` output, for `lsp` and `upgrade`, for non-TTY output, and when
|
|
45
|
+
`DOCBRIDGE_NO_UPDATE_CHECK=1` is set. That variable also stops `upgrade` from
|
|
46
|
+
contacting the registry. Command stdout and exit codes are unchanged. Upgrade
|
|
47
|
+
guidance is derived from the project the command acted on (`--root`) and the
|
|
48
|
+
current directory, so a project dependency invoked from elsewhere is not
|
|
49
|
+
mistaken for a global install.
|
|
50
|
+
- A documentation hub, matching Japanese task guides, and the read-only
|
|
51
|
+
`just check-docs` structural gate provide a maintained path through user,
|
|
52
|
+
integration, specification, and contributor documentation.
|
|
53
|
+
|
|
54
|
+
### Changed
|
|
55
|
+
|
|
56
|
+
- `docbridge docs show` no longer accepts the 0.8.0 names `linking-workflow`
|
|
57
|
+
and `link-review`, or the older names `annotations` and `agent-integration`.
|
|
58
|
+
Use `linking` for the first three and `automation` for `agent-integration`.
|
|
59
|
+
Projects with a 0.8.0 `docbridge` skill should refresh it with
|
|
60
|
+
`docbridge upgrade --force` because that skill calls the removed names.
|
|
61
|
+
- Packaged user documentation is consolidated into six task-oriented names:
|
|
62
|
+
`getting-started`, `configuration`, `linking`, `commands`, `automation`, and
|
|
63
|
+
`troubleshooting`.
|
|
64
|
+
- `just vscode-lsp` and `just cursor-lsp` build their VSIX with the same
|
|
65
|
+
implementation release packaging uses, in a local mode that requires only the
|
|
66
|
+
host platform's staged scanner binaries. Release packaging still requires
|
|
67
|
+
every supported platform.
|
|
68
|
+
|
|
69
|
+
### Fixed
|
|
70
|
+
|
|
71
|
+
- The locally installed editor extension shipped a raw `src/` tree without
|
|
72
|
+
`ajv` or `schemas/`, which the bundled server's imports need, so its language
|
|
73
|
+
server could not start. Both installation helpers and release packaging now
|
|
74
|
+
ship the same bundled server. `just verify-vsix` additionally initializes the
|
|
75
|
+
packaged language server outside the checkout, exercises a linked
|
|
76
|
+
TypeScript/Markdown fixture, and rejects an artifact carrying a source tree or
|
|
77
|
+
test files.
|
|
78
|
+
- A type error in the editor client now fails required CI. `just verify` and the
|
|
79
|
+
CI gate run `just typecheck-extension`, which covers the separate TypeScript
|
|
80
|
+
project the root `tsconfig.json` excludes.
|
|
81
|
+
|
|
82
|
+
## [0.8.0] - 2026-08-18
|
|
83
|
+
|
|
84
|
+
### Added
|
|
85
|
+
|
|
86
|
+
- The VS Code-compatible extension `salan70.docbridge` is published on Visual
|
|
87
|
+
Studio Marketplace.
|
|
88
|
+
- Packaged user docs now cover linking workflow and semantic link review
|
|
89
|
+
(`docbridge docs show linking-workflow`, `docbridge docs show link-review`),
|
|
90
|
+
plus supported and unsupported `@doc` declaration forms, the heading-anchor
|
|
91
|
+
algorithm, and named link-authoring diagnostic codes.
|
|
92
|
+
- Human-readable `docbridge check` output ends with a pointer to
|
|
93
|
+
`docbridge docs show troubleshooting`. `check --json` is unchanged.
|
|
94
|
+
|
|
95
|
+
### Changed
|
|
96
|
+
|
|
97
|
+
- `docbridge init` and `docbridge init-with-agent` install one skill,
|
|
98
|
+
`docbridge`, instead of the five companion skills. The skill routes adopt,
|
|
99
|
+
discover-and-link, annotate, review, and sync work; facts about the binary
|
|
100
|
+
come from `docbridge docs show`.
|
|
101
|
+
|
|
102
|
+
### Fixed
|
|
103
|
+
|
|
104
|
+
- `just package-vsix` bundles `vscode-languageclient` into the editor client.
|
|
105
|
+
Packaging with `--no-dependencies` previously omitted the module, so the
|
|
106
|
+
installed VSIX failed to activate.
|
|
107
|
+
- `docs/user/annotations.md` no longer claims GitHub-style numeric suffixes for
|
|
108
|
+
duplicate headings. Duplicate anchors in one file are `duplicate_doc_anchor`.
|
|
109
|
+
|
|
110
|
+
### Upgrading
|
|
111
|
+
|
|
112
|
+
- Existing installs keep the five legacy skill directories
|
|
113
|
+
(`docbridge-adopt`, `docbridge-annotate`, `docbridge-link`,
|
|
114
|
+
`docbridge-review`, `docbridge-sync`) until `docbridge init --force` is run.
|
|
115
|
+
Review locally edited copies first. Symlinked skill directories are reported
|
|
116
|
+
and left untouched.
|
|
117
|
+
|
|
10
118
|
## [0.7.0] - 2026-08-16
|
|
11
119
|
|
|
12
120
|
### Added
|
|
@@ -315,7 +423,9 @@ Initial release of the SpecLink CLI.
|
|
|
315
423
|
- `speclink check` command with `--root`, `--json`, and `--audit` options.
|
|
316
424
|
- `speclink --version` (alias `-v`) and `speclink --help` (alias `-h`).
|
|
317
425
|
|
|
318
|
-
[Unreleased]: https://github.com/salan70/docbridge/compare/v0.
|
|
426
|
+
[Unreleased]: https://github.com/salan70/docbridge/compare/v0.9.0...HEAD
|
|
427
|
+
[0.9.0]: https://github.com/salan70/docbridge/releases/tag/v0.9.0
|
|
428
|
+
[0.8.0]: https://github.com/salan70/docbridge/releases/tag/v0.8.0
|
|
319
429
|
[0.7.0]: https://github.com/salan70/docbridge/releases/tag/v0.7.0
|
|
320
430
|
[0.6.1]: https://github.com/salan70/docbridge/releases/tag/v0.6.1
|
|
321
431
|
[0.6.0]: https://github.com/salan70/docbridge/releases/tag/v0.6.0
|
package/README.md
CHANGED
|
@@ -4,60 +4,48 @@
|
|
|
4
4
|
[](docs/ja/README.md)
|
|
5
5
|
[](https://deepwiki.com/salan70/docbridge)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
DocBridge keeps Markdown documentation and the code that implements it linked
|
|
8
|
+
in both directions. It validates `@doc` annotations on supported TypeScript,
|
|
9
|
+
Swift, Dart, and Rust declarations against `@code` annotations on Markdown
|
|
10
|
+
headings, so humans and coding agents can find the right counterpart before a
|
|
11
|
+
change drifts.
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
and Markdown documentation, enabling LSP-like experiences such as Hover,
|
|
11
|
-
Definition, References, and Diagnostics across implementation and specification
|
|
12
|
-
files.
|
|
13
|
+
## Requirements
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
- Node.js 22 or later, or Bun 1.1.31 or later
|
|
16
|
+
- A project containing Markdown and supported source files
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
Prebuilt Swift, Dart, and Rust scanners are included for supported macOS and
|
|
19
|
+
Linux platforms. See [Releases](https://github.com/salan70/docbridge/releases)
|
|
20
|
+
for packaged-platform details.
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
npx docbridge check
|
|
21
|
-
# or
|
|
22
|
-
bunx docbridge check
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
See the npm badge above or
|
|
26
|
-
[Releases](https://github.com/salan70/docbridge/releases) for the current
|
|
27
|
-
version.
|
|
28
|
-
|
|
29
|
-
The package includes prebuilt Swift, Dart, and Rust scanner
|
|
30
|
-
binaries for `darwin-arm64` and `linux-x64`. TypeScript and Markdown checks run
|
|
31
|
-
without scanner binaries. Configured Swift, Dart, or Rust projects on unsupported
|
|
32
|
-
platforms report `code_scanner_unavailable` and name the supported platform
|
|
33
|
-
keys.
|
|
22
|
+
## Install
|
|
34
23
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
Run first-time setup in the project root:
|
|
24
|
+
Add DocBridge to the project that owns the documentation:
|
|
38
25
|
|
|
39
26
|
```sh
|
|
40
|
-
|
|
27
|
+
npm install --save-dev docbridge
|
|
41
28
|
```
|
|
42
29
|
|
|
43
|
-
|
|
44
|
-
The `docbridge-adopt` skill finishes adoption and installs the remaining
|
|
45
|
-
DocBridge skills after scope is confirmed:
|
|
30
|
+
With Bun:
|
|
46
31
|
|
|
47
32
|
```sh
|
|
48
|
-
|
|
33
|
+
bun add --dev docbridge
|
|
49
34
|
```
|
|
50
35
|
|
|
51
|
-
|
|
36
|
+
## Run the first check
|
|
37
|
+
|
|
38
|
+
Create a starting configuration interactively:
|
|
52
39
|
|
|
53
40
|
```sh
|
|
54
|
-
|
|
41
|
+
npx docbridge init
|
|
55
42
|
```
|
|
56
43
|
|
|
57
|
-
|
|
44
|
+
Or write the minimal TypeScript configuration yourself:
|
|
58
45
|
|
|
59
46
|
```json
|
|
60
47
|
{
|
|
48
|
+
"$schema": "./node_modules/docbridge/schemas/docbridge.schema.json",
|
|
61
49
|
"include": {
|
|
62
50
|
"code": {
|
|
63
51
|
"typescript": {
|
|
@@ -69,361 +57,56 @@ You can also create `docbridge.config.json` manually:
|
|
|
69
57
|
}
|
|
70
58
|
```
|
|
71
59
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
```ts
|
|
75
|
-
/**
|
|
76
|
-
* @doc docs/auth.md#login-spec
|
|
77
|
-
*/
|
|
78
|
-
export async function login() {
|
|
79
|
-
// ...
|
|
80
|
-
}
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Add the backlink in the Markdown file:
|
|
84
|
-
|
|
85
|
-
```md
|
|
86
|
-
<!-- @code src/auth/login.ts#login -->
|
|
87
|
-
|
|
88
|
-
## Login Spec
|
|
89
|
-
|
|
90
|
-
Login flow specification.
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
Check the project:
|
|
94
|
-
|
|
95
|
-
```sh
|
|
96
|
-
bunx docbridge check
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Usage
|
|
100
|
-
|
|
101
|
-
Discover a command:
|
|
102
|
-
|
|
103
|
-
```sh
|
|
104
|
-
bunx docbridge --help
|
|
105
|
-
bunx docbridge context --help
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Every command accepts `--help` (alias `-h`) and prints its usage, when to use
|
|
109
|
-
it, and its options on stdout.
|
|
110
|
-
|
|
111
|
-
Check links:
|
|
112
|
-
|
|
113
|
-
```sh
|
|
114
|
-
bunx docbridge check
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Check another project root:
|
|
118
|
-
|
|
119
|
-
```sh
|
|
120
|
-
bunx docbridge check --root examples/typescript
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
Emit JSON:
|
|
124
|
-
|
|
125
|
-
```sh
|
|
126
|
-
bunx docbridge check --json
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
Run audit diagnostics:
|
|
130
|
-
|
|
131
|
-
```sh
|
|
132
|
-
bunx docbridge check --audit
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
Audit diagnostics include:
|
|
136
|
-
|
|
137
|
-
- `undocumented_symbol` — in-scope code endpoints with no `@doc`
|
|
138
|
-
- `unlinked_doc_section` — in-scope documentation sections with no `@code`
|
|
139
|
-
|
|
140
|
-
List the linked counterparts of changed files:
|
|
141
|
-
|
|
142
|
-
```sh
|
|
143
|
-
git diff --name-only | bunx docbridge related --stdin
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
`docbridge related` is informational: it reports each counterpart and whether it
|
|
147
|
-
is itself in the change set, and always exits `0` on success. Changed files can
|
|
148
|
-
also be passed as positional arguments. Add `--gate` to report only the
|
|
149
|
-
counterparts that are not themselves in the change set and exit `1` when any
|
|
150
|
-
exist. Both modes support `--root` and `--json`. See
|
|
151
|
-
[docs/specs/cli.md](docs/specs/cli.md) for details.
|
|
152
|
-
|
|
153
|
-
Print the content of the linked counterparts of changed files:
|
|
154
|
-
|
|
155
|
-
```sh
|
|
156
|
-
git diff --name-only | bunx docbridge context --stdin
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
`docbridge context` answers "what do the linked counterparts say": full
|
|
160
|
-
Markdown sections for doc counterparts, full declarations including JSDoc for
|
|
161
|
-
code counterparts. The default output is Markdown suitable for direct
|
|
162
|
-
injection into an agent prompt; `--json` follows
|
|
163
|
-
[schemas/context-output.schema.json](schemas/context-output.schema.json).
|
|
164
|
-
Extraction is best-effort and the command exits `0` on success even when the
|
|
165
|
-
tree has broken links. See [docs/specs/cli.md](docs/specs/cli.md) for details.
|
|
166
|
-
|
|
167
|
-
Inspect the resolved link graph:
|
|
168
|
-
|
|
169
|
-
```sh
|
|
170
|
-
bunx docbridge graph
|
|
171
|
-
bunx docbridge graph --json --include-content
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
`docbridge graph` prints the resolved endpoint graph, including resolvable
|
|
175
|
-
one-way links. JSON output follows
|
|
176
|
-
[schemas/graph-output.schema.json](schemas/graph-output.schema.json).
|
|
177
|
-
|
|
178
|
-
## Why DocBridge
|
|
179
|
-
|
|
180
|
-
Modern software projects often suffer from a gap between implementation and
|
|
181
|
-
documentation:
|
|
182
|
-
|
|
183
|
-
- Code changes without documentation updates
|
|
184
|
-
- Documentation changes without implementation updates
|
|
185
|
-
- Difficulty finding which specifications relate to a given implementation
|
|
186
|
-
- Difficulty finding which implementation relates to a given specification
|
|
187
|
-
- AI coding agents missing relevant context during code modifications
|
|
188
|
-
|
|
189
|
-
DocBridge makes relationships between code and documentation explicit,
|
|
190
|
-
navigable, and machine-readable.
|
|
191
|
-
|
|
192
|
-
## Concept
|
|
193
|
-
|
|
194
|
-
Traditional documentation tools often focus on one direction:
|
|
195
|
-
|
|
196
|
-
```text
|
|
197
|
-
Code -> Documentation
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
DocBridge focuses on both directions:
|
|
201
|
-
|
|
202
|
-
```text
|
|
203
|
-
Code <-> Documentation
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
DocBridge links supported code declarations to Markdown sections. TypeScript is
|
|
207
|
-
scanned in-process; Swift, Dart, and Rust are scanned through bundled first-party
|
|
208
|
-
worker packages.
|
|
209
|
-
|
|
210
|
-
## Supported Inputs
|
|
211
|
-
|
|
212
|
-
DocBridge recognizes the following elements.
|
|
213
|
-
|
|
214
|
-
Supported code declarations:
|
|
215
|
-
|
|
216
|
-
- TypeScript top-level exported declarations: `function`, `class`,
|
|
217
|
-
`abstract class`, `interface`, `type`, `const`, `enum`, and supported
|
|
218
|
-
`declare` / named default forms
|
|
219
|
-
- TypeScript type members: class methods, properties, accessors, constructors,
|
|
220
|
-
and static members, plus interface and object-type-alias signatures
|
|
221
|
-
- Swift public/open declarations and configured internal declarations:
|
|
222
|
-
top-level and member types, functions, variables, constants, initializers,
|
|
223
|
-
and extension members
|
|
224
|
-
- Dart public declarations: top-level functions/variables, classes, enums,
|
|
225
|
-
mixins, constructors, fields, accessors, methods, and extension members
|
|
226
|
-
- Rust `pub` declarations (and configured non-`pub` with `visibility`):
|
|
227
|
-
modules, structs, enums, free functions, and inherent `impl` methods
|
|
228
|
-
|
|
229
|
-
Supported Markdown elements:
|
|
230
|
-
|
|
231
|
-
- ATX headings
|
|
232
|
-
- HTML comments
|
|
233
|
-
- `@code` annotations attached to the next heading
|
|
234
|
-
|
|
235
|
-
All four languages use the same `@doc` and `@code` model. Code fragments are
|
|
236
|
-
the scanner-produced canonical IDs, so members are type-qualified.
|
|
237
|
-
|
|
238
|
-
TypeScript member IDs carry no parameter signature; overload signatures and a
|
|
239
|
-
getter/setter pair each collapse to one endpoint, and the constructor is
|
|
240
|
-
`<Type>.constructor`. By default `public` and `protected` members are scanned;
|
|
241
|
-
`private` members require `include.code.typescript.visibility`. Members are
|
|
242
|
-
linkable but are never reported by `check --audit`.
|
|
60
|
+
Add a documentation target to a supported declaration:
|
|
243
61
|
|
|
244
62
|
```ts
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
login(email: string, password: string): void {}
|
|
248
|
-
}
|
|
63
|
+
/** @doc docs/auth.md#login-flow */
|
|
64
|
+
export function login(): void {}
|
|
249
65
|
```
|
|
250
66
|
|
|
251
|
-
|
|
252
|
-
<!-- @code src/auth/service.ts#AuthService.login -->
|
|
253
|
-
|
|
254
|
-
## Login Spec
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
Swift, Dart, and Rust canonical IDs follow their own conventions:
|
|
258
|
-
|
|
259
|
-
```swift
|
|
260
|
-
/// @doc docs/auth.md#login-spec
|
|
261
|
-
public struct AuthService {
|
|
262
|
-
public func login(email: String, password: String) {}
|
|
263
|
-
}
|
|
264
|
-
```
|
|
67
|
+
Add the reciprocal code target immediately before the Markdown heading:
|
|
265
68
|
|
|
266
69
|
```md
|
|
267
|
-
<!-- @code
|
|
70
|
+
<!-- @code src/auth.ts#login -->
|
|
268
71
|
|
|
269
|
-
## Login
|
|
72
|
+
## Login Flow
|
|
270
73
|
```
|
|
271
74
|
|
|
272
|
-
|
|
273
|
-
implicit default configuration; when the config file is missing, DocBridge
|
|
274
|
-
reports `config_file_invalid` and does not scan project files.
|
|
275
|
-
|
|
276
|
-
Minimal TypeScript configuration:
|
|
277
|
-
|
|
278
|
-
```json
|
|
279
|
-
{
|
|
280
|
-
"include": {
|
|
281
|
-
"code": {
|
|
282
|
-
"typescript": {
|
|
283
|
-
"patterns": ["src/**/*.ts"]
|
|
284
|
-
}
|
|
285
|
-
},
|
|
286
|
-
"docs": ["docs/**/*.md"]
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
Multilanguage configuration is language-keyed. The old `include.code` array
|
|
292
|
-
shape is intentionally invalid; migrate it to a `typescript` entry:
|
|
293
|
-
|
|
294
|
-
```json
|
|
295
|
-
{
|
|
296
|
-
"include": {
|
|
297
|
-
"code": {
|
|
298
|
-
"typescript": { "patterns": ["src/**/*.ts"] },
|
|
299
|
-
"swift": { "patterns": ["Sources/**/*.swift"] },
|
|
300
|
-
"dart": { "patterns": ["lib/**/*.dart"] }
|
|
301
|
-
},
|
|
302
|
-
"docs": ["docs/**/*.md"]
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
Swift, Dart, and Rust projects must build their scanner workers in source checkouts
|
|
308
|
-
before checking those languages. Run `just build-swift-scanner` for Swift,
|
|
309
|
-
`just build-dart-scanner` for Dart, and `just build-rust-scanner` for Rust, or
|
|
310
|
-
use the native test recipes below.
|
|
311
|
-
|
|
312
|
-
## AI agent integration
|
|
313
|
-
|
|
314
|
-
DocBridge's link graph is built to be consumed by AI coding agents:
|
|
315
|
-
|
|
316
|
-
- [docs/integrations](docs/integrations) — recipes for Claude Code, Codex,
|
|
317
|
-
and CI: gate triage with `docbridge related --gate`, counterpart content with
|
|
318
|
-
`docbridge context`, and PR reporting.
|
|
319
|
-
- [templates/skills](templates/skills) — distributable agent skills installed by
|
|
320
|
-
`docbridge init`; `docbridge init-with-agent` installs `docbridge-adopt`
|
|
321
|
-
alone, then `docbridge-adopt` installs the companion skills:
|
|
322
|
-
`docbridge-annotate`, `docbridge-link`, `docbridge-review`, and
|
|
323
|
-
`docbridge-sync`.
|
|
324
|
-
|
|
325
|
-
This repository dogfoods the skills under `.claude/` and `.agents/`, and keeps
|
|
326
|
-
its guardrail in the Git `pre-commit` hook under `.githooks/` rather than in
|
|
327
|
-
any agent's configuration.
|
|
328
|
-
|
|
329
|
-
## Editor support
|
|
330
|
-
|
|
331
|
-
DocBridge ships a language server that exposes the same link graph to editors:
|
|
332
|
-
|
|
333
|
-
```sh
|
|
334
|
-
docbridge lsp
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
`docbridge lsp` speaks LSP over stdio and provides Diagnostics, Hover,
|
|
338
|
-
Definition, and References across linked code and Markdown. It takes no
|
|
339
|
-
options; the project root comes from the editor's `initialize` request.
|
|
340
|
-
`docbridge check` is unchanged.
|
|
341
|
-
|
|
342
|
-
A VS Code-compatible extension lives in [editors/vscode](editors/vscode). It
|
|
343
|
-
packages the language server into a VSIX for VS Code and Cursor. The extension
|
|
344
|
-
has not yet been published to VS Code Marketplace. Until the first Marketplace
|
|
345
|
-
publication, stage the supported `dist/bin/darwin-arm64` and
|
|
346
|
-
`dist/bin/linux-x64` scanner artifacts, then build and install the VSIX
|
|
347
|
-
locally:
|
|
75
|
+
Then validate the pair:
|
|
348
76
|
|
|
349
77
|
```sh
|
|
350
|
-
|
|
351
|
-
just verify-vsix
|
|
78
|
+
npx docbridge check
|
|
352
79
|
```
|
|
353
80
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
is intentionally manual; the repository provides a publish command for that
|
|
357
|
-
release process. Open VSX delivery is out of scope. Zed integration is tracked
|
|
358
|
-
separately and is not yet implemented. MCP delivery is out of scope until a
|
|
359
|
-
concrete consumer requires a long-lived tool server. Full LSP behavior is specified in
|
|
360
|
-
[docs/specs/lsp.md](docs/specs/lsp.md).
|
|
361
|
-
|
|
362
|
-
## Diagnostics
|
|
363
|
-
|
|
364
|
-
Errors:
|
|
365
|
-
|
|
366
|
-
- `config_file_invalid`
|
|
367
|
-
- `config_unknown_key`
|
|
368
|
-
- `config_invalid_value`
|
|
369
|
-
- `invalid_link_target`
|
|
370
|
-
- `doc_file_not_found`
|
|
371
|
-
- `doc_anchor_not_found`
|
|
372
|
-
- `code_file_not_found`
|
|
373
|
-
- `code_backlink_not_found`
|
|
374
|
-
- `doc_backlink_not_found`
|
|
375
|
-
- `duplicate_doc_anchor`
|
|
376
|
-
- `duplicate_code_symbol`
|
|
377
|
-
- `code_parse_error`
|
|
378
|
-
- `code_scanner_unavailable`
|
|
379
|
-
- `code_scanner_failed`
|
|
380
|
-
- `file_read_error`
|
|
381
|
-
|
|
382
|
-
Warnings:
|
|
81
|
+
A valid graph exits `0`. Invalid configuration, unresolved targets, and missing
|
|
82
|
+
backlinks produce diagnostics and exit `1`.
|
|
383
83
|
|
|
384
|
-
|
|
385
|
-
- `dangling_code_annotation`
|
|
386
|
-
- `unsupported_declaration`
|
|
387
|
-
- `undocumented_symbol` when `--audit` is enabled
|
|
388
|
-
- `unlinked_doc_section` when `--audit` is enabled
|
|
84
|
+
## Choose the next guide
|
|
389
85
|
|
|
390
|
-
|
|
86
|
+
- [Documentation hub](docs/README.md) — user guides, integration recipes,
|
|
87
|
+
specifications, and contributor references
|
|
88
|
+
- [Getting started](docs/user/getting-started.md) — installation and project
|
|
89
|
+
setup
|
|
90
|
+
- [Configuration](docs/user/configuration.md) — roots, include patterns,
|
|
91
|
+
languages, and visibility
|
|
92
|
+
- [Linking](docs/user/linking.md) — choose, create, and semantically review
|
|
93
|
+
links
|
|
94
|
+
- [Commands](docs/user/commands.md) — check, related, context, graph, docs, and
|
|
95
|
+
upgrade
|
|
96
|
+
- [Automation](docs/user/automation.md) — coding agents, Git hooks, and CI
|
|
97
|
+
- [Troubleshooting](docs/user/troubleshooting.md) — diagnose configuration,
|
|
98
|
+
scanning, and link failures
|
|
99
|
+
- [日本語ドキュメント](docs/ja/README.md)
|
|
391
100
|
|
|
392
|
-
|
|
393
|
-
|
|
101
|
+
The CLI ships the English task guides with its own version. Run
|
|
102
|
+
`npx docbridge docs list` and `npx docbridge docs show <name>` to read them
|
|
103
|
+
without a repository checkout.
|
|
394
104
|
|
|
395
105
|
## Contributing
|
|
396
106
|
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
## Documentation
|
|
401
|
-
|
|
402
|
-
- Contributor guide: [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
403
|
-
- Japanese documentation: [docs/ja/README.md](docs/ja/README.md)
|
|
404
|
-
- Specifications: [docs/specs](docs/specs)
|
|
405
|
-
- v0.1 decisions: [docs/decisions/v0.1.md](docs/decisions/v0.1.md)
|
|
406
|
-
- v0.2 decisions: [docs/decisions/v0.2.md](docs/decisions/v0.2.md)
|
|
407
|
-
- v0.3 decisions: [docs/decisions/v0.3.md](docs/decisions/v0.3.md)
|
|
408
|
-
- AI agent integration recipes: [docs/integrations](docs/integrations)
|
|
409
|
-
- Commit message convention: [docs/contributing/commits.md](docs/contributing/commits.md)
|
|
410
|
-
- Pull request convention: [docs/contributing/pull-requests.md](docs/contributing/pull-requests.md)
|
|
411
|
-
- Testing convention: [docs/contributing/testing.md](docs/contributing/testing.md)
|
|
412
|
-
|
|
413
|
-
## Roadmap
|
|
414
|
-
|
|
415
|
-
Completed v0.1–v0.6 capabilities are documented above and in
|
|
416
|
-
[CHANGELOG.md](CHANGELOG.md).
|
|
417
|
-
|
|
418
|
-
Remaining editor delivery work:
|
|
419
|
-
|
|
420
|
-
- Publish the first verified VSIX to VS Code Marketplace
|
|
421
|
-
- Follow-up automation for GitHub Release VSIX attachment and registry
|
|
422
|
-
publishing after the manual flow is proven
|
|
423
|
-
- Add a separate Zed integration path
|
|
424
|
-
|
|
425
|
-
## Vision
|
|
426
|
-
|
|
427
|
-
DocBridge is not a documentation generator.
|
|
107
|
+
Repository setup, tests, and pull-request policy are in
|
|
108
|
+
[CONTRIBUTING.md](CONTRIBUTING.md). Documentation ownership and writing rules
|
|
109
|
+
are in [Documentation Guidelines](docs/contributing/documentation.md).
|
|
428
110
|
|
|
429
|
-
|
|
111
|
+
DocBridge is not a documentation generator. It makes the relationship between
|
|
112
|
+
maintained prose and implementation explicit, navigable, and machine-readable.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
0f653f4418743c05283edd61b6562104a5f8b8bdd1a8bb04e78734b3e44ee49c docbridge-swift-scanner
|
|
2
|
+
18909a2c5779381a6a6975d12b69b00e407068a60e522a189d9f1f9eaad9a424 docbridge_dart_scanner
|
|
3
3
|
a1b129d980c981a2d24f0c9682e614a9695d4e9f9b8174d61b0dacb3fc9e3c79 docbridge-rust-scanner
|
|
Binary file
|
|
Binary file
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
71ffeb93cb22a6fed305652a450d3f8559e9520b0beb837888e512c9534f8037 docbridge-swift-scanner
|
|
2
|
+
1784df5ebc370c785a3728e2d8cccb8da27593265ed6a1cac27019787c9ea666 docbridge_dart_scanner
|
|
3
3
|
d89a1146ed10dcb01151ef5351a746862c3955286431c47f3cf91cf6639866ba docbridge-rust-scanner
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/dist/bin/linux-x64/docbridge-swift-scanner
|
|
3
3
|
size: 38122456 bytes
|
|
4
|
-
sha256:
|
|
4
|
+
sha256: 71ffeb93cb22a6fed305652a450d3f8559e9520b0beb837888e512c9534f8037
|
|
Binary file
|