Skip to content

Repository Structure

Azure Local Ranger is intentionally both a public documentation site and a PowerShell module repository.

That means the repo structure has to support the current documentation-first phase without confusing that with the long-term module layout.

Current Top-Level Structure

PathPurposeCurrent posture
docs/Public documentation site contentActive now
mkdocs.ymlSite navigation and publication structureActive now
.github/workflows/Validation and GitHub Pages publication workflowsActive now
repo-management/Internal plans, checklists, and working design materialActive now
repo-management/reports/Canonical internal audit and implementation trackersActive now
Modules/PowerShell implementation treeActive now
tests/Top-level container for the testing solutionActive now
tests/trailhead/Live field-validation assets and run evidenceActive now
tests/maproom/Offline synthetic, fixture-backed, and post-discovery testing assetsActive now
en-US/PowerShell about/help content packaged with the moduleActive now

PowerShell Module Surface

The repository includes a real root module plus the module-oriented implementation tree:

  • AzureLocalRanger.psd1
  • AzureLocalRanger.psm1

The main implementation surface now lives under Modules/ and follows the layered architecture defined in the product plan.

What Contributors Should Edit Now

Most contributors will now be touching one or more of these areas:

  • docs/
  • mkdocs.yml
  • repo-management/
  • Modules/
  • tests/
  • en-US/

The split still matters:

  • docs/ carries the public story
  • repo-management/ carries internal planning and audit detail
  • en-US/ carries module-localized help content
  • Modules/ and tests/ carry the implementation itself
  • tests/trailhead/ holds live validation only
  • tests/maproom/ holds offline testing only

Module Structure

The implementation layout is module-oriented rather than a generic src/ tree.

Planned pathPurpose
Modules/PublicExported commands and public entry points
Modules/PrivateInternal helper functions
Modules/CoreOrchestration, manifest assembly, and shared services
Modules/CollectorsDiscovery-domain collectors
Modules/Outputs/ReportsReport renderers
Modules/Outputs/DiagramsDiagram renderers and helpers
Modules/InternalShared models and non-exported utilities

That structure reflects the architecture decisions already locked in the docs and now implemented in the repository.

Public Docs vs Internal Planning

The split between docs/ and repo-management/ is intentional.

  • docs/ should tell the stable public story
  • repo-management/ can hold iterative internal planning detail

Public readers should not have to read internal planning files just to understand the product.

The new canonical implementation audit lives under repo-management/reports/, while public-facing delivery summaries live under docs/project/.

Publication Model

The documentation side of the repo should stay GitHub Pages and MkDocs friendly.

The implementation side of the repo stays publishable as a PowerShell module as collectors and renderers evolve.

Released under the MIT License.