Skip to content

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.

License

Notifications You must be signed in to change notification settings

rainxchzed/Github-Store

Project logo

Github Store

License Kotlin Platforms Release GitHub stars Compose Multiplatform Koin

Github Store is a cross‑platform “play store” for GitHub releases. It discovers repositories that ship real installable binaries and lets you install the latest release in one click.


All screenshots can be found in screenshots/ folder.

✨ What is Github Store?

Github Store is a Kotlin Multiplatform app (Android + Desktop) that turns GitHub releases into a clean, app‑store style experience:

  • Only shows repositories that actually provide installable assets (APK, EXE, DMG, etc.).
  • Detects your platform and surfaces the correct installer.
  • Always installs from the latest published release and highlights its changelog.
  • Presents a polished details screen with stats, README, and developer info.

🔃 Download

Important

On macOS, you may see a warning that Apple cannot verify Github Store is free of malware. This happens because the app is distributed outside the App Store and is not notarized yet. You can allow it via System Settings → Privacy & Security → Open Anyway.

🚀 Features

  • Smart discovery

    • Home sections for “Popular”, “Recently Updated”, and “New” projects.
    • Only repos with valid installable assets are shown.
    • Platform‑aware topic scoring so Android/desktop users see relevant apps first.
  • Latest‑release installs

    • Fetches /releases/latest for each repo.
    • Shows only assets from the latest release.
    • Single “Install latest” action, plus an expandable list of all installers for that release.
  • Rich details screen

    • App name, version, “Install latest” button.
    • Stars, forks, open issues.
    • Rendered README content (“About this app”).
    • Latest release notes (body) with markdown formatting.
    • List of installers with platform labels and file sizes.
  • Cross‑platform UX

    • Android: opens APK downloads and hands off to the package installer.
    • Desktop (Windows/macOS/Linux): downloads to a configurable location and opens the file.
  • GitHub login & rate‑limit friendly

    • Sign‑in with GitHub to use the user’s own 5,000 req/hour quota.

🔍 How does my app appear in Github Store?

Github Store does not use any private indexing or manual curation rules.
Your project can appear automatically if it follows these conditions:

  1. Public repository on GitHub

    • Visibility must be public.
  2. At least one published release

    • Created via GitHub Releases (not only tags).
    • The latest release must not be a draft or prerelease.
  3. Installable assets in the latest release

    • The latest release must contain at least one asset file with a supported extension:
      • Android: .apk
      • Windows: .exe, .msi
      • macOS: .dmg, .pkg
      • Linux: .deb, .rpm
    • Github Store ignores GitHub’s auto‑generated source artifacts (Source code (zip) / Source code (tar.gz)).
  4. Discoverable by search / topics

    • Repositories are fetched via the public GitHub Search API.
    • Topic, language, and description help the ranking:
      • Android apps: topics like android, mobile, apk.
      • Desktop apps: topics like desktop, windows, linux, macos, compose-desktop, electron.
    • Having at least a few stars makes it more likely to appear under Popular/Updated/New sections.

If your repo meets these conditions, Github Store can find it through search and show it automatically—no manual submission required.


🧭 How Github Store works (high‑level)

  1. Search

    • Uses GitHub’s /search/repositories endpoint with platform‑aware queries.
    • Applies simple scoring based on topics, language, and description.
    • Filters out archived repos and those with too few signals.
  2. Release + asset check

    • For candidate repos, calls /repos/{owner}/{repo}/releases/latest.
    • Checks the assets array for platform‑specific file extensions.
    • If no suitable asset is found, the repo is excluded from results.
  3. Details screen

    • Repository info: name, owner, description, stars, forks, issues.
    • Latest release: tag, published date, body (changelog), assets.
    • README: loaded from the default branch and rendered as “About this app”.
  4. Install flow

    • When the user taps “Install latest”:
      • Picks the best matching asset for the current platform.
      • Streams the download.
      • Delegates to the OS installer (APK installer on Android, default handler on desktop).

⚙️ Tech stack


✅ Pros / Why use Github Store?

  • No more hunting through GitHub releases
    See only repos that actually ship binaries for your platform.

  • Always the latest release
    Installs are guaranteed to come from the latest published release; the changelog you see is exactly what you’re installing.

  • Uniform experience across platforms
    Same UI and logic for Android and desktop, with platform‑native install behavior.

  • Open source & extensible
    Written in KMP with a clear separation between networking, domain logic, and UI—easy to fork, extend, or adapt.


Find this repository useful? ❤️

Support it by joining stargazers for this repository. ⭐

And follow me for my next creations! 🤩

Star History

Star History Chart

🔑 Configuration

Github Store uses a GitHub OAuth app for authentication and API rate‑limit isolation.

  1. Create a GitHub OAuth app at GitHub → Settings → Developer settings → OAuth Apps.
  2. Set the callback URL to githubstore://callback (Not quite important).
  3. Copy the Client ID from the OAuth app.
  4. In your project’s local.properties, add:

⚠️ Disclaimer

Github Store only helps you discover and download release assets that are already published on GitHub by third‑party developers.
The contents, safety, and behavior of those downloads are entirely the responsibility of their respective authors and distributors, not this project.

By using GithubStore, you understand and agree that you install and run any downloaded software at your own risk.
This project does not review, validate, or guarantee that any installer is safe, free of malware, or fit for any particular purpose.

📄 License

Github Store will be released under the Apache License, Version 2.0.

Copyright 2025 rainxchzed

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this project except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

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.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages