You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
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.