Skip to content

Feature/update composable preview image + README - #131

Merged
sergio-sastre merged 20 commits into
masterfrom
feature/update_composable_preview_image
Jun 12, 2026
Merged

Feature/update composable preview image + README#131
sergio-sastre merged 20 commits into
masterfrom
feature/update_composable_preview_image

Conversation

@sergio-sastre

@sergio-sastre sergio-sastre commented Jun 12, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Documentation
    • Added bug report and feature request issue templates and config that route blank issues to Discussions.
    • Added a full Code of Conduct and CONTRIBUTING guide with development and verification instructions.
    • Major README refresh: badges, Kotlin Multiplatform focus, updated setup/scanning guidance, reorganized examples, expanded troubleshooting, Roadmap and Governance sections.
    • Expanded deprecated docs with more detailed dependency setup examples.

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

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

This PR adds GitHub issue templates and config, a Code of Conduct and CONTRIBUTING guide, expands and restructures README and README_DEPRECATED content (badges, intro, setup, examples wrapped in collapsible blocks), and appends community/governance footer sections.

Changes

Documentation and Community Governance Enhancement

Layer / File(s) Summary
GitHub issue templates and configuration
.github/ISSUE_TEMPLATE/bug_report.md, .github/ISSUE_TEMPLATE/config.yml, .github/ISSUE_TEMPLATE/feature_request.md
Standardized bug and feature request templates with YAML metadata and structured prompts are introduced; issue template config disables blank issues and directs users to GitHub Discussions.
Code of Conduct and Contributing Guide
CODE_OF_CONDUCT.md, CONTRIBUTING.md
Contributor Covenant Code of Conduct v2.1 and a CONTRIBUTING guide covering workflow, TDD, Metalava binary-compatibility checks, development setup (JDK 17+), and verification tasks are added.
README_DEPRECATED updates
README_DEPRECATED.md
Deprecation warning spacing refined; :common and :jvm dependency setup instructions expanded into full Kotlin snippets for Maven Central and JitPack.
README header, intro, badges and API note
README.md
Header badges/logo updated and introductory text rewritten to emphasize Kotlin Multiplatform support; Compose Multiplatform notes added and API parity statement narrowed to specific scanners; dependency examples adjusted.
README scanning docs, examples, and wrappers
README.md
Scanning prerequisites, unit/instrumentation examples, and Paparazzi/Roborazzi/Dropshots implementation details wrapped in collapsible <details> blocks and reorganized into stepwise mapping and parameterized-test subsections; Troubleshooting reorganized and footer extended.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐇 I hopped in with templates bright and neat,
A covenant and guide to keep things sweet,
Readme folds opened, examples in place,
Troubleshooting notes saved devs some pace,
Cheers from a rabbit—community in grace!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The PR title 'Feature/update composable preview image + README' is vague and does not clearly convey the actual changes. The changeset includes comprehensive project infrastructure updates (CODE_OF_CONDUCT.md, CONTRIBUTING.md, GitHub issue templates, config) plus README documentation changes, but the title only mentions 'preview image + README' without indicating the scope of these additions. Revise the title to be more specific and descriptive of the primary changes, such as 'Add project governance files and GitHub issue templates' or 'Set up community contribution guidelines and documentation structure', depending on what is considered the main objective.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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 feature/update_composable_preview_image

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 and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
README.md (1)

760-766: ⚠️ Potential issue | 🟡 Minor

Fix the extra closing parenthesis in the Dropshots preview example

Dropshots( is closed twice (ThresholdValidator(...) ends with )) and there’s another ) on the next line), so the snippet won’t compile as written.

🐛 Suggested fix
-            Dropshots(
-               resultValidator = ThresholdValidator(config.comparisonThreshold))
-            )
+            Dropshots(
+               resultValidator = ThresholdValidator(config.comparisonThreshold)
+            )
🤖 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 760 - 766, The example in
DropshotsPreviewRule.createFor has an extra closing parenthesis when
constructing Dropshots with resultValidator =
ThresholdValidator(config.comparisonThreshold)), causing a compile error; remove
the surplus ')' so the Dropshots(...) call is properly balanced (i.e., ensure
Dropshots(resultValidator = ThresholdValidator(config.comparisonThreshold)) has
only the required closing parens) in the createFor lambda that constructs
Dropshots.
🧹 Nitpick comments (1)
README.md (1)

