Skip to content

Releases: salan70/docbridge

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 03:00
934086f

Added

  • The VS Code-compatible extension salan70.docbridge is published on Visual
    Studio Marketplace.
  • Packaged user docs now cover linking workflow and semantic link review
    (docbridge docs show linking-workflow, docbridge docs show link-review),
    plus supported and unsupported @doc declaration forms, the heading-anchor
    algorithm, and named link-authoring diagnostic codes.
  • Human-readable docbridge check output ends with a pointer to
    docbridge docs show troubleshooting. check --json is unchanged.

Changed

  • docbridge init and docbridge init-with-agent install one skill,
    docbridge, instead of the five companion skills. The skill routes adopt,
    discover-and-link, annotate, review, and sync work; facts about the binary
    come from docbridge docs show.

Fixed

  • just package-vsix bundles vscode-languageclient into the editor client.
    Packaging with --no-dependencies previously omitted the module, so the
    installed VSIX failed to activate.
  • docs/user/annotations.md no longer claims GitHub-style numeric suffixes for
    duplicate headings. Duplicate anchors in one file are duplicate_doc_anchor.

Upgrading

  • Existing installs keep the five legacy skill directories
    (docbridge-adopt, docbridge-annotate, docbridge-link,
    docbridge-review, docbridge-sync) until docbridge init --force is run.
    Review locally edited copies first. Symlinked skill directories are reported
    and left untouched.

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 15:21
c827afd

Added

  • Rust is a first-party code language. Configure include.code.rust, place
    @doc in /// / //! / /** */ comments on modules, structs, enums, free
    functions, and inherent impl methods, and check links with the bundled
    docbridge-rust-scanner worker (same platforms as Swift/Dart). Default
    visibility is pub only; set visibility to include private for
    non-pub items. Canonical IDs use Rust path style (Type::method).
  • docbridge docs list [--json] and docbridge docs show <name> provide six
    task-oriented, version-matched guides from the installed npm package, with
    packed-package smoke coverage under Node.js and Bun.
  • CLI invocation errors now list valid commands, suggest close command names,
    and include runnable command-specific recovery guidance. Missing check
    configuration also points to docbridge init and docbridge init-with-agent.
  • TypeScript type members can be link endpoints, closing the last functional
    asymmetry with Swift and Dart. @doc on a class method, property, getter,
    setter, constructor, or static member, on an interface member, or on a member
    of a type alias written directly as an object type literal resolves to a
    type-qualified endpoint such as AuthService.login. Canonical IDs carry no
    parameter signatures: overload groups and getter/setter pairs each describe
    one member and collapse to one endpoint, and a collision — including a static
    and an instance member of the same name — reports duplicate_code_symbol.
    Only identifier-named members qualify, because a link target is
    file#fragment with one # and no whitespace.
  • include.code.typescript.visibility accepts public, protected, and
    private, defaulting to public and protected. It scopes type members
    only; top-level declarations remain scoped by export.

Changed

  • Scanner worker request and response payloads now have a published JSON Schema,
    and malformed nested worker output fails explicitly instead of degrading into
    incomplete scan data. Graph and context output schemas share their diagnostic
    definitions and are checked against real CLI output. The configuration schema
    now matches the CLI's per-language suffix and visibility rules.
  • docbridge context and docbridge graph --include-content strip the common
    leading indentation from an extracted declaration, so a type member reads at
    its own level. Output for top-level declarations is unchanged.
  • A @doc on a TypeScript type member was previously collected by nothing and
    silently ignored. It is now a real annotation, so an existing one can surface
    link diagnostics — invalid_link_target, doc_file_not_found,
    doc_anchor_not_found, doc_backlink_not_found — that were always latent,
    and an annotation on a private member becomes unsupported_declaration.
    check --audit output is unchanged: members never count as
    undocumented_symbol.
  • docbridge check --audit reports unlinked_doc_section, a warning for
    in-scope documentation sections that carry no @code annotation. It is the
    documentation-side counterpart to undocumented_symbol, so the audit now
    covers both directions of the link graph. Reporting is rolled up over the
    heading tree: only the topmost heading of a fully unannotated subtree is
    reported, and a heading is treated as annotated whenever a @code comment is
    attached to it, even if that annotation fails to parse or resolve. Empty
    headings create no anchor and are never reported, but they still close the
    section before them, so a deeper heading following one is a separate region
    rather than a suppressed descendant. Runs
    without --audit are unaffected, and the diagnostic is a warning, so exit
    codes do not change.

