docbridge 0.5.2 → 0.6.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/CHANGELOG.md CHANGED
@@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.6.1] - 2026-07-27
11
+
12
+ ### Changed
13
+
14
+ - The related-gate CI recipe in `docs/integrations/ci.md` now derives the PR
15
+ changed-file list from the checkout (`git diff BASE...HEAD` with
16
+ `fetch-depth: 0`) and falls back to a retried GitHub API call. Outcomes are
17
+ reported as `clean`, `violation`, or `infra-error`, and the sticky comment
18
+ updates on every outcome (including infrastructure failure). Adopters who
19
+ copied the previous recipe must re-copy it and set `fetch-depth: 0` on the
20
+ checkout step; a shallow checkout breaks the new primary path.
21
+ - Shipped Swift and Dart scanner executables are now named
22
+ `docbridge-swift-scanner` and `docbridge_dart_scanner`. Paths under
23
+ `dist/bin/<platform>/speclink-*` no longer exist; delete `chmod +x`
24
+ workarounds that hard-coded those names rather than updating the paths.
25
+
26
+ ### Fixed
27
+
28
+ - Bundled Swift and Dart scanner binaries no longer have to be executable at
29
+ install time. Installers do not reliably preserve the executable bit on files
30
+ under `dist/bin/`, which made `docbridge check` fail on every Swift or Dart
31
+ project; DocBridge now restores the bit on its own bundled scanners when the
32
+ current process cannot execute them. Consumers can remove `chmod +x`
33
+ workarounds from their build recipes. When the bit cannot be restored, or when
34
+ the binary is executable but the filesystem refuses to execute it as a
35
+ `noexec` mount does, `code_scanner_unavailable` now names the cause and the
36
+ remedy instead of surfacing a bare spawn error.
37
+
38
+ ## [0.6.0] - 2026-07-13
39
+
40
+ ### Added
41
+
42
+ - The npm package now runs on Node.js (>= 22) in addition to Bun: the CLI is
43
+ built for the Node target with a `#!/usr/bin/env node` shebang, so
44
+ `npx docbridge` works without installing Bun. Packaging smoke tests exercise
45
+ the CLI under both runtimes.
46
+
10
47
  ## [0.5.2] - 2026-07-12
11
48
 
12
49
  ### Fixed
@@ -185,7 +222,9 @@ Initial release of the SpecLink CLI.
185
222
  - `speclink check` command with `--root`, `--json`, and `--audit` options.
186
223
  - `speclink --version` (alias `-v`) and `speclink --help` (alias `-h`).
187
224
 
188
- [Unreleased]: https://github.com/salan70/docbridge/compare/v0.5.2...HEAD
225
+ [Unreleased]: https://github.com/salan70/docbridge/compare/v0.6.1...HEAD
226
+ [0.6.1]: https://github.com/salan70/docbridge/releases/tag/v0.6.1
227
+ [0.6.0]: https://github.com/salan70/docbridge/releases/tag/v0.6.0
189
228
  [0.5.2]: https://github.com/salan70/docbridge/releases/tag/v0.5.2
190
229
  [0.5.1]: https://github.com/salan70/docbridge/releases/tag/v0.5.1
191
230
  [0.5.0]: https://github.com/salan70/docbridge/releases/tag/v0.5.0
package/README.md CHANGED
@@ -13,10 +13,12 @@ files.
13
13
 
14
14
  ## Installation
15
15
 
16
- DocBridge is distributed as the `docbridge` npm package and is intended to run
17
- with Bun:
16
+ DocBridge is distributed as the `docbridge` npm package and runs on Node.js
17
+ (>= 22) and Bun:
18
18
 
19
19
  ```sh
20
+ npx docbridge check
21
+ # or
20
22
  bunx docbridge check
21
23
  ```
22
24
 
@@ -24,8 +26,7 @@ The current release is
24
26
  [v0.5.0](https://github.com/salan70/docbridge/releases/tag/v0.5.0), published
25
27
  as `docbridge@0.5.0` on npm.
26
28
 
27
- The npm package is Bun-only; Node.js runtime compatibility is not part of the
28
- initial distribution. The package includes prebuilt Swift and Dart scanner
29
+ The package includes prebuilt Swift and Dart scanner
29
30
  binaries for `darwin-arm64` and `linux-x64`. TypeScript and Markdown checks run
30
31
  without scanner binaries. Configured Swift or Dart projects on unsupported
31
32
  platforms report `code_scanner_unavailable` and name the supported platform
@@ -83,6 +84,7 @@ Add the backlink in the Markdown file:
83
84
 
84
85
  ```md
85
86
  <!-- @code src/auth/login.ts#login -->
87
+
86
88
  ## Login Spec
87
89
 
88
90
  Login flow specification.
@@ -227,6 +229,7 @@ public struct AuthService {
227
229
 
228
230
  ```md
229
231
  <!-- @code Sources/AuthService.swift#AuthService.login(email:password:) -->
232
+
230
233
  ## Login Spec
231
234
  ```
232
235
 
@@ -350,114 +353,14 @@ Exit code policy:
350
353
  - `1` when any error exists
351
354
  - `0` when there are only warnings or no diagnostics
352
355
 
353
- ## Development
354
-
355
- ### Prerequisites
356
-
357
- Recommended:
358
-
359
- - Nix
360
- - direnv
361
-
362
- The Nix development shell provides the tools used by this repository:
363
-
364
- - Bun
365
- - just
366
- - Git
367
- - Dart SDK
368
-
369
- If you do not use Nix, install Bun and just locally before running the project
370
- commands. Swift scanner development also requires a Swift 6 toolchain on
371
- `PATH`; CI installs Swift separately from Nix.
372
-
373
- ### Setup
374
-
375
- Enable the development environment with direnv:
376
-
377
- ```sh
378
- direnv allow
379
- ```
380
-
381
- Or enter the Nix development shell manually:
382
-
383
- ```sh
384
- nix develop
385
- ```
386
-
387
- Install dependencies:
388
-
389
- ```sh
390
- bun install --frozen-lockfile
391
- ```
392
-
393
- Install repository Git hooks:
394
-
395
- ```sh
396
- just install-git-hooks
397
- ```
398
-
399
- If `just` is not on `PATH` yet, run:
400
-
401
- ```sh
402
- nix develop -c just install-git-hooks
403
- ```
404
-
405
- The pre-commit hook runs `just check` and `just test`.
406
-
407
- ### Common Tasks
408
-
409
- Run common tasks with `just`:
410
-
411
- ```sh
412
- just --list
413
- just check
414
- just check-example
415
- just check-swift-example
416
- just check-dart-example
417
- just check-fixture <code>
418
- just audit
419
- just related-gate
420
- just test
421
- just test-swift-scanner
422
- just test-dart-scanner
423
- just build
424
- just verify-dist
425
- ```
426
-
427
- `just check`, `just test`, and `just build` are the default local and CI gates.
428
- `just test` includes TypeScript, Swift, and Dart end-to-end integration tests;
429
- the Swift and Dart scanner binaries must be built before those integration
430
- tests can spawn them. Scanner-native tests are mandatory in CI and are useful
431
- locally when changing worker code. `just verify-dist` builds confidence in the
432
- npm entry point by checking the Bun shebang, executable bit, `--version`,
433
- `--help`, and a TypeScript example check from `dist/index.js`.
434
-
435
- ### Project Constraints
436
-
437
- Runtime:
438
-
439
- - Bun
440
-
441
- Language:
442
-
443
- - TypeScript
444
- - Swift scanner worker package
445
- - Dart scanner worker package
446
-
447
- Task runner:
448
-
449
- - just
450
-
451
- Environment loader:
452
-
453
- - direnv
356
+ ## Contributing
454
357
 
455
- Core dependencies should stay minimal. The CLI should primarily rely on Bun and
456
- the TypeScript Compiler API; Swift and Dart parser dependencies stay isolated
457
- inside their worker packages.
358
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for the pinned development environment,
359
+ repository setup, testing matrix, commit convention, and pull request workflow.
458
360
 
459
361
  ## Documentation
460
362
 
363
+ - Contributor guide: [CONTRIBUTING.md](CONTRIBUTING.md)
461
364
  - Japanese documentation: [docs/ja/README.md](docs/ja/README.md)
462
365
  - Specifications: [docs/specs](docs/specs)
463
366
  - v0.1 decisions: [docs/decisions/v0.1.md](docs/decisions/v0.1.md)
@@ -465,6 +368,7 @@ inside their worker packages.
465
368
  - v0.3 decisions: [docs/decisions/v0.3.md](docs/decisions/v0.3.md)
466
369
  - AI agent integration recipes: [docs/integrations](docs/integrations)
467
370
  - Commit message convention: [docs/contributing/commits.md](docs/contributing/commits.md)
371
+ - Pull request convention: [docs/contributing/pull-requests.md](docs/contributing/pull-requests.md)
468
372
  - Testing convention: [docs/contributing/testing.md](docs/contributing/testing.md)
469
373
 
470
374
  ## Roadmap
@@ -1,2 +1,2 @@
1
- d77294651a19f091422cc25d67131abfcf4de06d56a7e06116fed66a1ddf4097 speclink-swift-scanner
2
- 9874f1a3e29f2c4ebf2ccd23d9d91e5bf74c9e6b0ca00a117b265418f7f12eb9 speclink_dart_scanner
1
+ e5dc0117b9afe4e617fac20f9a8cf9797fa307f66d5a3f12e8ea6554639adce3 docbridge-swift-scanner
2
+ 8268ae8b1d3329a96ce30590c8f177b0c19ea1a887a458647e04d8d295c74a71 docbridge_dart_scanner
@@ -1,2 +1,2 @@
1
- 762934bad01b5a33a6b14ff22b579dcb03169436fb01a6a672ab30719c70c294 speclink-swift-scanner
2
- cfc22c423afaa1e42bef7c0c6b7de42fa54a3e11ca5baad518cd19e0c9c1258d speclink_dart_scanner
1
+ 396d365794cb5c427817b358bb3d9f2280000cd33fe3fc7d6d5a772a29ebcae4 docbridge-swift-scanner
2
+ b5de2b74d56c6d8c9f8edd859d4b0d8846ff32d8e1d50b6fa41683d9a310b9f5 docbridge_dart_scanner