🚧 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_