Repository navigation
docs: generate API metadata from Release assemblies so extension members appear - #385
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The assembly inputs and prebuild targets are aligned, complete, and compatible with the existing documentation workflow.
0 open findings
What changed in this PR
Switches DocFX metadata generation to compiled Release assemblies so C# 14 extension-block members appear in API documentation.
Changes:
- Uses eight documented library assemblies as DocFX inputs.
- Prebuilds those libraries in Release mode before generating documentation.
| File | Description |
|---|---|
docfx.json |
Replaces project inputs with Release assemblies. |
_atom/Targets/IDocTargets.cs |
Prebuilds all documented libraries. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
DocFX source extraction drops members declared in C# 14 extension blocks (the containing class is emitted with no children). Read the built assemblies instead, as logging-extensions does, and have BuildDocs build the documented projects in Release first. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jy23TCq1bZkdPV2GRWfspU
DecSmith42
force-pushed
the
claude/docfx-extension-members
branch
from
October 14, 2026 03:59
28c8aa3 to
d4c7ef9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Dec · project thread
Before: DocFX built API metadata from the C# source, which drops members declared in C# 14
extension(...)blocks. So 35 extension members across the atom libraries were missing from the API reference.After: every extension-block member appears in the API reference, with its summary and remarks. This is the same approach logging-extensions already uses.
How:
BuildDocsprebuild list in_atom/Targets/IDocTargets.csnow names those 8 libraries instead of the Analyzers and SourceGenerators projects. The libraries still build both through their project references.There are two trade-offs:
WorkflowTriggers.Githubrender asget_X()accessors.I checked this locally. From a clean tree,
BuildDocssucceeds, and all 35 extension members appear in the generatedapi/*.yml.🤖 Generated with Claude Code
https://claude.ai/code/session_01Jy23TCq1bZkdPV2GRWfspU
Generated by Claude Code