Skip to content

docs: generate API metadata from Release assemblies so extension members appear - #385

Merged
DecSmith42 merged 1 commit into
mainfrom
claude/docfx-extension-members
Oct 14, 2026
Merged

DecSmith42 merged 1 commit into
mainfrom
claude/docfx-extension-members

Conversation

@DecSmith42

Copy link
Copy Markdown
Collaborator

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:

  • docfx.json now reads metadata from the 8 documented libraries' Release assemblies.
  • The BuildDocs prebuild list in _atom/Targets/IDocTargets.cs now 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:

  • Assembly metadata has no "View source" links.
  • Static extension properties such as WorkflowTriggers.Github render as get_X() accessors.

I checked this locally. From a clean tree, BuildDocs succeeds, and all 35 extension members appear in the generated api/*.yml.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Jy23TCq1bZkdPV2GRWfspU


Generated by Claude Code

Copilot AI balanced review requested due to automatic review settings October 14, 2026 03:45
@DecSmith42
DecSmith42 enabled auto-merge October 14, 2026 03:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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.

Copilot AI balanced review requested due to automatic review settings October 14, 2026 03:58
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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The assembly inputs and prebuild projects are complete and aligned.

0 open findings

🧠 Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 14, 2026 04:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The assembly inputs and prebuild project list are complete, aligned, and correctly produce current Release metadata.

0 open findings

🧠 Review effort: Balanced

@DecSmith42
DecSmith42 merged commit 56574b5 into main Oct 14, 2026
33 checks passed
@DecSmith42
DecSmith42 deleted the claude/docfx-extension-members branch October 14, 2026 04:08
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.

3 participants