113-119: ⚡ Quick win

Label the JitPack snippet as Groovy DSL.

This example is written in Groovy syntax, but the fenced block is marked kotlin. That makes the syntax highlighting misleading and invites copy/paste into the wrong Gradle dialect.

♻️ Suggested fix
-```kotlin
+```groovy
🤖 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 113 - 119, The fenced code block showing the Gradle
snippet is labeled as `kotlin` but the content is Groovy DSL; update the fenced
block marker to `groovy` so syntax highlighting and copy/paste are correct.
Locate the Markdown block containing the snippet starting with "allprojects {
repositories { maven { url = uri('https://jitpack.io') } } }" in README.md and
change the opening triple-backtick language tag from `kotlin` to `groovy`.
🤖 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 `@CONTRIBUTING.md`:
- Around line 17-18: Update the CONTRIBUTING.md copy that currently reads
"create your branch from `main`" to use neutral wording like "create your branch
from the repository’s default branch" so contributors aren't misled when the
default branch is `master`; edit the line in the first steps list (the sentence
containing `main`) to replace the hard-coded branch name with "the repository’s
default branch" (or equivalent wording).

In `@README.md`:
- Line 13: The README's hero image tag <img
src="composable_preview_scanner_new_logo.png"> and the overview image referenced
on the other line lack alt text; update both image tags to include descriptive
alt attributes (e.g., alt="Composable Preview Scanner logo" for
composable_preview_scanner_new_logo.png and an appropriate description for the
overview image) so screen readers and markdownlint are satisfied; make sure the
alt text is concise and meaningful and update any other <img> occurrences in the
README that are missing alt attributes.

---

Outside diff comments:
In `@README.md`:
- Around line 760-766: The example in DropshotsPreviewRule.createFor has an
extra closing parenthesis when constructing Dropshots with resultValidator =
ThresholdValidator(config.comparisonThreshold)), causing a compile error; remove
the surplus ')' so the Dropshots(...) call is properly balanced (i.e., ensure
Dropshots(resultValidator = ThresholdValidator(config.comparisonThreshold)) has
only the required closing parens) in the createFor lambda that constructs
Dropshots.

---

Nitpick comments:
In `@README.md`:
- Around line 113-119: The fenced code block showing the Gradle snippet is
labeled as `kotlin` but the content is Groovy DSL; update the fenced block
marker to `groovy` so syntax highlighting and copy/paste are correct. Locate the
Markdown block containing the snippet starting with "allprojects { repositories
{ maven { url = uri('https://jitpack.io') } } }" in README.md and change the
opening triple-backtick language tag from `kotlin` to `groovy`.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 02efc945-b69b-480b-9762-7bc75e15544d

📥 Commits

Reviewing files that changed from the base of the PR and between f455126 and cbf49fb.

⛔ Files ignored due to path filters (3)
  • composable_preview_scanner_new_logo.png is excluded by !**/*.png
  • composable_preview_scanner_overview.png is excluded by !**/*.png
  • composable_preview_scanner_overview_deprecated.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • .github/ISSUE_TEMPLATE/bug_report.md
  • .github/ISSUE_TEMPLATE/config.yml
  • .github/ISSUE_TEMPLATE/feature_request.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • README.md
  • README_DEPRECATED.md

Comment thread CONTRIBUTING.md Outdated
Comment thread README.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
README.md (2)

759-765: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix the extra closing parenthesis in the Dropshots example.

Dropshots(...) is closed twice here, so this Kotlin snippet won’t compile as written.

