Skip to content

docs: install + quick-start + config reference chapters - #135

Merged
aram-devdocs merged 2 commits into
mainfrom
gh-issue-57-issue-57-20260427225628
Apr 29, 2026
Merged

docs: install + quick-start + config reference chapters#135
aram-devdocs merged 2 commits into
mainfrom
gh-issue-57-issue-57-20260427225628

Conversation

@aram-devdocs

Copy link
Copy Markdown
Owner

Target branch

  • This PR targets main

Spec

Fixes #57 — part of the Phase 6 runbook (#56), batch 6A core docs chapters.

Summary

  • Adds docs/src/install.md covering all four release channels (install script, cargo install, Homebrew, build-from-source) with an honest pre-release status table.
  • Adds docs/src/quickstart.md walking the five-minute first-run path: sanity check → plumb init → real-URL lint → JSON / SARIF / per-rule overrides → editor schema wiring → MCP server.
  • Rewrites docs/src/configuration.md as the full plumb.toml reference: every section (viewports, spacing, type, color, radius, alignment, a11y, per-rule overrides) with copy-pasteable TOML, defaults table, and the consuming rule. Wires the canonical schema URL https://plumb.aramhammoudeh.com/schemas/plumb.toml.json into editor-tooltip examples for VS Code (Even Better TOML) and JetBrains.
  • Updates docs/src/SUMMARY.md with a new "Getting started" section and reorders the existing "Using Plumb" section. Refreshes docs/src/introduction.md next-links to surface install + quickstart first.

Crates touched

  • docs/

System impact

None of the schema / API / rule / dependency boxes apply — this is a pure docs change.

Architectural compliance

No code touched; layer / error / determinism rules are inapplicable. Markdown-only diff.

Test plan

  • Local bash scripts/check-agents-md.sh passes (line budgets, AGENTS scopes OK).
  • CI just validate (Rust toolchain could not install in the local sandbox — disk full; relying on GitHub CI).
  • Humanizer pass run on all three chapters: no AI-vocab hits (delve, tapestry, landscape, leverage, comprehensive, seamless, etc.), no negative-parallelism, em-dash density acceptable.

Documentation

  • docs/src/ updated (this PR's reason for existing).
  • Humanizer skill run on docs changes.
  • N/A: no rustdoc / rule / CHANGELOG-worthy code change.

Breaking change?

  • No

Checklist

  • Conventional Commits title (docs: …)
  • Branch name pattern — the existing branch is gh-issue-57-issue-57-20260427225628, created by the worktree harness rather than the canonical codex/57-docs-... shape. Kept as-is to avoid PR churn; advisory.
  • Review gates — relying on .github/workflows/claude-code-review.yml plus human review.
  • /gh-review --local-diff main...HEAD skipped — python3 and the Rust toolchain were unavailable in this sandbox, so the review-gate scripts couldn't run.

Reviewer notes

  • The pre-release table (top of install.md) is deliberately honest about which channels work today vs. which are wired up but not yet released. Match this against the README the next time the release script changes.
  • Schema URL is https://plumb.aramhammoudeh.com/schemas/plumb.toml.json. If the docs site path changes, this URL needs to update in three places: install.md, quickstart.md, configuration.md.
  • The default values in the [a11y] and [alignment] tables come from schemas/plumb.toml.json — let me know if they fall out of sync with the schema and I'll resync.

Adds docs/src/install.md (4 channels), docs/src/quickstart.md
(5-minute first run), and rewrites docs/src/configuration.md as the
full plumb.toml reference. Wires the canonical schema URL
(https://plumb.aramhammoudeh.com/schemas/plumb.toml.json) into the
editor-tooltip example so JSON-Schema-aware editors pick it up.
SUMMARY.md grows a Getting started section; introduction.md links
out to the new chapters.

Closes #57.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

I have enough data for a complete review. Here's the full assessment:


PR #135docs: install + quick-start + config reference chapters

Scope: Pure docs change. Five files touched: two new (install.md, quickstart.md), three modified (SUMMARY.md, configuration.md, introduction.md). No Rust code changed.

Determinism / layering / error-handling / unsafe: Not applicable — no code touched.


What's correct

  • All relative links resolve (cli.md, mcp.md, install-chromium.md, rules/overview.md, etc.).
  • All CLI commands mentioned exist and have the stated flags: plumb schema (crates/plumb-cli/src/commands/schema.rs), plumb explain <rule> (crates/plumb-cli/src/commands/explain.rs), plumb init --force (crates/plumb-cli/src/commands/init.rs:60).
  • Rust version requirement 1.95 matches rust-toolchain.toml and Cargo.toml:rust-version.
  • All config default values accurate against crates/plumb-core/src/config.rs: base_unit=4, delta_e_tolerance=2.0, tolerance_px=3, min_width_px=24, min_height_px=24.
  • Serde field rename (type_scale[type]) is correctly reflected in the TOML examples.
  • No AI-tell phrases (comprehensive, leverage, seamless, dive in, etc.) found.
  • Em-dash count is 12 across three files; all uses are semantically appropriate (table cells, nav lists, one prose clause).
  • SUMMARY.md "Getting started" section order is logical (installquickstartinstall-chromium).

Issues

1. False CI guarantee — docs/src/configuration.md:219-221 (Warning / REQUEST_CHANGES)

The schema MUST round-trip: every field documented above appears in
the schema with the same defaults and the same constraints. CI checks
this against the rendered `examples/plumb.toml`.

This is inaccurate on two counts.

  • cargo xtask pre-release checks that the committed schemas/plumb.toml.json isn't stale (generated schema matches committed schema). It does not compare against examples/plumb.toml.
  • crates/plumb-config/tests/load_example.rs::loads_example_toml verifies the file parses and that viewports is non-empty — it does not validate that defaults match the documented tables.
  • The word "rendered" is misleading; examples/plumb.toml is a static committed file, not a generated artifact.

Fix: Replace with what the tests actually guarantee, e.g.:

The schema is validated by cargo xtask pre-release (staleness) and crates/plumb-config/tests/load_example.rs (parse-ability). The schema is not yet diffed against examples/plumb.toml field-by-field; if you add a new config field, run cargo xtask schema and update examples/plumb.toml in the same commit.


2. Exit code table is incomplete — docs/src/quickstart.md:44-51 (Warning)

| 0 | No violations. |

Two active rules default to Severity::Info: edge/near-alignment (crates/plumb-core/src/rules/edge/near_alignment.rs:75) and sibling/height-consistency (crates/plumb-core/src/rules/sibling/height_consistency.rs:54). The exit-code logic in crates/plumb-cli/src/commands/lint.rs::exit_code_for returns ExitCode::SUCCESS (0) when the violation set contains only Info entries — indistinguishable from a clean run at the shell level.

A user running against a page with misaligned elements would see violations in the pretty output but exit code 0, which contradicts "No violations."

Fix: Expand the row:

| 0 | No violations, or only `info`-severity violations (e.g. `edge/near-alignment`). |

Punch list

File Line Issue
docs/src/configuration.md 219–221 False claim that CI validates schema defaults against examples/plumb.toml — fix to describe what the tests actually check
docs/src/quickstart.md 44–51 Exit code 0 described as "No violations" — doesn't cover Info-only runs; two Info-severity rules are active

Verdict: REQUEST_CHANGES

@aram-devdocs
aram-devdocs merged commit 95da8e7 into main Apr 29, 2026
14 checks passed
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.

docs: install + quick-start + config reference chapters

1 participant