Skip to content

Rewrite the README around screenshots of the real screens - #9

Merged
alperien merged 1 commit into
mainfrom
readme
Jul 28, 2026
Merged

Rewrite the README around screenshots of the real screens#9
alperien merged 1 commit into
mainfrom
readme

Conversation

@alperien

@alperien alperien commented Jul 28, 2026

Copy link
Copy Markdown
Owner

A proper README: screenshot up top, walkthrough with the match and push screens inline, and prose that reads like a person wrote it.

The screenshots are real output, not mockups

Each one is the actual curses UI running the demo dataset in a pty, frozen mid-draw. The captured byte stream (every escape sequence ncurses emitted) is replayed through a terminal emulator and the resulting screen buffer rendered to SVG — so the text, colours, dim attributes, progress bar and layout are exactly what the program draws.

SVG instead of PNG because it stays crisp on any display, weighs 4–6 KB per image, and diffs like text. Column alignment is enforced by construction: every run of text is anchored at its cell position and stretched to an exact width, so the columns can't drift no matter which monospace font the viewer's system has — including the CJK cells in the Fishmans row, which occupy exactly two columns each.

Verified in a real browser before committing: cherry accents, dim rows, the ★ and F♯A♯∞ glyphs, the aligned 男達の別れ title, the candidates panel, and the footer with the u undo key from #4.

