Skip to content

README: fix CSV column names + restructure Troubleshooting/Usage flow#10

Open
jcddc83 wants to merge 1 commit into
mainfrom
claude/readme-cleanup
Open

README: fix CSV column names + restructure Troubleshooting/Usage flow#10
jcddc83 wants to merge 1 commit into
mainfrom
claude/readme-cleanup

Conversation

@jcddc83
Copy link
Copy Markdown
Owner

@jcddc83 jcddc83 commented May 19, 2026

Summary

README audit and cleanup following v1.1.0. Docs-only, no code or test changes.

Factual fixes

  • CSV column names. "Output" section now lists the actual snake_case column headers (post_title, post_url, broken_link, error_type) — the names produced by csv.DictWriter in checker.py. Previously the README showed pretty-printed labels that don't match what users see when they open the report in Excel.
  • "Example Output" block. Per-post Checking N links... and Found N broken links in this post lines only appear with --verbose. Relabeled the block accordingly and added a note about which lines are suppressed without it.

Structural fixes

  • Moved Troubleshooting to after Usage / Example Output. Was interrupting the "how do I use this?" reading flow.
  • Renamed CLI Optionscheck Subcommand Options and pointed at --help for the other subcommands (whose flags weren't documented anywhere).
  • Removed run_link_checker.ps1 from the Subcommands table (it's a PowerShell wrapper, not a subcommand). Added a small Scheduled / automated runs subsection.
  • Authentication heading: dropped "(Optional)" + added a note that auth is usually needed in practice for Substack's bot protection.

Additions

  • Quick Start: substack-link-checker demo as a smoke-test step.
  • One-line mention of --version.
  • New "Importing Previous Results" example for the import subcommand (Excel + CSV invocations).

Test plan

  • ruff check . clean
  • pytest → 38/38 passing
  • CI green on the PR
  • Render README in GitHub's previewer; section order reads naturally
  • Eyeball the new "Importing Previous Results" example against src/substack_link_checker/import_history.py to confirm flags match

Generated by Claude Code

Factual fixes:
- Output section listed CSV columns as "Post Title / Post URL /
  Broken Link / Error Type", but the code writes the snake_case form
  (post_title, post_url, broken_link, error_type via csv.DictWriter
  in checker.py). Replaced with the actual column names plus
  human-readable descriptions in a second table column.
- "Example Output" block contained per-post "Checking N links..." and
  "Found N broken links in this post" lines which only appear when
  --verbose is passed (they're emitted via self._log without
  force=True). Relabeled the block as `$ ... --verbose ...` and added
  a one-liner noting which lines are suppressed without --verbose.

Structural:
- Moved Troubleshooting to after Usage / Example Output (was before
  Usage, which interrupted the "how do I use this?" reading flow).
- Renamed "CLI Options" to "`check` Subcommand Options" and added a
  pointer to `substack-link-checker <subcommand> --help` for the
  other subcommands, whose flags weren't documented anywhere.
- Removed run_link_checker.ps1 from the Subcommands table (it's a
  separate PowerShell wrapper, not a subcommand). Added a small
  "Scheduled / automated runs" subsection describing it.
- Dropped "(Optional)" from the Authentication section heading;
  bot protection rejects most unauthenticated scans in practice, so
  the auth flow is more recommended than optional. Added a one-line
  note explaining when it's needed.

Additions:
- Quick Start now mentions `substack-link-checker demo` as an
  optional install smoke-test.
- One-line mention of `--version` flag below the options table.
- New "Importing Previous Results" subsection in Usage with example
  invocations for both .xlsx and .csv (the `import` subcommand was
  documented in the Subcommands table but never demonstrated).

Docs only — no code or test changes. 38 pytest tests still pass.
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