RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Configs/CLAUDE.md/kurikomi-labs/komi-store

CLAUDE.md

feature/apps/CLAUDE.md
CLAUDE.md

Quality

58/100

Scores the file, not the repository.

Length

442 words

5 headings · 2 code blocks

Repository

17k

— · pushed 5 days ago

Last changed

3 days ago

First indexed 3 days ago.
kurikomi-labs/komi-store/feature/apps/CLAUDE.mdRawGitHub
1# Apps Feature
2 
3Installed-apps manager. Lists apps installed through GHS, launches them, checks updates. Android-only in nav (bottom-nav hidden on Desktop).
4 
5## Structure
6 
7```
8feature/apps/
9├── domain/repository/AppsRepository.kt
10├── data/ AppsRepositoryImpl + di
11└── presentation/
12 ├── AppsViewModel / State / Action / Event / Root
13 ├── components/ app item cards, update badges, LinkAppBottomSheet, AdvancedAppSettingsBottomSheet, ApkInspectSheet, import banner
14 ├── import/ # ExternalImportRoot/ViewModel — Obtainium import/export + manual-link
15 └── starred/ # StarredPickerRoot/ViewModel — APK-shipping subset of user's GitHub stars
16```
17 
18## Key interface
19 
20```kotlin
21interface AppsRepository {
22 suspend fun getApps(): Flow<List<InstalledApp>>
23 suspend fun openApp(installedApp: InstalledApp, onCantLaunchApp: () -> Unit = {})
24 suspend fun getLatestRelease(owner, repo, includePreReleases = false, sourceHost: String? = null): GithubRelease?
25 suspend fun fetchRepoInfo(owner, repo, sourceHost: String? = null): GithubRepoInfo?
26 suspend fun linkAppToRepo(..., sourceHost: String? = null)
27 /* exportApps / exportObtainium / importApps */
28}
29```
30 
31## Navigation
32 
33`GithubStoreGraph.AppsScreen`, `ExternalImportScreen`, `StarredPickerScreen`.
34 
35## Notes
36 
37- Uses `InstalledAppsRepository` + `SyncInstalledAppsUseCase`. `openApp` via `AppLauncher`. `PackageMonitor` + `Installer` (Android). Data layer injects `ForgejoClientRegistry`; non-null `sourceHost` on `getLatestRelease` / `fetchRepoInfo` / `linkAppToRepo` routes to the Forgejo client (else default GitHub-direct path).
38- **`sourceHost` propagation:** `InstalledApp.sourceHost` persisted on link; `AppsAction.OpenAppDetails` / `OpenRepoDetails` + `AppsEvent.NavigateToRepo` carry `sourceHost`; `AppsRoot.onNavigateToRepo` is `(repoId, sourceHost, owner, repo) -> Unit` and routes to `GithubStoreGraph.DetailsScreen(sourceHost = …)`.
39- **Multi-source backend match:** `RepoSuggestion` candidates may come from GitHub *or* a Forgejo host; the link sheet displays the source host chip per row so the user picks the right forge variant.
40- Sort + search: `AppSortRule` enum (UpdatesFirst default, AlphabeticalAZ, RecentlyAdded, RecentlyUpdated). Persisted in DataStore. Inline search filters appName / packageName.
41- Per-app actions: Ignore-updates (silence badge), Skip-this-release (per-tag, auto-clear on next release), Advanced filter (regex on asset names + monorepo fallback), Pin variant (token-set + glob fingerprint), Inspect APK (decoded manifest sheet).
42- Link sheet (`LinkAppBottomSheet`) sorts installed apps by `InstallerCategory` (`core/domain`): SIDE_STORE (F-Droid / Obtainium / Aurora / Droid-ify / GHS itself) → SIDELOADED → VENDOR_STORE (Samsung / Huawei / Xiaomi / Oppo / vivo / Honor / Amazon) → PLAY_STORE → SYSTEM_UPDATE. `DeviceApp.installerPackageName` (via `PackageManager.getInstallSourceInfo` / pre-30 fallback) + `isUpdatedSystemApp` (via `FLAG_UPDATED_SYSTEM_APP`) feed the classifier. Each row shows a tonal source chip — F-Droid / Obtainium surfaces first; Samsung Authentication Framework and friends drop to the bottom.
43- Auto-update on resume: `OnLifecycleResume` fires `autoCheckForUpdatesIfNeeded` (30-min cooldown) — catches drift after external install while GHS background-killed.
44- External import (`import/`): Obtainium JSON import/export with pre-import summary buckets (imported / already-tracked / non-GitHub-skipped); manual-link-only path. **Skip-on-slow-scan:** after `~5s` `state.isSkipAvailable` flips true → user can fire `OnSkipLongScan` to abort the in-flight backend lookup and move on without waiting for the remaining candidates.
45- Starred picker (`starred/`): scans signed-in user's GitHub stars, surfaces APK-shipping repos. Resumes mid-scan on rate-limit.
46 

