Aquila.CodeDocument 5.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package Aquila.CodeDocument --version 5.0.1
                    
NuGet\Install-Package Aquila.CodeDocument -Version 5.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aquila.CodeDocument" Version="5.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Aquila.CodeDocument" Version="5.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Aquila.CodeDocument" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Aquila.CodeDocument --version 5.0.1
                    
#r "nuget: Aquila.CodeDocument, 5.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Aquila.CodeDocument@5.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Aquila.CodeDocument&version=5.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Aquila.CodeDocument&version=5.0.1
                    
Install as a Cake Tool

Aquila.CodeDocument

Author: Aswin SAdhasivam Company: Aquila Innovations

You can copy this directly into:

README.md

๐Ÿ“˜ Aquila.CodeDocument

Automatic Code Documentation & Android Permission Tracking for .NET MAUI

Aquila.CodeDocument is a build-time documentation generator for .NET MAUI Android (net9.0-android) projects.

It automatically:

๐Ÿ“„ Merges all .cs and .xaml files into a single documentation file

๐Ÿ” Extracts Android permissions from AndroidManifest.xml

๐Ÿ“Š Maps permissions to source files using them

โš™ Runs automatically after successful build

๐Ÿš€ Requires zero runtime code

โœจ Features 1๏ธโƒฃ Code Documentation Generator

When enabled, Aquila.CodeDocument:

Scans all project .cs and .xaml files

Excludes bin and obj

Merges full file content into:

ProjectFolder/ โ””โ”€โ”€ AquilaCodeDocument/ โ””โ”€โ”€ AquilaCodeDocument.txt

2๏ธโƒฃ Android Permission Tracking

When enabled, Aquila.CodeDocument:

Reads:

Platforms/Android/AndroidManifest.xml

Extracts all:

<uses-permission android:name="..." />

Scans .cs files

Detects which files use each permission

Generates:

ProjectFolder/ โ””โ”€โ”€ AquilaCodeDocument/ โ””โ”€โ”€ AquilaPermissions.txt

Example output:

Permission: android.permission.CAMERA Used In:

  • CameraPage.cs
  • ScanService.cs

๐Ÿ“ฆ Installation Using .NET CLI dotnet add package Aquila.CodeDocument

Using Visual Studio

Right click project

Manage NuGet Packages

Search Aquila.CodeDocument

Install

โš™ Requirements

.NET 9 SDK

.NET MAUI

Target framework:

<TargetFramework>net9.0-android</TargetFramework>

โš  This package runs only for Android builds.

๐Ÿš€ Usage Guide

Add the following inside your .csproj:

<PropertyGroup> <aquilacodedocument>true</aquilacodedocument> <aquilacodedocument_trackPermission>true</aquilacodedocument_trackPermission> </PropertyGroup>

๐Ÿ”น Enable Code Documentation Only <aquilacodedocument>true</aquilacodedocument>

๐Ÿ”น Enable Permission Tracking Only <aquilacodedocument_trackPermission>true</aquilacodedocument_trackPermission>

๐Ÿ”น Enable Both <PropertyGroup> <aquilacodedocument>true</aquilacodedocument> <aquilacodedocument_trackPermission>true</aquilacodedocument_trackPermission> </PropertyGroup>

๐Ÿ“‚ Output Structure

After successful build:

YourProject/ โ””โ”€โ”€ AquilaCodeDocument/ โ”œโ”€โ”€ AquilaCodeDocument.txt โ””โ”€โ”€ AquilaPermissions.txt

๐Ÿ”„ When Does It Run?

After successful Build

Only for:

net9.0-android

Does NOT affect iOS, Windows, or Mac builds

Does NOT affect runtime performance

๐Ÿ›ก Performance Design

Excludes bin/ and obj/

Runs only when property enabled

Lightweight scanning

Safe for Debug & Release builds

๐Ÿง  How It Works

Aquila.CodeDocument uses:

MSBuild .props

MSBuild .targets

Custom MSBuild Tasks

Post-build execution hook

No runtime dependencies.

No reflection.

No source generators.

Pure build-time automation.

๐Ÿ“Œ Use Cases

๐Ÿ“‘ Project archival documentation

๐Ÿงพ Compliance documentation

๐Ÿ” Security review reports

๐Ÿข Enterprise audits

๐Ÿง‘โ€๐Ÿซ Academic project submission

๐Ÿงช QA validation

๐Ÿ›  Developer onboarding

โš  Limitations

Android only

Permission detection uses keyword matching

Does not analyze reflection-based permission calls

Future versions may include Roslyn-based analysis.

๐Ÿ”ฎ Roadmap

Planned features:

Markdown output

JSON metadata output

Permission usage graph

Architecture dependency mapping

Roslyn analyzer edition

CI/CD integration

Visual Studio extension

๐Ÿข About

Author: Aswin SAdhasivam Company: Aquila Innovations

Aquila.CodeDocument is part of Aquilaโ€™s developer tooling ecosystem focused on:

Build automation

Code intelligence

Enterprise tooling

Productivity enhancement

๐Ÿ“œ License

MIT License

๐Ÿค Contributing

Contributions welcome.

If you discover issues or have feature requests, please open an issue on the repository.

โญ Support

If this package helps your workflow, please:

โญ Star the repository

๐Ÿ’ฌ Share feedback

๐Ÿ“ข Recommend to other developers

๐Ÿ’ฌ Example Scenario

You are preparing an Android MAUI app for security audit.

Instead of manually collecting:

All source files

All permissions

Permission usage mapping

You simply:

<aquilacodedocument>true</aquilacodedocument> <aquilacodedocument_trackPermission>true</aquilacodedocument_trackPermission>

Build.

Documentation generated automatically.

๐ŸŽฏ Final Thoughts

Aquila.CodeDocument turns your build process into an automatic documentation engine.

Zero effort. Maximum visibility. Enterprise-ready.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

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
5.0.5 153 2/19/2026
5.0.3 114 2/19/2026
5.0.2 124 2/19/2026
5.0.1 124 2/19/2026
5.0.0 119 2/19/2026
4.0.0 340 2/18/2026
3.0.0 119 2/18/2026
2.0.0 119 2/18/2026
1.0.6 122 2/18/2026
1.0.5 119 2/18/2026
1.0.4 122 2/18/2026
1.0.3 117 2/18/2026
1.0.2 121 2/18/2026
1.0.1 118 2/18/2026
1.0.0 126 2/18/2026