Fixed

  • Swift and Dart scanners now report malformed and duplicate @doc targets as
    invalid_link_target and duplicate_link, matching TypeScript instead of
    silently accepting or discarding the annotations.
  • docbridge graph --include-content no longer truncates a signature at an
    object type. It cut the rendered text at the first {, which for
    login(options: { verbose: boolean }) produced login(options: {}. A
    signatureRange already ends where the implementation body begins in every
    language, so no body has to be cut out of it.
  • The VS Code extension manifest is version-aligned with the npm package again
    (0.4.1 had drifted from 0.6.1), so a checkout of main is a valid input
    to just package-vsix. Release Prepare now bumps both manifests through
    scripts/set-release-version.ts and stages both in the release commit, so a
    CLI release can no longer leave the extension version behind.
  • just package-vsix bundles the server the VSIX ships with --target node,
    matching the npm build. The Bun-targeted bundle it built before still carried
    a #!/usr/bin/env node shebang and crashed with __require is not a function
    when the packaging flow's own verify-dist step executed it.

Removed

  • The agent-hook integration is gone from the product surface: the copyable
    scripts under examples/hooks/ and the hook recipes in
    docs/integrations/claude-code.md and docs/integrations/codex.md no longer
    ship. Wiring DocBridge into an agent's PostToolUse/Stop hooks covered only
    the agents that read those configuration files; the documented guardrail is
    now a Git pre-commit hook, which applies to every contributor and every
    tool. Both integration documents survive as skill-installation guides,
    docbridge context and docbridge related --gate are unchanged, and
    docbridge docs show agent-integration describes the Git-hook shape instead.
    Copies already installed in adopters' repositories keep working.

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 27 Jul 14:28
7e34e4d

Changed

  • The related-gate CI recipe in docs/integrations/ci.md now derives the PR
    changed-file list from the checkout (git diff BASE...HEAD with
    fetch-depth: 0) and falls back to a retried GitHub API call. Outcomes are
    reported as clean, violation, or infra-error, and the sticky comment
    updates on every outcome (including infrastructure failure). Adopters who
    copied the previous recipe must re-copy it and set fetch-depth: 0 on the
    checkout step; a shallow checkout breaks the new primary path.
  • Shipped Swift and Dart scanner executables are now named
    docbridge-swift-scanner and docbridge_dart_scanner. Paths under
    dist/bin/<platform>/speclink-* no longer exist; delete chmod +x
    workarounds that hard-coded those names rather than updating the paths.

Fixed

  • Bundled Swift and Dart scanner binaries no longer have to be executable at
    install time. Installers do not reliably preserve the executable bit on files
    under dist/bin/, which made docbridge check fail on every Swift or Dart
    project; DocBridge now restores the bit on its own bundled scanners when the
    current process cannot execute them. Consumers can remove chmod +x
    workarounds from their build recipes. When the bit cannot be restored, or when
    the binary is executable but the filesystem refuses to execute it as a
    noexec mount does, code_scanner_unavailable now names the cause and the
    remedy instead of surfacing a bare spawn error.

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 10:54
96511ae

Added

  • The npm package now runs on Node.js (>= 22) in addition to Bun: the CLI is
    built for the Node target with a #!/usr/bin/env node shebang, so
    npx docbridge works without installing Bun. Packaging smoke tests exercise
    the CLI under both runtimes.

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 12 Jul 07:58
fdb8a40

Fixed

  • Linux x64 release packages now build the Dart scanner with the official Dart
    SDK on Ubuntu 22.04, avoiding Nix store paths and newer glibc requirements
    that made the scanner unavailable on plain Linux hosts.

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 12 Jul 06:45
9802691

Removed

  • Removed Open VSX from the editor delivery scope and deleted its unused manual
    publishing command; the supported registry target is VS Code Marketplace.

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 00:32
666dd0a

Added

  • VS Code-compatible extension packaging and manual publishing support:
    release VSIX generation, VSIX verification, Marketplace/Open VSX publish
    commands, Swift/Dart document activation, and bundled docbridge lsp
    startup from the extension package.

Fixed

  • The release publish workflow now restores executable bits on downloaded
    Swift and Dart scanner artifacts before packing the npm tarball, and
    smoke-tests the installed tarball before publishing.

Changed

  • Clarified the current editor delivery state in the English and Japanese
    READMEs, including local VSIX installation and the remaining first-publication
    work for VS Code Marketplace and Open VSX.

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 21 Jun 08:11
cc3cf04

Added

  • docbridge init for CLI-driven first-time setup: repository scope discovery,
    safe docbridge.config.json creation, and DocBridge agent skill installation.
  • docbridge init-with-agent for agent-guided adoption: installs
    docbridge-adopt and prints one-shot setup commands without launching an
    agent process.
  • docbridge-adopt now installs the companion DocBridge skills after adoption
    scope is confirmed.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 20 Jun 22:53
4f9c1bb

Added

  • npm distribution support for the Bun-only speclink package, including
    dist/index.js as the package binary, a runtime package allowlist, dist
    verification, packed-package smoke testing, and release workflow publishing.
  • Platform-staged Swift and Dart scanner binary layout under
    dist/bin/<platform>/, with initial npm scanner support for darwin-arm64
    and linux-x64.
  • Dart scanner worker support, including analyzer-based @doc extraction,
    type/member canonical IDs (without parameter signatures, since Dart has no
    overloading), public-by-naming visibility, and Dart end-to-end
    check/context/graph/LSP integration. The Dart toolchain is provided by the Nix
    dev shell.
  • Swift scanner worker support for SwiftPM source checkouts, including
    SwiftSyntax-based @doc extraction, type/member canonical IDs, visibility
    filtering, and Swift end-to-end check/context/graph/LSP integration.
  • Worker-backed scanner protocol foundation for Swift and Dart adapters,
    including stdin/stdout JSON invocation and scanner availability/failure
    diagnostics.
  • speclink graph: prints the resolved link graph as human-readable output or
    as JSON following schemas/graph-output.schema.json, including resolvable
    one-way links, pair completeness, optional lightweight node content, and
    diagnostics that do not prevent graph construction.
  • Distributable adoption skills under templates/skills/: speclink-adopt
    for existing-project setup, speclink-link for docs-first annotation
    candidate confirmation, and speclink-review for whole-graph semantic
    review using speclink graph --json --include-content.

Changed

  • speclink context and speclink graph --json now carry code language
    metadata for code blocks/nodes so Swift endpoints render and serialize as
    Swift.
  • SpecLink's distributable skills are now dogfooded from .agents/skills/ and
    .claude/skills/ as symlinks to the canonical templates/skills/ entries.
  • TypeScript scanner endpoints now include signatureRange in addition to the
    existing full declarationRange, allowing graph consumers to read the
    public JSDoc/signature surface without implementation bodies.

Fixed

  • Worker-backed scanner responses now fail when the returned file list does not
    exactly match the requested files, and worker failures suppress derived link
    diagnostics for the failed file.
  • The npm-distributed CLI now resolves its bundled dist/bin/<platform> Swift
    and Dart scanner binaries when launched through the node_modules/.bin
    symlink, which previously resolved to the wrong directory on Linux and
    reported the scanner as unavailable.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 14 Jun 03:28
b083d78

Added

  • speclink context: prints the content of the counterparts linked from a set
    of input files (positional arguments or newline-separated stdin via
    --stdin) — full Markdown sections for doc counterparts, full declarations
    including JSDoc for code counterparts. Default output is Markdown suitable
    for direct injection into an agent prompt; --json emits a machine-readable
    report following schemas/context-output.schema.json. Extraction is
    best-effort: check diagnostics located in the input files are reported on
    stderr (or in the diagnostics field) without affecting the exit code.
  • TypeScript scanner: records a declarationRange covering each supported
    declaration including its JSDoc block, backing context content extraction.
  • just context: prints the linked counterpart content of the uncommitted
    changes.
  • AI integration recipes under docs/integrations/: on-edit counterpart
    awareness and gate triage for Claude Code and Codex, and a CI recipe for
    gating the PR change set and reporting counterpart content.
  • Copyable agent hook scripts under examples/hooks/: a PostToolUse hook
    that surfaces linked counterpart content on edit, and a Stop hook that
    reports related --gate findings with the flagged counterparts' content as
    Stop additionalContext.
  • Distributable agent skills under templates/skills/: speclink-annotate
    (create @doc/@code link pairs and verify them with speclink check) and
    speclink-sync (triage related --gate findings using speclink context).
    Both are also installed in this repository's .claude/skills/.

Changed

  • Markdown section extraction moved from the LSP layer into src/core/ and is
    now shared by LSP hover and speclink context (no behavior change).