Sections

  • Apps Feature
  • Structure
  • Key interface
  • Navigation
  • Notes

What it covers

architecture

Stack — with the evidence

kotlin

(1.00)

java

(0.60)

github-actions

(0.60)

Format

CLAUDE.md

Claude Code's memory file. Shaped like AGENTS.md but with two things it lacks: @path imports, so shared rules live in one place, and a user-scope layer that follows the developer across repos rather than shipping with the code.

What the corpus says about it

Repository

Owner
kurikomi-labs
Language
—
License
—
Archived
no

All configs in this repo

Also in kurikomi-labs/komi-store

Diff this repo’s formats

One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?

The other instruction files in this repository
RepositoryFormatStackCoversScoreChanged
kurikomi-labs/komi-storefeature/dev-profile/CLAUDE.md · 17kCLAUDE.mdkotlinjava+1arch40/1003 days ago
kurikomi-labs/komi-storefeature/favourites/CLAUDE.md · 17kCLAUDE.mdkotlinjava+1arch40/1003 days ago
kurikomi-labs/komi-storefeature/home/CLAUDE.md · 17kCLAUDE.mdkotlinjava+1arch54/1003 days ago
kurikomi-labs/komi-storefeature/profile/CLAUDE.md · 17kCLAUDE.mdkotlinjava+1arch54/1003 days ago
kurikomi-labs/komi-storefeature/tweaks/CLAUDE.md · 17kCLAUDE.mdkotlinjava+1archmonorepo54/1003 days ago
kurikomi-labs/komi-storefeature/recently-viewed/CLAUDE.md · 17kCLAUDE.mdkotlinjava+1arch35/1003 days ago
kurikomi-labs/komi-storefeature/search/CLAUDE.md · 17kCLAUDE.mdkotlinjava+1arch54/1003 days ago
kurikomi-labs/komi-storefeature/starred/CLAUDE.md · 17kCLAUDE.mdkotlinjava+1arch54/1003 days ago
kurikomi-labs/komi-storeAGENTS.md · 17kAGENTS.mdkotlinjava+1buildlint-formatstylearch+197/1003 days ago
kurikomi-labs/komi-storeCLAUDE.md · 17kCLAUDE.mdkotlinjava+1buildstylearchgit78/1003 days ago
kurikomi-labs/komi-storefeature/auth/CLAUDE.md · 17kCLAUDE.mdkotlinjava+1archsecurity58/1003 days ago
kurikomi-labs/komi-storefeature/details/CLAUDE.md · 17kCLAUDE.mdkotlinjava+1arch53/1003 days ago
Diff against feature/dev-profile/CLAUDE.md Diff against feature/favourites/CLAUDE.md Diff against feature/home/CLAUDE.md Diff against feature/profile/CLAUDE.md Diff against feature/tweaks/CLAUDE.md Diff against feature/recently-viewed/CLAUDE.md Diff against feature/search/CLAUDE.md Diff against feature/starred/CLAUDE.md Diff against AGENTS.md Diff against CLAUDE.md Diff against feature/auth/CLAUDE.md Diff against feature/details/CLAUDE.md

Similar configs

Same format, overlapping stack, ranked by quality.

Same format, overlapping stack, ranked by quality
RepositoryFormatStackCoversScoreChanged
Adit-Jain-srm/NightmareNetCLAUDE.md · 45CLAUDE.mdtypescriptpython+18buildtestlint-formatstyle+6100/1003 days ago
nimbalyst/nimbalystpackages/android/CLAUDE.md · 1.4kCLAUDE.mdtypescriptnode+16setupbuildstylearch+2100/1003 days ago
stacklok/toolhiveCLAUDE.md · 2.0kCLAUDE.mdgogithub-actionsbuildteststylearch+4100/1003 days ago
dotCMS/corecore-web/CLAUDE.md · 949CLAUDE.mdjavanode+13teststylearchtesting-strategy+3100/1003 days ago
microsoft/playwrightCLAUDE.md · 94kCLAUDE.mdtypescriptjavascript+10buildtestlint-formatstyle+7100/1003 days ago
filamentphp/filamentCLAUDE.md · 32kCLAUDE.mdphplaravel+5buildtestlint-formatstyle+7100/1003 days ago
livewire/livewireCLAUDE.md · 24kCLAUDE.mdphpvitest+4setupbuildteststyle+4100/1003 days ago
bagisto/bagistoCLAUDE.md · 28kCLAUDE.mdphplaravel+8setupbuildteststyle+5100/1003 days ago
RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack