Skip to content

docs: restructure documentation into focused topic files#430

Open
lvlcn-t wants to merge 5 commits into
mainfrom
refactor/docs
Open

docs: restructure documentation into focused topic files#430
lvlcn-t wants to merge 5 commits into
mainfrom
refactor/docs

Conversation

@lvlcn-t

@lvlcn-t lvlcn-t commented May 10, 2026

Copy link
Copy Markdown
Collaborator

Motivation

The monolithic 781-line README made it hard to find specific
information and was painful to maintain. This PR splits it into
focused, single-topic documentation files under docs/.

Relates to #391 (review)

Tip

This is a large diff — reviewing commit-by-commit is recommended
for a bit of atomicity. Sorry it's so big!

Changes

Commit 1: restructure documentation

  • Slim README from 781 → 94 lines (landing page with links)
  • Add focused docs: installation.md, configuration.md,
    checks.md, api.md, observability.md
  • Add per-check docs under docs/checks/
  • Move auto-generated CLI docs to docs/reference/
  • Consolidate dev guides under docs/dev/
  • Update scripts/gen-docs/gen-docs.go output path
  • Update chart/values.yaml + chart/README.md URL references
  • Add .markdownlint-cli2.yaml and AGENTS.md

Commit 2: fix markdown lint

  • Reformat CHANGELOG.md, CODE_OF_CONDUCT.md, CONTRIBUTING.md
    for lint compliance (80-char wrapping, dash bullets, title case)
  • Reformat docs/dev/README.md and
    docs/ownership-metadata-design.md
  • Re-add issue Feature: A sparrow should expose its ownership metadata #354 backlink to ownership-metadata-design.md

New docs structure

docs/
  README.md                → documentation index
  installation.md          → binary, container, Helm install
  configuration.md         → startup config, loader, target manager
  checks.md                → checks overview
  checks/{health,latency,dns,traceroute}.md
  api.md                   → HTTP API endpoints
  observability.md         → Prometheus, traces, Grafana
  dev/
    README.md              → developer guide
    traceroute-testing.md  → Kathara test lab guide
    sbom.md                → SBOM generation guide
  reference/               → auto-generated CLI docs

Tests done

  • Markdown lint passes (npx markdownlint-cli2 "**/*.md")
  • Unit tests succeeded
  • E2E tests succeeded

TODO

  • I've assigned this PR to myself
  • I've labeled this PR correctly

@lvlcn-t lvlcn-t self-assigned this May 10, 2026
@lvlcn-t lvlcn-t added the docs Improvements or additions to documentation label May 10, 2026
@niklastreml

Copy link
Copy Markdown
Member

Why is this a stacked pr into fix/linting-tests? this can just be merged into main no?

❯ git diff origin/fix/linting-tests --summary
 create mode 100644 .markdownlint-cli2.yaml
 create mode 100644 AGENTS.md
 create mode 100644 docs/README.md
 create mode 100644 docs/api.md
 create mode 100644 docs/checks.md
 create mode 100644 docs/checks/dns.md
 create mode 100644 docs/checks/health.md
 create mode 100644 docs/checks/latency.md
 create mode 100644 docs/checks/traceroute.md
 create mode 100644 docs/configuration.md
 delete mode 100644 docs/dev.md
 create mode 100644 docs/dev/README.md
 create mode 100644 docs/dev/traceroute-testing.md
 create mode 100644 docs/installation.md
 create mode 100644 docs/observability.md
 rename docs/{ => reference}/sparrow.md (100%)
 rename docs/{ => reference}/sparrow_completion.md (100%)
 rename docs/{ => reference}/sparrow_completion_bash.md (100%)
 rename docs/{ => reference}/sparrow_completion_fish.md (100%)
 rename docs/{ => reference}/sparrow_completion_powershell.md (100%)
 rename docs/{ => reference}/sparrow_completion_zsh.md (100%)
 rename docs/{ => reference}/sparrow_run.md (100%)

sparrow on  refactor/docs [✘] via  v1.26.1
❯ git diff main --summary
 create mode 100644 .markdownlint-cli2.yaml
 create mode 100644 AGENTS.md
 create mode 100644 docs/README.md
 create mode 100644 docs/api.md
 create mode 100644 docs/checks.md
 create mode 100644 docs/checks/dns.md
 create mode 100644 docs/checks/health.md
 create mode 100644 docs/checks/latency.md
 create mode 100644 docs/checks/traceroute.md
 create mode 100644 docs/configuration.md
 delete mode 100644 docs/dev.md
 create mode 100644 docs/dev/README.md
 create mode 100644 docs/dev/traceroute-testing.md
 create mode 100644 docs/installation.md
 create mode 100644 docs/observability.md
 rename docs/{ => reference}/sparrow.md (100%)
 rename docs/{ => reference}/sparrow_completion.md (100%)
 rename docs/{ => reference}/sparrow_completion_bash.md (100%)
 rename docs/{ => reference}/sparrow_completion_fish.md (100%)
 rename docs/{ => reference}/sparrow_completion_powershell.md (100%)
 rename docs/{ => reference}/sparrow_completion_zsh.md (100%)
 rename docs/{ => reference}/sparrow_run.md (100%)

Comment thread AGENTS.md Outdated
Base automatically changed from fix/linting-tests to main May 11, 2026 16:55
lvlcn-t added 3 commits May 14, 2026 20:01
Split the 781-line monolithic README into a slim landing page and
focused docs under docs/. Move auto-generated CLI docs to
docs/reference/, consolidate dev guides under docs/dev/, and add
per-check documentation under docs/checks/.

Also adds .markdownlint-cli2.yaml for consistent markdown linting
and AGENTS.md for agentic coding assistant guidelines.
Reformat CHANGELOG.md, CODE_OF_CONDUCT.md, CONTRIBUTING.md,
docs/dev/README.md, and docs/ownership-metadata-design.md to
comply with markdownlint rules: 80-char line wrapping, dash
bullet style, title case headings, and sequential ordered lists.
Re-add issue #354 backlink to ownership-metadata-design.md.
lvlcn-t added 2 commits May 14, 2026 20:02
Signed-off-by: lvlcn-t <75443136+lvlcn-t@users.noreply.github.com>
Signed-off-by: lvlcn-t <75443136+lvlcn-t@users.noreply.github.com>
@lvlcn-t lvlcn-t requested a review from niklastreml May 14, 2026 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants