Skip to content

Add MkDocs documentation site, internals section, and rewritten README#49

Merged
Korijn merged 1 commit into
masterfrom
claude/docs-site
Jul 10, 2026
Merged

Add MkDocs documentation site, internals section, and rewritten README#49
Korijn merged 1 commit into
masterfrom
claude/docs-site

Conversation

@Korijn

@Korijn Korijn commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Track B of the roadmap in a single PR (docs site + internals + README rewrite), following the approach of observ #176, #179 and #180.

Docs site

  • MkDocs + Material theme (mkdocs.yml, new docs dependency group), plus mkdocstrings for the generated API reference — same config shape as observ's.
  • GitHub Actions workflow (.github/workflows/docs.yml) that builds the site with uv and deploys it to GitHub Pages on push to master.
  • Content:
    • Getting Started: installation, quick start (diff → apply → serialize → produce).
    • Guide: diffing semantics, applying patches (apply vs iapply, ordering, undo/redo), JSON pointers, produce() and drafts (including in_place and live-path tracking), serialization and its non-JSON caveats, observ integration, gotchas & best practices (including the deliberate RFC 6902 divergences: sets, tuples, non-string tokens, no move/copy/test).
    • Reference: API reference generated from docstrings.
    • Internals: architecture page covering the DP list diff with prefix/suffix trimming and traceback padding, Pointer.evaluate's strict-parent/tolerant-leaf resolution, and produce()'s proxy design (parent-link paths, detachment/adoption semantics, record-time snapshotting, the reader-method generation).
  • Docstrings added to diff, apply, iapply, to_json, to_str_paths and Pointer (no behavioral changes) so the API reference has content, with cross-links between them.

README rewrite

Links up front (docs site, quick start, API reference), sharper pitch, slimmed to pitch + two quick examples pointing at the docs site, and an observ referral for the reactive-state use case.

Verification

  • All 34 Python code blocks across the docs and README are executed and verified against the current implementation (extraction script runs every block; printed JSON output blocks match real output).
  • The site builds without warnings using the exact CI recipe (uv sync --only-group docs + uv run --no-sync mkdocs build), including all mkdocstrings cross-references.
  • Full test suite passes at 100% coverage; ruff check and format pass.

Note: before the first deploy, GitHub Pages needs to be set to "GitHub Actions" as the source in the repository settings.

🤖 Generated with Claude Code

https://claude.ai/code/session_016Mu9vEBwU4fQLi8ZgkgdS2


Generated by Claude Code

Sets up the documentation for patchdiff, following the approach of
fork-tongue/observ#176, #179 and #180:

- MkDocs + Material theme (mkdocs.yml, new docs dependency group), with
  mkdocstrings for the generated API reference
- GitHub Actions workflow (docs.yml) that builds the site with uv and
  deploys it to GitHub Pages on push to master
- Documentation content:
  * Getting Started: installation, quick start
  * Guide: diffing, applying patches, JSON pointers, produce() and
    drafts, serialization, observ integration, gotchas & best practices
  * Reference: API reference generated from docstrings
  * Internals: architecture of the DP list diff, pointer evaluation,
    and produce()'s proxy design (parent links, detachment, snapshots)
- Docstrings for diff, apply, iapply, to_json, to_str_paths and Pointer
  (no behavioral changes) so the API reference has content
- README rewritten: links up front, sharper pitch, slimmed to pitch +
  quick examples pointing at the docs site, observ referral

All code examples in the docs and README are executed and verified
against the current implementation; the site builds without warnings
using the exact CI recipe (uv sync --only-group docs && mkdocs build).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Mu9vEBwU4fQLi8ZgkgdS2
@Korijn Korijn merged commit 8049c17 into master Jul 10, 2026
10 checks passed
@Korijn Korijn deleted the claude/docs-site branch July 10, 2026 21:21
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.

2 participants