Repository Analysis

OpenHub-Store/GitHub-Store

🩵 A free, open-source app store for GitHub releases — browse, discover, and install apps with one click. Powered by Kotlin and Compose Multiplatform for Android & Desktop (Linux, MacOS, Windows).

3.2 Likely human-written View on GitHub
3.2
Adjusted Score
3.2
Raw Score
100%
Time Factor
2026-05-29
Last Push
14,164
Stars
Kotlin
Language
138,238
Lines of Code
1029
Files
50
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 39HIGH 0MEDIUM 8LOW 3

Pattern Findings

50 matches across 3 categories. Click a row to expand file-level details.

Hallucination Indicators39 hits · 420 pts
SeverityFileLineSnippet
CRITICAL…/rainxch/core/data/repository/StarredRepositoryImpl.kt118 zed.rainxch.core.domain.model.StarredRepository(
CRITICAL…/rainxch/core/data/repository/StarredRepositoryImpl.kt193 if (!zed.rainxch.core.data.network.shouldFallbackToGithubOrRethrow(error)) return null
CRITICAL…ch/core/data/repository/InstalledAppsRepositoryImpl.kt111 if (!zed.rainxch.core.data.network.shouldFallbackToGithubOrRethrow(error)) {
CRITICAL…d/rainxch/core/data/repository/TweaksRepositoryImpl.kt151 zed.rainxch.core.domain.model.PresetKey.fromName(it)
CRITICAL…d/rainxch/core/data/repository/TweaksRepositoryImpl.kt154 zed.rainxch.core.domain.model.InstallerAttribution.Preset(key)
CRITICAL…d/rainxch/core/data/repository/TweaksRepositoryImpl.kt162 zed.rainxch.core.domain.model.InstallerAttribution.Custom(name)
CRITICAL…/kotlin/zed/rainxch/core/data/di/PlatformModule.jvm.kt66 zed.rainxch.core.data.services.DesktopAggressiveOemDetector()
CRITICAL…lin/zed/rainxch/core/data/di/PlatformModule.android.kt116 zed.rainxch.core.data.services.AndroidAggressiveOemDetector(context = androidContext())
CRITICAL…rainxch/core/presentation/components/RepositoryCard.kt211 zed.rainxch.core.presentation.components.chips.StatChip(
CRITICAL…rainxch/core/presentation/components/RepositoryCard.kt224 zed.rainxch.core.presentation.components.chips.StatChip(
CRITICAL…rainxch/core/presentation/components/RepositoryCard.kt237 zed.rainxch.core.presentation.components.chips.StatChip(
CRITICAL…rainxch/core/presentation/components/RepositoryCard.kt260 zed.rainxch.core.presentation.components.chips.PlatformsChip(
CRITICAL…ed/rainxch/githubstore/app/navigation/AppNavigation.kt304 zed.rainxch.home.presentation.categorylist.CategoryListRoot(
CRITICAL…ed/rainxch/githubstore/app/navigation/AppNavigation.kt586 zed.rainxch.githubstore.app.onboarding.OnboardingRoot(
CRITICAL…ed/rainxch/githubstore/app/navigation/AppNavigation.kt644 zed.rainxch.apps.presentation.starred.StarredPickerRoot(
CRITICAL…inxch/details/data/repository/DetailsRepositoryImpl.kt61 private fun zed.rainxch.core.data.dto.ForgejoRepoNetworkModel.toForgejoSummary(
CRITICAL…inxch/details/data/repository/DetailsRepositoryImpl.kt64 id = zed.rainxch.core.domain.util.RepoIdCodec.encode(sourceHost, id),
CRITICAL…n/zed/rainxch/details/data/utils/preprocessMarkdown.kt519 processed = zed.rainxch.core.domain.util.EmojiShortcodes.render(processed)
CRITICAL…inxch/details/presentation/markdown/AlertBlockQuote.kt123private fun org.intellij.markdown.ast.ASTNode.text(content: String): String =
CRITICAL…details/presentation/components/ReleaseAssetsPicker.kt270 zed.rainxch.core.domain.util.assetPlatformOf(it.name)
CRITICAL…d/rainxch/details/presentation/components/AppHeader.kt244 autoSize = androidx.compose.foundation.text.TextAutoSize.StepBased(
CRITICAL…h/details/presentation/components/sections/WhatsNew.kt157 zed.rainxch.core.domain.util.separateAdjacentImageLinks(themed)
CRITICAL…xch/details/presentation/components/sections/Header.kt142 zed.rainxch.core.domain.util.AssetVariant.extract(name)
CRITICAL…nxch/details/presentation/components/sections/About.kt159 zed.rainxch.core.domain.util.separateAdjacentImageLinks(themed)
CRITICAL…nxch/details/presentation/components/sections/Owner.kt125 autoSize = androidx.compose.foundation.text.TextAutoSize.StepBased(
CRITICAL…rainxch/search/data/repository/SearchRepositoryImpl.kt120 zed.rainxch.core.domain.model.GithubRepoSummary(
CRITICAL…rainxch/search/data/repository/SearchRepositoryImpl.kt121 id = zed.rainxch.core.domain.util.RepoIdCodec.encode(host, repo.id),
CRITICAL…rainxch/search/data/repository/SearchRepositoryImpl.kt124 owner = zed.rainxch.core.domain.model.GithubUser(
CRITICAL…lin/zed/rainxch/search/presentation/SearchViewModel.kt165 .map { zed.rainxch.search.presentation.model.SearchSourceUi.CustomForge(it) }
CRITICAL…n/kotlin/zed/rainxch/search/presentation/SearchRoot.kt164 zed.rainxch.search.presentation.components.SearchFiltersSheet(
CRITICAL…lin/zed/rainxch/tweaks/presentation/TweaksViewModel.kt736 zed.rainxch.core.domain.model.InstallerAttribution.Preset(action.key),
CRITICAL…lin/zed/rainxch/tweaks/presentation/TweaksViewModel.kt760 if (!zed.rainxch.core.domain.model.InstallerAttributionDefaults.isValidPackageName(draft)) {
CRITICAL…lin/zed/rainxch/tweaks/presentation/TweaksViewModel.kt768 zed.rainxch.core.domain.model.InstallerAttribution.Custom(draft),
CRITICAL…inxch/tweaks/presentation/appinfo/TweaksAppInfoRoot.kt390 colorFilter = androidx.compose.ui.graphics.ColorFilter.tint(accent),
CRITICAL…zed/rainxch/apps/data/repository/AppsRepositoryImpl.kt598 id = zed.rainxch.core.domain.util.RepoIdCodec.encode(host, repoModel.id),
CRITICAL…nMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt457 zed.rainxch.apps.presentation.components.ImportSummarySheet(
CRITICAL…nMain/kotlin/zed/rainxch/apps/presentation/AppsRoot.kt1000 zed.rainxch.apps.presentation.components.SourceChip(host = it)
CRITICAL…/kotlin/zed/rainxch/apps/presentation/AppsViewModel.kt1568 zed.rainxch.core.domain.system.ExternalAppCandidate(
CRITICAL…/kotlin/zed/rainxch/apps/presentation/AppsViewModel.kt1724 val parsedRef = zed.rainxch.core.domain.util.RepositoryUrlParser.parse(url, customHosts)
Decorative Section Separators8 hits · 24 pts
SeverityFileLineSnippet
MEDIUMpackaging/flatpak/disable-android-for-flatpak.sh16# ─────────────────────────────────────────────────────────────────────
MEDIUMpackaging/flatpak/disable-android-for-flatpak.sh18# ─────────────────────────────────────────────────────────────────────
MEDIUMpackaging/flatpak/disable-android-for-flatpak.sh61# ─────────────────────────────────────────────────────────────────────
MEDIUMpackaging/flatpak/disable-android-for-flatpak.sh63# ─────────────────────────────────────────────────────────────────────
MEDIUMpackaging/flatpak/disable-android-for-flatpak.sh153# ─────────────────────────────────────────────────────────────────────
MEDIUMpackaging/flatpak/disable-android-for-flatpak.sh155# ─────────────────────────────────────────────────────────────────────
MEDIUMpackaging/flatpak/disable-android-for-flatpak.sh179# ─────────────────────────────────────────────────────────────────────
MEDIUMpackaging/flatpak/disable-android-for-flatpak.sh181# ─────────────────────────────────────────────────────────────────────
Deep Nesting3 hits · 3 pts
SeverityFileLineSnippet
LOWpackaging/flatpak/generate-all-sources.py64
LOWpackaging/flatpak/generate-all-sources.py89
LOWpackaging/flatpak/generate-all-sources.py108