Skip to content

docs(readme): first-impression rewrite (banner, demo, verification) + v1.6.0 currency#14

Merged
cemililik merged 7 commits into
mainfrom
docs/readme-currency
May 25, 2026
Merged

docs(readme): first-impression rewrite (banner, demo, verification) + v1.6.0 currency#14
cemililik merged 7 commits into
mainfrom
docs/readme-currency

Conversation

@cemililik
Copy link
Copy Markdown
Collaborator

@cemililik cemililik commented May 25, 2026

A from-scratch polish of the README for the first thing visitors see on the repo and the GitHub Marketplace listing.

New structure (sharp, scannable)

  • Brand banner at the top (rendered from the site's og.svgdocs/assets/banner.png), sharper tagline, and a release-version badge.
  • "What is Leakwatch?" with a real terminal-output demo right away.
  • Feature list (6 sources · 63 detectors · 54 verifiers · 5 formats · distribution · secret-safe).
  • GitHub Action section surfaced near the top (Marketplace visitors), with format: github / SARIF guidance and the exit-code table.
  • "Is it still live?" verification section (the key differentiator).
  • Detectors: category summary + the full 63-row catalog inside a <details>.
  • Output formats table now includes github.
  • New Security (never logs/stores secrets, redacted by default) section; condensed docs links.

Currency fixes (from the earlier review)

  • Pre-commit rev and binary-download example → v1.6.0.
  • Architecture diagram output node now lists all 5 formats (JSON · SARIF · CSV · Table · GitHub).

Verified

All internal doc links resolve · footnotes defined · nav anchors match headings · no cemililik/v1.5 leftovers · banner asset committed.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Comprehensive README rewrite: reorganized content, expanded Quick Start with examples, clarified output formats and CI/action behaviors (inline vs SARIF, SARIF upload, permissions, scan‑diff, exit codes), and refreshed architecture diagram and links.
    • Roadmap updated: revised phase/version mapping, marked latest phase complete, and adjusted release plan timeline.
    • Added a new promotional banner asset for docs.

Review Change Stack

- Bump the pre-commit `rev` and the binary-download example to v1.6.0 (latest).
- Architecture diagram output node now lists all formats (JSON / SARIF / CSV /
  Table / GitHub) instead of just three.
- Note the `github` output format (inline PR annotations) in the CI/CD section.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented May 25, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Documentation-only README refresh for v1.6.0, updating versioned examples, reflecting the new GitHub/table output formats, and clarifying how to use the GitHub output in CI/CD.

Flow diagram for updated Leakwatch output formats

flowchart LR
    Sources --> Engine
    Engine --> Verify
    Verify --> Output_JSON["JSON"]
    Verify --> Output_SARIF["SARIF"]
    Verify --> Output_CSV["CSV"]
    Verify --> Output_Table["Table"]
    Verify --> Output_GitHub["GitHub"]
Loading

File-Level Changes

Change Details Files
Update versioned usage examples to v1.6.0.
  • Bump binary download example filename from 1.5.0 to 1.6.0 in the installation section.
  • Update pre-commit hook configuration snippet to reference rev v1.6.0 instead of v1.5.0.
README.md
Document new output formats and GitHub CI usage.
  • Expand the architecture diagram output node label to include Table and GitHub as additional output formats.
  • Add guidance in the CI/CD section explaining when to use format: github vs format: sarif with sarif-upload: true, and link to the GitHub Action guide for full input details.
README.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • Consider making the binary download example version-agnostic (e.g. using X.Y.Z or latest) to avoid needing to update the README on every release.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Consider making the binary download example version-agnostic (e.g. using `X.Y.Z` or `latest`) to avoid needing to update the README on every release.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 25, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Rewrites and reorganizes README content (intro, Quick Start, detectors, outputs, architecture, security, links), advances roadmap phases/versions and updates Release Plan, and adds a new docs banner HTML asset.

Changes

README rewrite and documentation refresh

Layer / File(s) Summary
Intro, badges, and Quick Start
README.md
Top banner and badges replaced; new “What is Leakwatch?” and Features text; Quick Start expanded with additional CLI examples and simplified binary-download guidance.
GitHub Action, output formats, and security
README.md
GitHub Action docs now explain format: github vs format: sarif, sarif-upload: true, scan-diff: auto, permissions: security-events: write, and CLI/action exit codes; output formats list explicitly includes json, sarif, csv, table, and github; security/redaction notes refreshed.
Detectors catalog, architecture diagram, and footer
README.md
Detectors section and embedded catalog updated (IDs/categories/severity/verification); mermaid architecture diagram “Output” stage now lists Table and GitHub alongside JSON/SARIF/CSV; documentation links, contributing instructions, and license/footer text refreshed.
Roadmap version and phase updates
docs/05-ROADMAP.md
Bumps Document Version/Last Updated; marks Phase 8.5 complete for v1.6.0; relabels planned Phases 9–14 to v1.7.0–v1.12.0 and updates Gantt and Release Plan entries.
Banner asset
docs/assets/banner.html
Adds a new self-contained HTML/CSS banner (1200×480) with inline fonts, branding SVG, redaction headline effect, and stats/footer content.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

I’m a rabbit in the README glade,
Nibbling badges, quickstarts newly laid,
Detectors listed, roadmap marched on through,
A banner blooms with fonts of space and hue,
Docs refreshed — I hop and celebrate with you 🐇✨

🚥 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 summarizes the main changes: a comprehensive README rewrite for improved first impression, plus v1.6.0 documentation currency updates. It is specific, concise, and directly reflects the changeset content.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/readme-currency

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

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the documentation to version 1.6.0, adds instructions for using GitHub inline annotations and SARIF formats, and updates the architecture diagram to include new output formats. Feedback was provided to improve terminology consistency by removing the hyphen from "pull request" and renaming a link to accurately reflect the broad scope of the CI/CD integration guide.

Comment thread README.md Outdated
sarif-upload: true
```

Use `format: github` for inline pull-request annotations, or `format: sarif` with `sarif-upload: true` to surface findings as Code Scanning alerts. See the [GitHub Action guide](docs/guides/ci-cd-integration.md) for all inputs.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The term "pull-request" is typically written without a hyphen as "pull request" when used as a noun phrase. For consistency with GitHub's official terminology and the rest of the documentation, it is recommended to remove the hyphen. Additionally, the link text "GitHub Action guide" is slightly narrow as the linked document covers multiple CI/CD platforms including GitLab, Jenkins, and pre-commit.

Suggested change
Use `format: github` for inline pull-request annotations, or `format: sarif` with `sarif-upload: true` to surface findings as Code Scanning alerts. See the [GitHub Action guide](docs/guides/ci-cd-integration.md) for all inputs.
Use `format: github` for inline pull request annotations, or `format: sarif` with `sarif-upload: true` to surface findings as Code Scanning alerts. See the [CI/CD Integration guide](docs/guides/ci-cd-integration.md) for all inputs.

…talog

Reworked the README for repo + Marketplace first impression:
- Brand banner (rendered from the site's og.svg) + sharper tagline + release badge.
- "What is Leakwatch?" with a real terminal-output demo near the top.
- Crisp feature list; prominent GitHub Action section (Marketplace audience) with
  exit codes; a verification ("is it still live?") section.
- Detector catalog condensed to a category summary with the full 63-row table in
  a <details>; output-formats table includes the github format.
- Added a Security/secret-safety note; condensed the docs link section; nav links.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cemililik cemililik changed the title docs(readme): refresh for v1.6.0 + github output format docs(readme): first-impression rewrite (banner, demo, verification) + v1.6.0 currency May 25, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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`:
- Line 101: Update the "Exit codes" description to match the action's behavior:
state that exit code 0 means no findings, 1 means findings reported, and any
exit code >=2 is treated as a hard error (rather than only 2), so CI gating will
fail for any exit code of 2 or higher; edit the "Exit codes (used for CI
gating)" line accordingly to reflect "any exit code >=2" as error.
🪄 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