Suggested fix
-            Dropshots(
-               resultValidator = ThresholdValidator(config.comparisonThreshold))
-            )
+            Dropshots(
+               resultValidator = ThresholdValidator(config.comparisonThreshold)
+            )
🤖 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 759 - 765, In DropshotsPreviewRule.createFor, the
Dropshots constructor call is closed twice causing a syntax error; edit the
expression that builds Dropshots(resultValidator =
ThresholdValidator(config.comparisonThreshold)) inside the let block (in the
createFor function) to remove the extra closing parenthesis so the parentheses
properly match for Dropshots(...) and ThresholdValidator(...), resulting in a
single, well-formed Dropshots(...) return value when
getAnnotation<DropshotsConfig>() yields a config.

810-814: ⚠️ Potential issue | 🟠 Major

Fix README snippet to use the correct scanFile overload

  • AndroidComposablePreviewScanner.scanFile exposes scanFile(targetInputStream: InputStream, customPreviewsInfoInputStream: InputStream) (and scanFile(jsonFile: File)), but the README calls scanFile(getInstrumentation().context.assets.open("scan_result.json")) with only one InputStream. Update the example to pass both streams (or switch to the File overload).
🤖 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 810 - 814, The README example calls
AndroidComposablePreviewScanner.scanFile with a single InputStream but the API
requires either scanFile(targetInputStream: InputStream,
customPreviewsInfoInputStream: InputStream) or scanFile(jsonFile: File); update
the snippet to use the proper overload by passing both streams to
AndroidComposablePreviewScanner.scanFile (e.g., supply the additional
customPreviewsInfoInputStream) or switch to the scanFile(jsonFile: File)
overload, then continue chaining
includeAnnotationInfoForAllOf(DropshotsConfig::class.java).
♻️ Duplicate comments (1)
README.md (1)

2-3: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Restore descriptive alt text in the top images.

The top badges and hero logo still have empty alt text, and the overview image alt is just the filename. Line 3’s badge URL also looks typoed (yellyellow). Please fix these so the README stays accessible and the badge renders correctly.

Also applies to: 6-8, 11-13, 23-23

