Tags

Tags give the ability to mark specific points in history as being important
  • v1.0.2

    protected Release: Release v1.0.2
    🛠️ Doc Gen v1.0.2 — Cleaner Project Discovery
    
    Doc Gen v1.0.2 is a maintenance release that keeps dedicated virtual
    environments out of generated project structures and improves repository
    presentation.
    
    - Ignore supported development, production, publishing, and auxiliary virtual
      environment directories during project discovery.
    - Align Git, Docker, formatter, and linter exclusions with that behavior.
    - Add regression coverage for environment-directory filtering.
    - Refresh README metadata and add a portable CLI preview.
    - Standardize public project contact metadata.
    
    Existing commands, configuration, and dry-run behavior are unchanged.
    
    - Version: `v1.0.2`
    - Previous version: `v1.0.1`
    - Release type: patch
    - Package compatibility: Python 3.9+
    - Stability: stable
    
    _Release: v1.0.2_
    _Author: Devalltect / Rizky Fernandes_
  • v1.0.1

    protected Release: Release v1.0.1
    🩹 Doc Gen v1.0.1 — Consistent Root Help and Banner
    
    Doc Gen v1.0.1 is a focused patch release that makes bare CLI invocation match
    the documented help and banner experience.
    
    - Running `doc-gen` without a subcommand now shows the Doc Gen banner followed
      by root help.
    - Bare root help exits successfully instead of being treated as an error.
    - `doc-gen --no-banner` shows root help without banner artwork.
    - Local production and development images built through Make now report the
      reviewed Doc Gen version instead of setuptools-scm's legacy `0.1.0`
      fallback.
    - Explicit `doc-gen --help`, version output, initialization, generation,
      printing, analysis, and dry-run behavior remain unchanged.
    
    ```bash
    doc-gen --version
    doc-gen
    doc-gen --no-banner
    doc-gen structure generate . --dry-run
    make c-build-prod
    docker run --rm doc-gen-prod:latest --version
    ```
    
    - Version: `v1.0.1`
    - Previous version: `v1.0.0`
    - Release type: patch
    - Package compatibility: Python 3.9+
    - Standard development/container runtime: Python 3.14
    - Stability: stable
    
    _Release: v1.0.1_
    _Author: Devalltect / Rizky Fernandes_
  • v1.0.0

    protected Release: Release v1.0.0
    ✅ Doc Gen v1.0.0 — Stable Repository Documentation Toolkit
    
    Doc Gen v1.0.0 promotes the redesigned documentation foundation reviewed in
    `v1.0.0-rc.1` to the stable 1.0 release line. The Doc Gen name was introduced
    in RC.1 after the project was known as `print_project_structure` in v0.1.0.
    
    Doc Gen now provides focused workflows for generating structured Markdown
    documentation, printing repository trees, and analyzing project structure. It
    replaces the v0.1.0 standalone script with an installable, configurable, tested,
    and automation-friendly CLI.
    
    - Concise, actionable command errors with reliable nonzero exits and debug-only implementation tracebacks.
    
    - Generate structured Markdown with `doc-gen structure generate [target]`.
    - Print repository trees with the read-only `doc-gen structure print [target]` command.
    - Analyze repository structure with the read-only `doc-gen structure analyze [target]` command.
    - Initialize namespaced `.config/doc_gen/config.toml` settings with `doc-gen init`.
    - Select minimal, default, or detailed profiles.
    - Use smart mode to adapt settings to repository characteristics.
    - Configure target, output, depth, file visibility, collapse behavior, project type, and ignores.
    - Preview initialization and generation safely with `--dry-run`.
    - Use Rich terminal guidance, logging, automated tests, MkDocs docs, Make, Docker, Compose, GitHub Actions, and GitLab CI.
    - Preserve Python 3.9 compatibility through tested traversal, model, annotation, and TOML-loading behavior while keeping Python 3.14 as the standard runtime.
    - Use release pipelines that derive registry destinations from the active repository, require reviewed annotated tags, preserve safely rendered complete tag-message notes with populated metadata and literal Docker commands, publish exact prerelease images, and publish stable images under exact, minor, major, and `latest` tags.
    
    - `structure print` and `structure analyze` are read-only.
    - `structure generate` writes only its resolved output document.
    - `structure generate --dry-run` scans and renders without creating the output directory or Markdown file.
    - `init --dry-run` previews scaffolding without creating or overwriting project configuration.
    - Diagnostic logs may still be written, but dry-run does not modify target-project output.
    
    - Update project references from `print_project_structure` to Doc Gen.
    - Install and invoke the `doc-gen` console command instead of running `print_project_structure.py` directly.
    - Choose `structure generate`, `structure print`, or `structure analyze` explicitly.
    - Move configuration to `.config/doc_gen/config.toml`.
    - Place options before the optional target path.
    - Review generation with `--dry-run` before replacing maintained documentation.
    
    CLI, configuration, scanning, detection, smart mode, profiles, renderers,
    writing, initialization, UI, and logging are separated into focused modules.
    This makes behavior easier to locate, test, debug, maintain, and extend than the
    former single-script implementation.
    
    Authorized users can install the stable package from the private GitLab
    registry. Configure pip authentication with a deploy token limited to
    `read_package_registry`, then use the token-free project index URL:
    
    ```bash
    python -m pip install \
      --index-url "https://gitlab.com/api/v4/projects/<project-id>/packages/pypi/simple" \
      "doc-gen==1.0.0"
    ```
    
    Supply credentials through an approved protected pip credential mechanism or
    its interactive authentication flow. Never commit tokens or include them in
    shared command history. Only the protected release pipeline publishes packages;
    unprotected tags remain validation-only.
    
    - Version: `v1.0.0`
    - Previous version: `v1.0.0-rc.1`
    - Previous stable version: `v0.1.0`
    - Release lineage: v0.1.0 → pre-RC checkpoints 1–4 → v1.0.0-rc.1 → post-RC stabilization → v1.0.0
    - Strategy: Semantic Versioning
    - Package compatibility: Python 3.9+
    - Standard development/container runtime: Python 3.14
    - Stability: Stable for the documented command set
    - Container tags: `v1.0.0`, `v1.0`, `v1`, and `latest`; exact version recommended for reproducible automation
    
    Thank you for validating the release candidate and helping make the redesigned
    Doc Gen foundation ready for stable use.
    
    _Release: v1.0.0_
    _Author: Devalltect / Rizky Fernandes_
  • v1.0.0-rc.1

    protected Release: Release v1.0.0-rc.1
    🚧 Doc Gen v1.0.0-rc.1 — Repository Documentation CLI Release Candidate
    
    Doc Gen v1.0.0-rc.1 is the first release candidate for the redesigned 1.0
    release line. The project was named `print_project_structure` in v0.1.0; this
    release candidate introduces the Doc Gen name and transforms the original
    project-tree script into a packaged CLI for generating Markdown documentation,
    printing repository trees, and analyzing project structure.
    
    The release candidate is intended for developers, maintainers, and automation
    authors who want to validate the new command hierarchy, configuration, profiles,
    smart mode, output safety, containers, and documentation before stable v1.0.0.
    
    - `doc-gen structure generate [target]` creates structured Markdown repository documentation.
    - `doc-gen structure print [target]` prints a read-only project tree.
    - `doc-gen structure analyze [target]` reports repository and structure details.
    - `doc-gen init` creates namespaced project configuration.
    - Minimal, default, and detailed profiles provide reusable output levels.
    - Smart mode detects repository characteristics and selects practical structure settings.
    - Configurable depth, file visibility, directory collapse, project type, ignores, and output path.
    - Structured overview, tree, root-file, directory-detail, and notes sections.
    - Rich help, banners, tables, progress, summaries, and actionable errors.
    - Consistent command failure panels with safe remediation, reliable nonzero exits, and debug-only implementation tracebacks.
    - Explicit dry-run safety for initialization and generated documentation.
    - Automated tests, MkDocs documentation, Docker, Compose, modular Make workflows, GitHub Actions, and GitLab CI.
    - Verified Python 3.9 compatibility alongside Python 3.14 through compatible traversal, dataclass, annotation, and TOML-loading behavior.
    - Hardened delivery pipelines that use the active repository's registry namespace, require non-empty annotated release tags, preserve safely rendered complete tag-message notes with populated metadata and literal Docker commands, keep RC images on their exact tag, and reserve `latest` for stable releases.
    - Private GitLab PyPI delivery for `doc-gen`, with the RC tag published as
      canonical package version `1.0.0rc1` only after the protected release
      pipeline passes.
    
    Authorized users can install the candidate from the private GitLab package
    registry. Configure pip authentication with a deploy token limited to
    `read_package_registry`, then use the token-free project index URL:
    
    ```bash
    python -m pip install \
      --index-url "https://gitlab.com/api/v4/projects/<project-id>/packages/pypi/simple" \
      "doc-gen==1.0.0rc1"
    ```
    
    Supply the deploy-token username and token through an approved protected pip
    credential mechanism or its interactive authentication flow. Never place tokens
    in committed configuration or shared command history. Unprotected tags validate
    the same artifacts but cannot publish them.
    
    Every supported workflow accepts `--dry-run`:
    
    - `doc-gen init --dry-run` previews scaffolding without creating or overwriting files.
    - `doc-gen structure generate --dry-run <target>` scans and renders a preview without creating the output directory or Markdown file.
    - `doc-gen structure print --dry-run <target>` remains read-only.
    - `doc-gen structure analyze --dry-run <target>` remains read-only.
    
    Read-only discovery, validation, and in-memory rendering may still run so the
    preview remains useful. Diagnostic logs may be written to their configured
    destination, but target-project output remains unchanged.
    
    Preview generated documentation:
    
    ```bash
    doc-gen structure generate --dry-run .
    ```
    
    Generate the default output:
    
    ```bash
    doc-gen structure generate .
    ```
    
    Print or analyze without writing project documentation:
    
    ```bash
    doc-gen structure print .
    doc-gen structure analyze .
    ```
    
    Use a profile or smart mode:
    
    ```bash
    doc-gen structure generate --profile detailed .
    doc-gen structure generate --smart .
    ```
    
    Project configuration lives at:
    
    ```text
    .config/doc_gen/config.toml
    ```
    
    Configuration can define shared structure behavior, generation output, profiles,
    smart mode, ignore rules, logging, and dry-run defaults. Explicit CLI options
    override configuration for the current invocation.
    
    - Update project references from `print_project_structure` to Doc Gen.
    - Replace direct execution of `print_project_structure.py` with the installed `doc-gen` command.
    - Use the `structure generate`, `structure print`, or `structure analyze` workflow matching the intended result.
    - Move project settings to `.config/doc_gen/config.toml`.
    - Pass command options before the optional target path, for example `doc-gen structure generate --smart .`.
    - Review generated output with `--dry-run` before replacing maintained documentation.
    - Review command-specific help before migrating scripts or CI automation.
    
    - CLI interaction, configuration, scanning, project detection, smart mode, rendering, writing, initialization, UI, and logging have focused boundaries.
    - Markdown rendering is separated from persistence so output can be inspected and tested without writing files.
    - Profiles and common structure models reduce duplicated behavior across commands.
    - Modular Make, Docker, Compose, CI, lint, format, test, package, and documentation workflows support repeatable development.
    
    1. Install Doc Gen v1.0.0-rc.1 in an isolated environment.
    2. Run `doc-gen --help` and help for every structure command.
    3. Preview initialization and review the proposed configuration files.
    4. Generate previews for small and large disposable repositories.
    5. Exercise minimal, default, detailed, and smart-mode output.
    6. Confirm dry-run generation creates neither an output directory nor a Markdown file.
    7. Verify print and analyze remain read-only.
    8. Review local, Docker, Compose, and Make execution if used in automation.
    9. Report unsafe writes, incorrect ignore behavior, confusing output, or migration problems before v1.0.0 is promoted.
    
    This release candidate brings together four untagged development checkpoints.
    The product and general delivery foundation belongs to checkpoint 1; private
    GitLab package delivery belongs to checkpoint 2; source-checkout maintenance
    belongs to checkpoint 3; and safe GitHub Release rendering belongs to checkpoint
    4. RC.1 promotes their reviewed, cumulative result rather than introducing a
    separate implementation checkpoint.
    
    Recorded development validation is not final release sign-off. Complete the
    RC checks against the exact candidate commit before publishing its tag, and
    validate the workflows relevant to your project before production use.
    
    - Version: `v1.0.0-rc.1`
    - Previous version: `v0.1.0`
    - Strategy: Semantic Versioning
    - Package compatibility: Python 3.9+
    - Standard development/container runtime: Python 3.14
    - Stability: Release candidate; validate before production documentation automation
    - Stable target: `v1.0.0`
    
    The stable release may include final cleanup, documentation corrections, and
    fixes discovered during RC validation without expanding the reviewed 1.0 scope.
    
    Thank you for testing the redesigned Doc Gen 1.0 foundation.
    
    _Release candidate: v1.0.0-rc.1_
    _Author: Devalltect / Rizky Fernandes_
  • v0.1.0

    protected Release: Project Structure Generator v0.1.0
    First Version