Skip to content

Restructure documentation into User, Administrator, and Developer guides#283

Merged
jtdub merged 1 commit into
nextfrom
docs-restructure
Jul 19, 2026
Merged

Restructure documentation into User, Administrator, and Developer guides#283
jtdub merged 1 commit into
nextfrom
docs-restructure

Conversation

@jtdub

@jtdub jtdub commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Summary

The docs were 3,750 lines across 16 flat pages — unified-diff.md wasn't even in the nav, and drivers.md (1,049 lines) mixed user, admin, and developer content. This restructures everything into three audience-focused guides with a nested nav:

User Guide (docs/user/) — install → getting started → Loading Configurations (new page consolidating all seven constructors, including from_json/from_xml) → remediation workflows (now covering IncompatibleDriverError validation, transform callbacks, plugins, and remediation_netconf_xml) → tags → future-config (updated with the #269 negation-resolution semantics and prune_empty_branches) → unified diff → reporting (trimmed ~40% of redundancy) → config views (rewritten for the v4 capability-mixin model) → set-style platforms (generalized from JunOS-only to JunOS/VyOS/Nokia SRL).

Administrator Guide (docs/admin/) — supported-platform reference, customizing driver rules (including a new recipe for overriding post-load callbacks, e.g. keeping IOS ACL remarks — the #271 resolution), custom drivers + the registry, and loading rules from YAML.

Developer Guide (docs/dev/) — refreshed architecture (tree_algorithms, registry, formats, plugins modules), the driver rule-model reference (unified NegationRule), creating a platform driver end-to-end, a new Contributing page, and an API reference extended to the full v4 public surface.

index.md is rewritten as a landing page: what/why, a runnable quick example (output verified by actually running it), and "where to go next" entry points per audience. Every code example was verified against the v4 source rather than carried over from the old docs. README and CONTRIBUTING links updated to the new paths.

Test plan

  • poetry run mkdocs build --strict — zero warnings (all nav entries, internal links, and mkdocstrings targets resolve).
  • The landing-page example was executed and its output corrected to match reality.
  • poetry run ./scripts/build.py lint-and-test — "No issues found".
  • Every section of the old drivers.md is accounted for in the disposition (nothing dropped).

🤖 Generated with Claude Code

The flat 16-page docs are reorganized into three audience-focused
sections with a nested mkdocs nav:

- User Guide (docs/user/): install, getting started, a new consolidated
  Loading Configurations page (all from_* constructors including
  JSON/XML), remediation workflows (now covering plugins, transform
  callbacks, and NETCONF rendering), tags, future-config (updated for
  the #269 negation semantics and prune_empty_branches), unified diff
  (previously missing from the nav), reporting (trimmed ~40%), config
  views (updated for the v4 mixin model), and set-style platforms
  (generalized from the JunOS-only page).
- Administrator Guide (docs/admin/): the per-platform reference,
  customizing driver rules (including a new post-load-callback
  override recipe), custom drivers and the registry, and loading rules
  from YAML - carved out of the 1049-line drivers.md.
- Developer Guide (docs/dev/): refreshed architecture, the driver rule
  model reference, creating a platform driver, a new contributing page,
  and an API reference extended to the full v4 public surface.

index.md is rewritten as a landing page with a runnable quick example
(output verified against the library) and audience-based entry points.
README/CONTRIBUTING links updated; mkdocs build --strict passes with
zero warnings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jtdub
jtdub requested a review from aedwardstx as a code owner July 19, 2026 01:16
@jtdub
jtdub merged commit 3e269e7 into next Jul 19, 2026
5 checks passed
@jtdub
jtdub deleted the docs-restructure branch July 19, 2026 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant