Skip to content

Comprehensive documentation overhaul (issues #192–#201)#203

Merged
jtdub merged 3 commits intomasterfrom
update-docs
Mar 3, 2026
Merged

Comprehensive documentation overhaul (issues #192–#201)#203
jtdub merged 3 commits intomasterfrom
update-docs

Conversation

@jtdub
Copy link
Contributor

@jtdub jtdub commented Mar 3, 2026

Closes: #192, #193, #194, #195, #196, #197, #198, #199, #200, #201

What's Changed

Resolves all nine open documentation issues filed in the v3.x milestone. Changes span source-code docstrings, MkDocs site structure, and every existing documentation page.

Source Code (issue #192)

  • Enabled D101 (missing class docstring) in ruff and removed the matching pylint disable so CI now enforces class-level docstrings.
  • Added class docstrings to all public classes: HConfigBase, HConfigChild, HConfigChildren, HConfigDriverRules, all ten platform driver classes, all ten platform view classes, and every Pydantic model in models.py and platforms/models.py.
  • Added expanded method docstrings (Args / Returns sections) to the highest-impact public methods: config_to_get_to(), unified_diff(), _future(), negate(), is_match(), overwrite_with().

New Documentation Pages

Page Issue
docs/architecture.md — seven-section architectural overview with ASCII data-flow diagram #193
docs/glossary.md — 16 defined terms with examples and platform comparison tables #201
docs/api-reference.md — mkdocstrings auto-generated reference for all public API #197
CHANGELOG.md — Keep a Changelog format, v3.0.0 → v3.4.1 with real git-tag dates #196

Updated Documentation Pages

  • docs/getting-started.md (Fix stale 'Host class' reference in getting-started.md #195): Fixed stale "Host class" reference.
  • README.md (Expand README with motivation, architecture summary, and feature links #194): Added "Why hier_config?" section, feature highlights, and architecture one-liner.
  • docs/drivers.md (Add documentation for non-Cisco platforms (FortiOS, HP, Comware5) #198): Every platform now has its own dedicated section (Cisco IOS, Arista EOS, Cisco IOS XR, Cisco NX-OS, VyOS, Generic, Juniper JunOS, HP ProCurve, HP Comware5, Fortinet FortiOS) with description, key behaviors, and activation code. Removed flat summary table.
  • CONTRIBUTING.md (Expand CONTRIBUTING.md with development workflow details #199): Added Running Tests, Running Linters, Commit Message Style, PR Expectations, Architecture Orientation, and IDE Tips sections.
  • docs/future-config.md (Document and address known gaps in _future() method #200): Expanded Known Limitations from a bullet list to numbered entries with explanations and workarounds. Merged unified-diff.md content in as a new section. Fixed incorrect "version 3.3.1" reference (feature landed in 3.4.0).
  • docs/config-view.md: Grouped the 42 interface-view properties into eight categorized sub-tables (Basic Identity, State, IP Addressing, VLAN/802.1Q, Interface Type Flags, Bundle, Physical Layer, NAC) instead of one flat table.
  • docs/index.md: Expanded into a real landing page with task-oriented bullets, platform table, quick example, and navigation guide.
  • mkdocs.yml: Reordered nav to match user journey; added mkdocstrings plugin; removed Unified Diff standalone page.
  • Cross-links: Added glossary cross-links at first use of terms in drivers.md, future-config.md, tags.md, and custom-workflows.md.

To Do

  • Explanation of Change(s)
  • Added change log fragment(s)
  • Attached Screenshots, Payload Example
  • Unit, Integration Tests
  • Documentation Updates (when adding/changing features)
  • Outline Remaining Work, Constraints from Design

🤖 Generated with Claude Code

jtdub and others added 3 commits March 3, 2026 15:20
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

Enable docstring linting and add missing docstrings to public API

1 participant