Documentation Roadmap
This backlog tracks user, module-author, contributor, and release
documentation separately from the engineering roadmap in
TODO.md.
It is ordered by the shortest path from a new user finding
the project to successfully generating, testing, and publishing a container module.
Documentation must describe implemented Version 1 behavior only. Planned Phase 2 contracts should be identified as proposals and must not be presented as stable features.
Definition of Done
The Version 1 documentation is ready when a person unfamiliar with the directory can use only the published documentation to:
- install the generator from GitHub Packages;
- author or infer a specification;
- generate and import a module;
- preview and test its commands locally;
- package the generated module in a container;
- diagnose common failures; and
- contribute a tested change to the generator.
Every documented command must be copy-pasteable from the directory or state its required working directory. Examples must be exercised manually or by automated tests before their task is considered complete.
1. Release-Blocking User Journey
- Restructure the root README as a concise landing page containing the project purpose, current status, installation command, five-minute example, supported platforms, and links to detailed guides.
- Write a clean-machine getting-started guide covering GitHub Packages
authentication, installation, import, specification creation, generation,
command discovery,
-WhatIf, and cleanup. - Write a module-author tutorial that starts with an empty directory and
produces a working
PSModule/PSModule.psd1, generated module, and container image. - Write a script-only directory tutorial covering automatic specification
initialization, the
scriptsdirectory boundary, inferred script commands, exported.psm1functions, refresh behavior, and runtime-mapping limitations. - Create a complete Version 1 specification reference for root properties, commands, parameters, stable IDs, mappings, validation, completion, help, examples, source kinds, container images, typed-object rejection behavior, and the extension boundary.
- Add tested recipes for every supported parameter mapping: Argument, Environment, Mount, Volume, Port, WorkingDirectory, Device, Gpu, ResourceLimit, Secret, and RuntimeOption.
- Add tested recipes for every supported validation, static-completion, help, notes, and structured-example feature.
- Document the generated package layout,
/PSModulecontainer contract, installation lifecycle, replacement safety, module import, and generated Markdown command references. - Write troubleshooting guidance for PowerShell 7.4, Docker availability,
GitHub Packages credentials, package visibility,
act, plugin failures, malformed specifications, malformed inspected artifacts, missing runtime mappings, path resolution, and failed container commands. - Document Windows and Linux support and clearly identify macOS as unvalidated, best-effort Version 1 behavior.
2. Reference Documentation
- Document each public generator command with purpose, syntax, parameters, outputs, side effects, examples, failure behavior, and links to related guides.
- Document every inspection metadata shape and the directory files from which it is produced.
- Document the supported Version 1 input subset and malformed-input behavior for Dockerfiles, Docker Compose, .NET, Node, README, PowerShell ASTs, GitHub Actions, NUKE, JSON Schema, and OpenAPI inspection.
- Document inspector exclusions for generated output, dependencies, caches, source-control directories, and nested repositories.
- Write an architecture overview for specification loading, inspection, validation, normalization, runtime adaptation, generation, rendering, and packaging.
- Document the shared plugin context, stage ordering, discovery convention, diagnostics, trust boundary, and current internal contract without promising Phase 2 compatibility.
- Add a trusted directory-plugin example spanning at least one inspection stage and one generation or packaging stage.
- Document deterministic output guarantees and which artifacts are suitable for source control, CI artifacts, container layers, and package feeds.
3. Contributor and Release Operations
- Add a contributor guide with environment setup, branch and PR expectations,
directory layout, formatting, Pester, coverage, Docker end-to-end tests, and
local
actusage. - Add a security guide with supported-version and private vulnerability-reporting guidance.
- Select and add a
LICENSE, then reference it from the README and package metadata. - Add a changelog using a consistent release-note format and backfill the Version 1 implementation milestones.
- Document module versioning, release-tag format, immutable package versions, GitHub Release creation, GitHub Packages publishing, package visibility, and rollback or superseding-release procedures.
- Create a release checklist covering version changes, changelog entries, documentation review, clean-machine validation, CI, package installation, release publication, and post-publication smoke testing.
- Document the CI job matrix, test and coverage reports, package artifact,
publishing workflow permissions, and which hosted checks cannot be reproduced
faithfully with
act.
4. Documentation Delivery and Quality
- Define the documentation navigation and map existing Markdown files into the Docusaurus structure with the root README as the shared homepage source.
- Build the documentation from the published docs-template container image without a template checkout or Git submodule.
- Add automated Markdown link validation and spelling or terminology checks with focused exclusions for code, generated references, and product names.
- Add a CI build for the documentation site and fail on broken navigation, unresolved links, or Docusaurus compilation errors.
- Publish the documentation for the first release and link it from the README, GitHub repository description, and GitHub Release. Docusaurus versioning was set up and then removed: there is one version of these docs and the site serves it at the root, so per-release snapshots only added a frozen copy to keep in step.
- Perform a clean-reader review that follows the complete user journey without relying on source-code knowledge, then record and resolve every ambiguity found.
Deferred Documentation
- Public third-party plugin SDK documentation.
- Additional runtime documentation, including Podman.
- Cross-command tutorials and advanced composition patterns.
- Versioned migration guides for compatibility changes after Version 1.