🤖 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 2 - 3, Top images and badges in the README have empty
or non-descriptive alt text and one badge color typo ("yell"); update the image
markdown for the badges and hero/overview images (the badge markup starting with
[![](https://jitpack.io/v/sergio-sastre/ComposablePreviewScanner.svg)], the
Maven Central badge markup with query=https%3A%2F%2Frepo..., and any other
badge/image lines referenced later) to include meaningful alt text (e.g.,
"JitPack badge", "Maven Central badge", "Downloads badge", and a descriptive alt
for the hero/overview image instead of the filename) and fix the color value
"yell" to "yellow"; apply the same alt-text and typo fixes to the other
badge/image groups noted (lines referenced as 6-8, 11-13, and 23) so all badges
and images are accessible and render correctly.

Source: Linters/SAST tools

🤖 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.

Outside diff comments:
In `@README.md`:
- Around line 759-765: In DropshotsPreviewRule.createFor, the Dropshots
constructor call is closed twice causing a syntax error; edit the expression
that builds Dropshots(resultValidator =
ThresholdValidator(config.comparisonThreshold)) inside the let block (in the
createFor function) to remove the extra closing parenthesis so the parentheses
properly match for Dropshots(...) and ThresholdValidator(...), resulting in a
single, well-formed Dropshots(...) return value when
getAnnotation<DropshotsConfig>() yields a config.
- Around line 810-814: The README example calls
AndroidComposablePreviewScanner.scanFile with a single InputStream but the API
requires either scanFile(targetInputStream: InputStream,
customPreviewsInfoInputStream: InputStream) or scanFile(jsonFile: File); update
the snippet to use the proper overload by passing both streams to
AndroidComposablePreviewScanner.scanFile (e.g., supply the additional
customPreviewsInfoInputStream) or switch to the scanFile(jsonFile: File)
overload, then continue chaining
includeAnnotationInfoForAllOf(DropshotsConfig::class.java).

---

Duplicate comments:
In `@README.md`:
- Around line 2-3: Top images and badges in the README have empty or
non-descriptive alt text and one badge color typo ("yell"); update the image
markdown for the badges and hero/overview images (the badge markup starting with
[![](https://jitpack.io/v/sergio-sastre/ComposablePreviewScanner.svg)], the
Maven Central badge markup with query=https%3A%2F%2Frepo..., and any other
badge/image lines referenced later) to include meaningful alt text (e.g.,
"JitPack badge", "Maven Central badge", "Downloads badge", and a descriptive alt
for the hero/overview image instead of the filename) and fix the color value
"yell" to "yellow"; apply the same alt-text and typo fixes to the other
badge/image groups noted (lines referenced as 6-8, 11-13, and 23) so all badges
and images are accessible and render correctly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3f2333ed-c455-4f44-8412-e9c208fce3c1

📥 Commits

Reviewing files that changed from the base of the PR and between cbf49fb and 0e72da8.

📒 Files selected for processing (1)
  • README.md

@sergio-sastre
sergio-sastre force-pushed the feature/update_composable_preview_image branch from b0f609a to 35c5150 Compare June 12, 2026 10:56

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
README.md (1)

759-763: ⚠️ Potential issue | 🟡 Minor

Fix the extra parenthesis in the Dropshots(...) example in README.md (lines 759-763).

The snippet currently has one extra ) (ThresholdValidator(config.comparisonThreshold)) plus the next line’s )), so it won’t compile as written.

🛠️ Proposed fix
-         Dropshots(
-            resultValidator = ThresholdValidator(config.comparisonThreshold))
-         )
+         Dropshots(
+            resultValidator = ThresholdValidator(config.comparisonThreshold)
+         )
🤖 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 759 - 763, The example constructing Dropshots has an
extra closing parenthesis after ThresholdValidator(config.comparisonThreshold)
which causes mismatched parentheses; update the snippet so the
ThresholdValidator call is closed once and the Dropshots(...) invocation has the
correct single closing paren—i.e. fix the parentheses around
ThresholdValidator(config.comparisonThreshold) inside the
Dropshots(resultValidator = ...) call (symbols: Dropshots, ThresholdValidator,
preview.getAnnotation<DropshotsConfig>).
🤖 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 10: Replace the empty-alt and placeholder-link badges so they’re
accessible and not dead links: for each badge markdown token (the
Kotlin-Multiplatform, Platform-Android, Platform-Desktop badge images) provide
concise alt text inside the square brackets (e.g. [Kotlin Multiplatform],
[Android platform], [Desktop platform]) or mark purely decorative with an
explicit alt="" if appropriate, and replace the placeholder hrefs "(#)" with the
correct target URLs (project pages, vendor docs, or the image source) or remove
the surrounding link to leave a plain image if no target exists; update all
occurrences of these badges (including the other instances referenced) so the
alt text and hrefs are fixed consistently.

---

Outside diff comments:
In `@README.md`:
- Around line 759-763: The example constructing Dropshots has an extra closing
parenthesis after ThresholdValidator(config.comparisonThreshold) which causes
mismatched parentheses; update the snippet so the ThresholdValidator call is
closed once and the Dropshots(...) invocation has the correct single closing
paren—i.e. fix the parentheses around
ThresholdValidator(config.comparisonThreshold) inside the
Dropshots(resultValidator = ...) call (symbols: Dropshots, ThresholdValidator,
preview.getAnnotation<DropshotsConfig>).
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2e3944bc-dee6-4189-9745-750b31e5a20b

📥 Commits

Reviewing files that changed from the base of the PR and between 6b19908 and 18b312c.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md
@sergio-sastre
sergio-sastre force-pushed the feature/update_composable_preview_image branch 2 times, most recently from acee2ec to ab2127a Compare June 12, 2026 13:37
@sergio-sastre
sergio-sastre force-pushed the feature/update_composable_preview_image branch from ab2127a to d0a932b Compare June 12, 2026 13:41
@sergio-sastre
sergio-sastre merged commit d89ea56 into master Jun 12, 2026
8 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