Run ID: c974f925-8bb7-4b43-9a7d-bd99dfaad820

📥 Commits

Reviewing files that changed from the base of the PR and between 53158cb and 4f14582.

⛔ Files ignored due to path filters (1)
  • docs/assets/banner.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • README.md

Comment thread README.md

# Scan multiple repos in parallel
leakwatch scan repos https://github.com/org/repo1.git https://github.com/org/repo2.git --parallel 5
Exit codes (used for CI gating): **`0`** no findings · **`1`** findings reported · **`2`** error.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix exit-code semantics to match action behavior.

Line 101 says 2 means error, but the action treats any exit code >=2 as a hard error. Please update this line to avoid CI-gating confusion.

🤖 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` at line 101, Update the "Exit codes" description to match the
action's behavior: state that exit code 0 means no findings, 1 means findings
reported, and any exit code >=2 is treated as a hard error (rather than only 2),
so CI gating will fail for any exit code of 2 or higher; edit the "Exit codes
(used for CI gating)" line accordingly to reflect "any exit code >=2" as error.

cemililik and others added 2 commits May 25, 2026 12:18
Re-render the banner from a self-contained HTML source using the real
brand fonts (Space Grotesk 700 + JetBrains Mono 400/700) instead of
fallback fonts, with a visible striped redaction bar. Strip decorative
emoji from headings and feature bullets, and fix the resulting nav/inline
anchors (#-quick-start -> #quick-start, etc.).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v1.6.0 shipped the GitHub Marketplace Action, the github output format,
and config wiring (not the planned Phase 9 detection-accuracy work).
Record it as completed Phase 8.5 with its own highlights, and shift every
planned phase up one version (Phase 9 -> v1.7.0 ... Phase 14 -> v1.12.0)
across the status table, gantt chart, phase headers/exit criteria, and the
release plan.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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 `@docs/05-ROADMAP.md`:
- Around line 3-6: The document metadata contains inconsistent dates: "Date:
2026-04-09" and "Last Updated: 2026-05-25" for Document Version 7.1; update the
Date field to match the Last Updated value (or vice versa if you prefer) so both
"Date" and "Last Updated" are identical for "Document Version: 7.1" to avoid
version-history confusion—modify the Date line in the header to "2026-05-25" (or
change Last Updated to "2026-04-09" if that's the intended authoritative date).
🪄 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

Run ID: 28a89e0e-29f8-4862-aa16-55beb3bda24c

📥 Commits

Reviewing files that changed from the base of the PR and between 4f14582 and 3efc36f.

⛔ Files ignored due to path filters (1)
  • docs/assets/banner.png is excluded by !**/*.png
📒 Files selected for processing (3)
  • README.md
  • docs/05-ROADMAP.md
  • docs/assets/banner.html
✅ Files skipped from review due to trivial changes (1)
  • docs/assets/banner.html

Comment thread docs/05-ROADMAP.md
Comment on lines +3 to +6
> **Document Version:** 7.1
> **Date:** 2026-04-09
> **Status:** Approved
> **Last Updated:** 2026-05-24
> **Last Updated:** 2026-05-25
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Document metadata dates are inconsistent.

Line 4 (Date: 2026-04-09) conflicts with Line 6 (Last Updated: 2026-05-25) after the v7.1 bump. Align these dates to avoid version-history confusion.

🤖 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 `@docs/05-ROADMAP.md` around lines 3 - 6, The document metadata contains
inconsistent dates: "Date: 2026-04-09" and "Last Updated: 2026-05-25" for
Document Version 7.1; update the Date field to match the Last Updated value (or
vice versa if you prefer) so both "Date" and "Last Updated" are identical for
"Document Version: 7.1" to avoid version-history confusion—modify the Date line
in the header to "2026-05-25" (or change Last Updated to "2026-04-09" if that's
the intended authoritative date).

cemililik and others added 3 commits May 25, 2026 12:31
The redaction wordplay ("Some secrets shouldn't be [redacted]") relied on
a hover/animation reveal that only works on the website — in a static
README PNG the key word was simply invisible, leaving an incomplete
sentence. Replace it with a direct headline ("Find leaked secrets before
attackers do."), a subtitle that names the scanned surfaces, and a thin
brand accent rule in place of the gimmicky CLASSIFIED bar.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Consistency with the rest of the README and GitHub's terminology
(review nit from gemini-code-assist on PR #14).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The detector/verifier/source/format counts were duplicated by hand across
the README banner, the social-preview SVG, and docs, with nothing keeping
them honest — adding a detector silently left every published "63" stale.

Introduce internal/meta as the single source of truth for the four
published counts and tie them to reality two ways:

- Guard: Detectors/Verifiers are asserted against the live registries
  (detector.All()/verifier.All()) in tests that run under `go test ./...`,
  so bumping the code without the constant (or vice versa) fails CI.
  Sources/OutputFormats stay golden constants — `scan` has a non-source
  `repos` subcommand and selectFormatter has fallback aliases, so neither
  maps cleanly to a count.
- Generate: `internal/meta/statsgen` (wired to `go generate ./...`)
  rewrites only the text inside `stats:begin`/`stats:end` markers in
  banner.html and og.svg, leaving verification tiers, historical
  highlights, and coverage progressions untouched. A guard test runs the
  generator in -check mode so a stale asset fails the build.

The banner/og PNGs still need a manual re-render when a number changes
(no test can read pixels); the re-render command lives in each asset's
header comment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cemililik cemililik merged commit cbe8c4d into main May 25, 2026
5 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.

1 participant