DemaConsulting.ApiMark.MSBuild
0.2.0
Prefix Reserved
See the version list below for details.
dotnet add package DemaConsulting.ApiMark.MSBuild --version 0.2.0
NuGet\Install-Package DemaConsulting.ApiMark.MSBuild -Version 0.2.0
<PackageReference Include="DemaConsulting.ApiMark.MSBuild" Version="0.2.0" />
<PackageVersion Include="DemaConsulting.ApiMark.MSBuild" Version="0.2.0" />
<PackageReference Include="DemaConsulting.ApiMark.MSBuild" />
paket add DemaConsulting.ApiMark.MSBuild --version 0.2.0
#r "nuget: DemaConsulting.ApiMark.MSBuild, 0.2.0"
#:package DemaConsulting.ApiMark.MSBuild@0.2.0
#addin nuget:?package=DemaConsulting.ApiMark.MSBuild&version=0.2.0
#tool nuget:?package=DemaConsulting.ApiMark.MSBuild&version=0.2.0
ApiMark
Overview
ApiMark generates compact, AI-friendly API reference documentation in Markdown from source code and associated metadata (XML doc comments, header files, docstrings, etc.). The output is designed for gradual disclosure: an AI can read a lightweight index, drill into a namespace summary, and then read a full type page — consuming only as much context as the task requires.
Features
- Generates compact Markdown API reference from source code and doc comments
- Gradual disclosure output: root index → namespace summary → type page → member detail
- C#/.NET support via Mono.Cecil and XML documentation comments
- C++ support via
clang -ast-dump=jsonand Doxygen-style doc comments - MSBuild task integration for
.csprojand.vcxproj-based builds dotnet toolCLI (apimark) covering all supported languages- Designed for AI consumption — minimal noise, explicit navigation links between levels
Platform Support
| Platform | .NET | C++ |
|---|---|---|
| Windows x64 | ✅ | ✅ |
| Linux x64 | ✅ | ✅ |
| macOS (Apple Silicon) | ✅ | ✅ |
Prerequisites
C++ Support
C++ documentation generation requires clang to be installed and available:
- Windows: Install LLVM or the "C++ Clang tools for Windows"
component via the Visual Studio Installer. The
ClangPathMSBuild property or--clang-pathCLI option can point to a specific installation. - macOS: Xcode Command Line Tools (
xcode-select --install) —clangis included. - Linux: Install via the system package manager (e.g.
apt install clangordnf install clang).
.NET support has no additional prerequisites beyond the .NET SDK.
Installation
CLI Tool
dotnet tool install --global DemaConsulting.ApiMark.Tool
MSBuild Integration
C# projects — add the NuGet package to your .csproj:
<ItemGroup>
<PackageReference Include="DemaConsulting.ApiMark.MSBuild" Version="x.y.z" />
</ItemGroup>
Enable XML documentation generation so ApiMark can read doc comments:
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
C++ projects — add the NuGet package to your .vcxproj:
<ItemGroup>
<PackageReference Include="DemaConsulting.ApiMark.MSBuild" Version="x.y.z" />
</ItemGroup>
Set the public include root so ApiMark knows which headers to document:
<PropertyGroup>
<ApiMarkIncludePaths>$(MSBuildProjectDirectory)\include</ApiMarkIncludePaths>
</PropertyGroup>
ApiMark generates documentation automatically after every build.
Usage
CLI Usage
# Generate API documentation from a .NET assembly
apimark dotnet --assembly MyProject.dll --xml-doc MyProject.xml --output docs/api
# Generate API documentation from C++ public headers
apimark cpp --includes include/ --output docs/api
Run apimark --help for all options. Run apimark dotnet --help or apimark cpp --help for language-specific options.
MSBuild Usage
Documentation is generated automatically after every build. Output goes to
$(MSBuildProjectDirectory)\api by default. Configure with MSBuild properties:
<PropertyGroup>
<ApiMarkOutputDir>$(MSBuildProjectDirectory)\docs\api</ApiMarkOutputDir>
<ApiMarkVisibility>PublicAndProtected</ApiMarkVisibility>
<ApiMarkPackDocs>true</ApiMarkPackDocs>
<DisableApiMark>true</DisableApiMark>
</PropertyGroup>
See the User Guide for the full list of properties including C++-specific options.
Building
pwsh ./build.ps1
User Guide
The ApiMark User Guide is available on the ApiMark releases page.
Contributing
See CONTRIBUTING.md for guidelines.
License
This project is licensed under the MIT License — see LICENSE.
Support
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.Build.Framework (>= 17.8.43)
- Microsoft.Build.Utilities.Core (>= 17.8.43)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.4.8 | 80 | 6/24/2026 |
| 0.4.7 | 215 | 6/19/2026 |
| 0.4.6 | 225 | 6/18/2026 |
| 0.4.5 | 100 | 6/18/2026 |
| 0.4.4 | 101 | 6/18/2026 |
| 0.4.3 | 100 | 6/17/2026 |
| 0.4.2 | 394 | 6/16/2026 |
| 0.4.1 | 99 | 6/15/2026 |
| 0.4.0 | 131 | 6/15/2026 |
| 0.3.2 | 95 | 6/9/2026 |
| 0.3.1 | 85 | 6/9/2026 |
| 0.3.0 | 131 | 6/9/2026 |
| 0.2.0 | 140 | 6/8/2026 |
| 0.1.3 | 212 | 6/1/2026 |
| 0.1.2 | 99 | 6/1/2026 |
| 0.1.1 | 102 | 6/1/2026 |
| 0.1.0 | 110 | 6/1/2026 |