Update README.md - #21
Conversation
📝 WalkthroughWalkthroughThe README now links Quickstart and API reference documentation, uses JitPack for dependencies, references latest Android and Compose release tags, and links to GitHub releases. ChangesInstallation Documentation
Estimated code review effort: 1 (Trivial) | ~2 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 14-22: Update the settings.gradle.kts repository example to retain
google() and mavenCentral() alongside maven("https://jitpack.io") within
dependencyResolutionManagement.repositories, so standard AndroidX and Compose
dependencies remain resolvable.
- Around line 24-35: Update the README dependency examples to use the single
published JitPack coordinate
com.github.thunder-id:android-sdks:<latest-release-tag> for both standard
Android and Compose usage, removing the separate android and compose
coordinates.
🪄 Autofix
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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 3b38798a-ac09-4b10-ab71-b3c5393bd72f
📒 Files selected for processing (1)
README.md
| Make sure your project's `settings.gradle.kts` includes JitPack: | ||
|
|
||
| ```kotlin | ||
| dependencies { | ||
| implementation("dev.thunderid:android:0.1.0") | ||
| dependencyResolutionManagement { | ||
| repositories { | ||
| maven("https://jitpack.io") | ||
| } | ||
| } | ||
| ``` |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
printf '%s\n' '--- tracked files ---'
git ls-files | sed -n '1,120p'
printf '%s\n' '--- README excerpt ---'
cat -n README.md | sed -n '1,50p'
printf '%s\n' '--- Gradle repository declarations ---'
rg -n --glob '*.gradle' --glob '*.gradle.kts' 'google\(\)|mavenCentral\(\)|jitpack|repositories\s*\{' .
printf '%s\n' '--- README newline status ---'
python3 - <<'PY'
from pathlib import Path
p = Path("README.md")
b = p.read_bytes()
print({"exists": p.exists(), "ends_with_one_newline": b.endswith(b"\n") and not b.endswith(b"\n\n"), "trailing_newlines": len(b) - len(b.rstrip(b"\n"))})
PYRepository: thunder-id/android-sdks
Length of output: 9351
🏁 Script executed:
#!/bin/bash
printf '%s\n' '--- root settings.gradle.kts ---'
cat -n settings.gradle.kts
printf '%s\n' '--- root build.gradle.kts ---'
cat -n build.gradle.kts | sed -n '1,180p'
printf '%s\n' '--- quickstart settings.gradle.kts ---'
cat -n samples/quickstart/settings.gradle.kts
printf '%s\n' '--- dependency declarations ---'
rg -n --glob '*.gradle.kts' 'implementation|api|compileOnly|androidTestImplementation|kotlin\(' .Repository: thunder-id/android-sdks
Length of output: 6191
Keep the standard Gradle repositories in this example.
If users copy this block as their complete repository configuration, AndroidX and Compose dependencies cannot resolve. Keep google() and mavenCentral(), then add JitPack.
Proposed fix
dependencyResolutionManagement {
repositories {
+ google()
+ mavenCentral()
maven("https://jitpack.io")
}
}📝 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.
| Make sure your project's `settings.gradle.kts` includes JitPack: | |
| ```kotlin | |
| dependencies { | |
| implementation("dev.thunderid:android:0.1.0") | |
| dependencyResolutionManagement { | |
| repositories { | |
| maven("https://jitpack.io") | |
| } | |
| } | |
| ``` | |
| Make sure your project's `settings.gradle.kts` includes JitPack: | |
🤖 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 14 - 22, Update the settings.gradle.kts repository
example to retain google() and mavenCentral() alongside
maven("https://jitpack.io") within dependencyResolutionManagement.repositories,
so standard AndroidX and Compose dependencies remain resolvable.
| ```kotlin | ||
| dependencies { | ||
| implementation("dev.thunderid:compose:0.1.0") | ||
| implementation("com.github.thunder-id.android-sdks:android:<latest-release-tag>") | ||
| } | ||
| ``` | ||
|
|
||
| Make sure your project's `settings.gradle.kts` includes the ThunderID Maven repository: | ||
| For Jetpack Compose UI components, also add: | ||
|
|
||
| ```kotlin | ||
| dependencyResolutionManagement { | ||
| repositories { | ||
| maven("https://maven.thunderid.dev/releases") | ||
| } | ||
| dependencies { | ||
| implementation("com.github.thunder-id.android-sdks:compose:<latest-release-tag>") | ||
| } |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -e
printf '%s\n' '--- README.md ---'
sed -n '1,55p' README.md
printf '%s\n' '--- Gradle-related files ---'
git ls-files | grep -E '(^|/)(settings\.gradle(\.kts)?|build\.gradle(\.kts)?|gradle\.properties)$|(^|/)gradle/' || true
printf '%s\n' '--- Repository and dependency declarations ---'
rg -n --glob '!*build*' 'google\(\)|mavenCentral\(\)|jitpack|implementation\(|compose|android-sdks' .
printf '%s\n' '--- README newline status ---'
python3 - <<'PY'
from pathlib import Path
p = Path("README.md")
b = p.read_bytes()
print("exists:", p.exists())
print("ends_with_one_newline:", b.endswith(b"\n") and not b.endswith(b"\n\n"))
print("last_bytes:", repr(b[-8:]))
PYRepository: thunder-id/android-sdks
Length of output: 50381
🏁 Script executed:
#!/bin/bash
set -e
printf '%s\n' '--- settings.gradle.kts ---'
cat -n settings.gradle.kts
printf '%s\n' '--- root build.gradle.kts ---'
cat -n build.gradle.kts
printf '%s\n' '--- sample dependency declarations ---'
rg -n -C 3 'implementation\(|api\(|project\(' samples/quickstart/build.gradle.kts
printf '%s\n' '--- Gradle project declarations ---'
rg -n 'include|includeBuild|project\(|group\s*=|publishing|maven-publish|archivesBaseName|artifactId' \
settings.gradle.kts build.gradle.kts gradle.properties samples/quickstart/settings.gradle.kts \
samples/quickstart/build.gradle.kts || true
printf '%s\n' '--- README trailing bytes ---'
python3 - <<'PY'
from pathlib import Path
b = Path("README.md").read_bytes()
print(repr(b[-16:]))
print("exactly_one_final_newline:", b.endswith(b"\n") and not b.endswith(b"\n\n"))
PYRepository: thunder-id/android-sdks
Length of output: 4626
🌐 Web query:
JitPack single-module Maven coordinates custom groupId artifactId Gradle Android library
💡 Result:
To publish a single-module Android library on JitPack with custom Maven coordinates, you must configure the maven-publish plugin in your module's build file [1][2]. JitPack detects your library by building your project and looking for the artifacts produced during the build process [3][4][5]. Key steps to configure custom groupId and artifactId: 1. Enable the maven-publish plugin in your library's build.gradle or build.gradle.kts file [1][6]. 2. Configure the publishing block to specify your desired groupId, artifactId, and version [1][6][2]. 3. Ensure the project can run the task publishToMavenLocal successfully [2][5]. Example configuration in build.gradle (Groovy): plugins { id 'com.android.library' id 'maven-publish' } publishing { publications { release(MavenPublication) { groupId = 'com.yourcustom.group' artifactId = 'your-custom-artifact' version = '1.0.0' afterEvaluate { from components.release } } } } Important considerations: - Default Coordinates: If you do not explicitly define a groupId, JitPack defaults to com.github.Username:RepositoryName [7][8]. - Custom Domain: If you wish to use your own domain name as the groupId (e.g., com.yourcompany), you must map your domain to your GitHub organization using a DNS TXT record (git.yourcompany.com -> https://github.com/yourcompany) and verify it through the JitPack website [3][9][10]. - Build Requirements: JitPack builds tagged releases from your Git repository [4]. Ensure you have created a tag (e.g., v1.0.0) in your repository and that your project includes a Gradle wrapper [4][5]. - Consumption: Once built, you can include your library in other projects by adding the JitPack repository to your settings.gradle or build.gradle and specifying the dependency using your custom coordinates: implementation 'com.yourcustom.group:your-custom-artifact:1.0.0' [4][2].
Citations:
- 1: https://docs.jitpack.io/android/
- 2: https://github.com/jitpack/android-example
- 3: https://docs.jitpack.io/
- 4: https://proandroiddev.com/how-to-create-publish-your-android-library-using-android-studio-jitpack-2025-guide-f17b71b4fdb7
- 5: https://github.com/jitpack/jitpack.io/blob/master/BUILDING.md
- 6: https://stackoverflow.com/questions/78041029/publish-aar-to-jitpack-using-kotlin-gradle-without-sources-jar
- 7: https://docs.jitpack.io/building/
- 8: https://github.com/jitpack/jitpack.io/
- 9: https://docs.jitpack.io/faq/
- 10: https://docs.jitpack.io/private/
🏁 Script executed:
#!/bin/bash
set -e
printf '%s\n' '--- JitPack metadata for repository-style coordinates ---'
for url in \
'https://jitpack.io/com/github/thunder-id/android-sdks/maven-metadata.xml' \
'https://jitpack.io/com/github/thunder-id/android-sdks/android/maven-metadata.xml' \
'https://jitpack.io/com/github/thunder-id/android-sdks/compose/maven-metadata.xml' \
'https://jitpack.io/com/github/thunder-id/android-sdks/0.2.0/android-sdks-0.2.0.pom' \
'https://jitpack.io/com/github/thunder-id/android-sdks/0.2.0/android-0.2.0.pom'
do
printf '\nURL: %s\n' "$url"
curl -L --max-time 15 -sS -o /tmp/jitpack-response -w 'HTTP %{http_code}\n' "$url"
head -c 1000 /tmp/jitpack-response
printf '\n'
doneRepository: thunder-id/android-sdks
Length of output: 3520
🏁 Script executed:
#!/bin/bash
set -e
for version in 0.2.0 v0.2.0 0.3.1 v0.3.1 v1.0.0; do
for artifact in android-sdks android compose; do
url="https://jitpack.io/com/github/thunder-id/android-sdks/${version}/${artifact}-${version}.pom"
status="$(curl -L --max-time 15 -sS -o /tmp/jitpack-pom -w '%{http_code}' "$url")"
printf '%-7s %-12s HTTP %s ' "$version" "$artifact" "$status"
if [ "$status" = 200 ]; then
sed -nE 's/.*<(groupId|artifactId|version)>([^<]+).*/\1=\2/p' /tmp/jitpack-pom | head -n 3 | tr '\n' ' '
fi
printf '\n'
done
done
printf '%s\n' '--- Latest release metadata ---'
curl -L --max-time 15 -sS \
'https://api.github.com/repos/thunder-id/android-sdks/releases/latest' |
jq '{tag_name, name, draft, prerelease}'
printf '%s\n' '--- Current release tag tree indicators ---'
curl -L --max-time 15 -sS \
'https://api.github.com/repos/thunder-id/android-sdks/git/refs/tags/v1.0.0' |
jq '{ref, object}'Repository: thunder-id/android-sdks
Length of output: 1159
Use the single-module JitPack coordinate.
The android and compose coordinates do not publish artifacts for the release tags. This project publishes one library that includes the Compose components. Use:
dependencies {
implementation("com.github.thunder-id:android-sdks:<latest-release-tag>")
}🤖 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 24 - 35, Update the README dependency examples to use
the single published JitPack coordinate
com.github.thunder-id:android-sdks:<latest-release-tag> for both standard
Android and Compose usage, removing the separate android and compose
coordinates.
Purpose
$subject
Approach
$subject
Related Issues
Related PRs
Checklist
breaking changelabel added.Security checks
Summary by CodeRabbit