Skip to content

[Fix #380] Mark internal helper namespaces with ^:no-doc#426

Merged
bbatsov merged 1 commit intomasterfrom
fix-380-cljdoc-no-doc
May 9, 2026
Merged

[Fix #380] Mark internal helper namespaces with ^:no-doc#426
bbatsov merged 1 commit intomasterfrom
fix-380-cljdoc-no-doc

Conversation

@bbatsov
Copy link
Copy Markdown
Member

@bbatsov bbatsov commented May 9, 2026

Fixes #380.

Hides 13 internal helper namespaces from cljdoc via ^:no-doc on their ns forms, leaving the documented surface as the namespaces backing nREPL ops plus a handful that have been called out historically (config, ns.libspec-allowlist, ns.pprint) and a few useful helpers (ns-parser, suggest-aliases, class-search, find-macros, s-expressions).

The hidden ones: core, util, util.meta, fs, find.bindings, find.util, find.symbols-in-file, ns.imports-and-refers-analysis, ns.prune-dependencies, ns.rebuild, ns.tracker, ns.suggest-libspecs (already self-described as beta).

Once this lands, @lread the public surface is what's left after this filter — happy to chat further if any of the borderline calls feel wrong.

  • The commits are consistent with our contribution guidelines
  • You've added tests (if possible) to cover your change(s)
  • All tests are passing (run lein do clean, test)
  • Code inlining with mranderson works and tests pass with inlined code (run make install -- takes a long time)
  • You've updated the changelog (if adding/changing user-visible functionality)
  • You've updated the readme (if adding/changing user-visible functionality)

cljdoc was rendering all 30+ namespaces as if they were public API, which
gave the wrong impression about the supported surface. The actual public
surface is the namespaces backing the nREPL ops, plus a handful that
have been called out in past CHANGELOG entries (config, libspec-allowlist,
pprint). Everything else - parsers, trackers, sexp helpers, generic util
ns - is plumbing and shouldn't be in the docs.

Tag those 12 internal namespaces (plus the already-flagged-as-beta
suggest-libspecs) with ^:no-doc on the ns form. cljdoc respects this
metadata; downstream tooling like Codox does too.

No behavior change.
@bbatsov bbatsov merged commit 8a122fd into master May 9, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Get docs working on cljdoc

1 participant