Buge Store API - A lightweight open-source app store index that stores YAML configurations only, with APK files distributed via GitHub Releases. Features automated PR validation, 30-second merge workflow, and unified API endpoints for both Android clients and web interfaces. Built for speed, transparency, and community contributions.
- YAML-only configuration storage
- Automated PR validation and merge within 30 seconds
- Unified API for Android and web clients
- Community-driven application catalog
- GitHub Releases based APK distribution
BugeStore-API/
├── .github/workflows/ # GitHub Actions automation
├── apps/ # Application YAML configurations
├── api/v1/ # Generated JSON APIs
├── scripts/ # Validation and generation scripts
├── schemas/ # JSON Schema specifications
├── templates/ # Configuration templates
└── tests/ # Unit and integration tests
Request the API endpoint to get the application list:
https://raw.githubusercontent.com/BugeStudioTeam/Buge-Store-API/main/api/v1/apps.json
- Fork this repository
- Add your application YAML in
apps/directory - Submit a Pull Request
- Automated validation will merge within 30 seconds
All API endpoints are available at:
https://raw.githubusercontent.com/BugeStudioTeam/Buge-Store-API/main/api/v1/
| Endpoint | Description |
|---|---|
apps.json |
Full application list with metadata |
categories.json |
Category grouping with app counts |
trending.json |
Trending applications list |
{
"version": 1,
"last_updated": "2026-07-18T10:00:00Z",
"total_apps": 2,
"apps": [
{
"package": "com.example.package",
"name": "Example App",
"icon": "https://raw.githubusercontent.com/BugeStudioTeam/Buge-Store-API/main/apps/com.example.package/metadata/icon.webp",
"banner": "https://raw.githubusercontent.com/BugeStudioTeam/Buge-Store-API/main/apps/com.example.package/metadata/banner.webp",
"categories": ["Tools", "Utilities"],
"latest_version": "1.0.0",
"download_url": "https://github.com/example/repo/releases/download/v1.0.0/app.apk",
"size_mb": 5.2,
"signature": "AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90",
"min_sdk": 21,
"target_sdk": 34,
"developer": "Example Developer",
"short_description": "A brief description for list view",
"description": "A full detailed description for the app detail page. Supports multiple lines.",
"featured": false,
"rating": 0.0,
"rating_count": 0,
"website": "https://example.com",
"source_code": "https://github.com/example/repo",
"release_date": "2026-07-17",
"downloads": 0,
"architectures": ["arm64-v8a", "armeabi-v7a"]
}
]
}
apps/com.example.package/
Copy the template from templates/app-template.yml and fill in your application details.
package_name: com.example.package
app_name: Example App
developer: Example Developer
website: https://example.com
source_code: https://github.com/example/repo
short_description: "A brief description for list view"
description: |
A full detailed description for the app detail page.
Supports multiple lines.
featured: false
rating: 0.0
rating_count: 0
downloads: 0
versions:
- version_code: 20260717
version_name: "1.0.0"
release_date: "2026-07-17"
changelog: |
- Initial release
apk:
primary_url: https://github.com/example/repo/releases/download/v1.0.0/app.apk
mirror_url: https://ghproxy.net/https://github.com/example/repo/releases/download/v1.0.0/app.apk
sha256_hash: a4f5c8d9e2b1c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8
file_size_mb: 5.2
signature_fingerprint: "AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90"
min_sdk: 21
target_sdk: 34
architectures:
- arm64-v8a
categories:
- Tools
Place your application icon and banner in the metadata directory:
apps/com.example.package/metadata/icon.webp
apps/com.example.package/metadata/banner.webp
Create a pull request with your changes. The automated system will:
- Validate YAML syntax
- Check signature fingerprint format
- Verify APK URLs are accessible
- Scan for dangerous permissions
- Validate against JSON Schema
- Merge automatically if all checks pass
- Must be unique
- Must follow Java package naming conventions
- Should match the actual APK package name
- APK files should be hosted on GitHub Releases
- Recommended format:
https://github.com/owner/repo/releases/download/tag/app.apk - Ensure the URL is accessible without authentication
- Generate using:
keytool -list -v -keystore your.keystore - Must be in SHA-1 format:
AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12
Choose from existing categories or suggest new ones:
- Tools
- Utilities
- Communication
- Entertainment
- Productivity
- Education
- Games
Triggered on pull requests that modify YAML files in apps/. Runs syntax checks, security scans, URL validation, and schema validation.
Triggered on pushes to the main branch. Generates JSON API files from all YAML configurations and commits them to api/v1/.
- Python 3.11 or higher
- pip
pip install pyyaml jsonschema requests
python -m unittest discover tests/
python scripts/generate_api.py
Please read the contribution guidelines before submitting pull requests.
This project is licensed under the MIT License.