What changed in the text

  • Leads with what it is and what it looks like, not a feature lecture
  • The three-stage numbered list is gone; the flow is told alongside the screens
  • Facts brought current: --search actually downloading (--search now starts downloads for every album it pushes #6), the idle-albums note, u in the review keys, the monitored-vs-downloaded distinction
  • Added the real closing line from the demo (39 albums, 36 artists · 1959–2017 ▂▄▄▂█▆▇ · mostly art rock)
  • One CI badge
  • Options block, CSV columns, config and notes all kept, tightened

No code changes. CI runs the same suite as always.

Summary by CodeRabbit

  • Documentation
    • Simplified the README’s introduction, installation, and usage guidance.
    • Clarified progress tracking, safe reruns, and monitored album download behavior.
    • Added documentation for CSV requirements and summary-related columns.
    • Added configuration guidance for credentials, environment variable overrides, and setup.
    • Condensed notes, including MusicBrainz request-rate recommendations.

The screens are captured from the actual curses UI running the demo
dataset in a pty, then rendered to SVG from the terminal buffer — text,
colours and layout are what the program draws, not a mockup.

Co-Authored-By: Claude <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The README’s introductory, installation, and usage content was condensed. New sections document CSV requirements and configuration precedence, while the notes on matching behavior and MusicBrainz request limits were rewritten.

Changes

README documentation

Layer / File(s) Summary
Usage and configuration guidance
README.md
The opening, installation, and usage sections were rewritten, and configuration details now cover credential storage, environment-variable overrides, and chartarr --setup.
CSV and operational notes
README.md
CSV requirements and album matching continuity were clarified, while notes on release groups, title ambiguity, and MusicBrainz rate limits were condensed.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: a README rewrite centered on real UI screenshots.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch readme

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@alperien
alperien merged commit 163f56a into main Jul 28, 2026
13 of 14 checks passed

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 96-100: Update the README configuration section to document that
config.json is stored under $XDG_CONFIG_HOME/chartarr when XDG_CONFIG_HOME is
set, while retaining the default path otherwise. State that credential prompting
is skipped for dry-run, match-only, and review-only workflows, and clarify that
CHARTARR_LIDARR_URL and CHARTARR_API_KEY take precedence over the shorter
environment variables.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: bcb6d753-0a19-4be4-a663-53dcc621532c

📥 Commits

Reviewing files that changed from the base of the PR and between 99cc5a9 and 22eeb9b.

⛔ Files ignored due to path filters (3)
  • docs/match.svg is excluded by !**/*.svg
  • docs/push.svg is excluded by !**/*.svg
  • docs/review.svg is excluded by !**/*.svg
📒 Files selected for processing (1)
  • README.md

Comment thread README.md
Comment on lines +96 to +100
The first run asks for your Lidarr URL and API key (Settings > General >
Security) and stores them in `~/.config/chartarr/config.json`, readable
only by you. `LIDARR_URL` and `LIDARR_API_KEY` override the file, and the
`CHARTARR_`-prefixed versions work if the short names are already taken.
`chartarr --setup` reconfigures.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Document the actual configuration path, trigger, and precedence.

config_path() uses $XDG_CONFIG_HOME/chartarr/config.json when XDG_CONFIG_HOME is set, and credential prompting is skipped for dry-run, match-only, and review-only workflows. Also, CHARTARR_LIDARR_URL/CHARTARR_API_KEY take precedence over the shorter environment variables; they are not merely fallbacks when those names are unavailable.

Suggested wording
-The first run asks for your Lidarr URL and API key (Settings > General >
-Security) and stores them in `~/.config/chartarr/config.json`, readable
-only by you. `LIDARR_URL` and `LIDARR_API_KEY` override the file, and the
-`CHARTARR_`-prefixed versions work if the short names are already taken.
+When a push needs credentials, chartarr asks for your Lidarr URL and API
+key (Settings > General > Security) and stores them in
+`$XDG_CONFIG_HOME/chartarr/config.json` (or `~/.config/chartarr/config.json`
+when unset), readable only by you. The `CHARTARR_`-prefixed variables take
+precedence over `LIDARR_URL` and `LIDARR_API_KEY`, and either set overrides
+the config file.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
The first run asks for your Lidarr URL and API key (Settings > General >
Security) and stores them in `~/.config/chartarr/config.json`, readable
only by you. `LIDARR_URL` and `LIDARR_API_KEY` override the file, and the
`CHARTARR_`-prefixed versions work if the short names are already taken.
`chartarr --setup` reconfigures.
When a push needs credentials, chartarr asks for your Lidarr URL and API
key (Settings > General > Security) and stores them in
`$XDG_CONFIG_HOME/chartarr/config.json` (or `~/.config/chartarr/config.json`
when unset), readable only by you. The `CHARTARR_`-prefixed variables take
precedence over `LIDARR_URL` and `LIDARR_API_KEY`, and either set overrides
the config file.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 96 - 100, Update the README configuration section to
document that config.json is stored under $XDG_CONFIG_HOME/chartarr when
XDG_CONFIG_HOME is set, while retaining the default path otherwise. State that
credential prompting is skipped for dry-run, match-only, and review-only
workflows, and clarify that CHARTARR_LIDARR_URL and CHARTARR_API_KEY take
precedence over the shorter environment variables.

@alperien
alperien deleted the readme branch July 28, 2026 15:54
alperien added a commit that referenced this pull request Jul 28, 2026
The screens are captured from the actual curses UI running the demo
dataset in a pty, then rendered to SVG from the terminal buffer — text,
colours and layout are what the program draws, not a mockup. SVGs keep
the columns aligned in any viewer font by anchoring each run of text at
its cell position, so the CJK row and the progress bar hold their shape.

The text leads with what the tool is and what it looks like, tells the
three stages alongside the screens instead of as a numbered lecture, and
brings the facts current: --search downloading, the idle-albums note,
the u key, monitoring versus downloading. One CI badge, the real demo
closing line, and the options, CSV, config and notes sections tightened.
alperien added a commit that referenced this pull request Jul 31, 2026
The screens are captured from the actual curses UI running the demo
dataset in a pty, then rendered to SVG from the terminal buffer — text,
colours and layout are what the program draws, not a mockup. SVGs keep
the columns aligned in any viewer font by anchoring each run of text at
its cell position, so the CJK row and the progress bar hold their shape.

The text leads with what the tool is and what it looks like, tells the
three stages alongside the screens instead of as a numbered lecture, and
brings the facts current: --search downloading, the idle-albums note,
the u key, monitoring versus downloading. One CI badge, the real demo
closing line, and the options, CSV, config and notes sections tightened.
alperien added a commit that referenced this pull request Jul 31, 2026
The screens are captured from the actual curses UI running the demo
dataset in a pty, then rendered to SVG from the terminal buffer, text,
colours and layout are what the program draws, not a mockup. SVGs keep
the columns aligned in any viewer font by anchoring each run of text at
its cell position, so the CJK row and the progress bar hold their shape.

The text leads with what the tool is and what it looks like, tells the
three stages alongside the screens instead of as a numbered lecture, and
brings the facts current: --search downloading, the idle-albums note,
the u key, monitoring versus downloading. One CI badge, the real demo
closing line, and the options, CSV, config and notes sections tightened.
alperien added a commit that referenced this pull request Jul 31, 2026
The screens are captured from the actual curses UI running the demo
dataset in a pty, then rendered to SVG from the terminal buffer, text,
colours and layout are what the program draws, not a mockup. SVGs keep
the columns aligned in any viewer font by anchoring each run of text at
its cell position, so the CJK row and the progress bar hold their shape.

The text leads with what the tool is and what it looks like, tells the
three stages alongside the screens instead of as a numbered lecture, and
brings the facts current: --search downloading, the idle-albums note,
the u key, monitoring versus downloading. One CI badge, the real demo
closing line, and the options, CSV, config and notes sections tightened.
alperien added a commit that referenced this pull request Jul 31, 2026
The screens are captured from the actual curses UI running the demo
dataset in a pty, then rendered to SVG from the terminal buffer, text,
colours and layout are what the program draws, not a mockup. SVGs keep
the columns aligned in any viewer font by anchoring each run of text at
its cell position, so the CJK row and the progress bar hold their shape.

The text leads with what the tool is and what it looks like, tells the
three stages alongside the screens instead of as a numbered lecture, and
brings the facts current: --search downloading, the idle-albums note,
the u key, monitoring versus downloading. One CI badge, the real demo
closing line, and the options, CSV, config and notes sections tightened.
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.

1 participant