Files
aitbc/packages/github/GITHUB_PACKAGES_OVERVIEW.md
AITBC System b033923756 chore: normalize file permissions across repository
- Remove executable permissions from configuration files (.editorconfig, .env.example, .gitignore)
- Remove executable permissions from documentation files (README.md, LICENSE, SECURITY.md)
- Remove executable permissions from web assets (HTML, CSS, JS files)
- Remove executable permissions from data files (JSON, SQL, YAML, requirements.txt)
- Remove executable permissions from source code files across all apps
- Add executable permissions to Python
2026-03-08 11:26:18 +01:00

8.5 KiB

GitHub Packages Organization - Post Push Overview

🚀 What You'll See After Next GitHub Push

After pushing to GitHub, you'll see packages automatically organized in https://github.com/oib/AITBC/packages with clear separation between Debian and Mac Studio packages.

📦 Package Organization Structure

GitHub Packages Registry

https://github.com/oib/AITBC/packages
├── aitbc-cli                    # Main CLI package
├── aitbc-cli-dev               # Development tools
├── aitbc-node-service          # Blockchain node
├── aitbc-coordinator-service    # Coordinator API
├── aitbc-miner-service         # GPU miner
├── aitbc-marketplace-service    # GPU marketplace
├── aitbc-explorer-service       # Blockchain explorer
├── aitbc-wallet-service         # Wallet service
├── aitbc-multimodal-service     # Multimodal AI
└── aitbc-all-services           # Complete stack

Platform-Specific Packages

Debian Packages (Linux)

Package Name: aitbc-cli
Version: 0.1.0
Platform: linux/amd64, linux/arm64
Format: .deb
Size: ~132KB (CLI), ~8KB (services)

Package Name: aitbc-node-service
Version: 0.1.0
Platform: linux/amd64, linux/arm64
Format: .deb
Size: ~8KB

Mac Studio Packages (macOS)

Package Name: aitbc-cli
Version: 0.1.0
Platform: darwin/amd64, darwin/arm64
Format: .pkg
Size: ~80MB (native executable)

Package Name: aitbc-cli-universal
Version: 0.1.0
Platform: darwin/universal
Format: .pkg
Size: ~100MB (Intel + Apple Silicon)

🔄 Automatic Build Workflows

Triggered on Push

When you push to main or develop, GitHub Actions will automatically:

  1. Detect Platform Changes

    • Changes in cli/ → Build all platforms
    • Changes in systemd/ → Build services only
    • Changes in packages/ → Rebuild packages
  2. Parallel Builds

    jobs:
      build-debian:
        runs-on: ubuntu-latest
        container: debian:trixie
    
      build-macos:
        runs-on: ubuntu-latest
        container: debian:trixie
        strategy:
          matrix:
            target: [macos-arm64, macos-x86_64]
    
  3. Package Publishing

    • Debian packages → GitHub Packages (Container Registry)
    • macOS packages → GitHub Releases
    • Checksums → Both locations

📋 Package Metadata

Debian Packages

{
  "name": "aitbc-cli",
  "version": "0.1.0",
  "platform": "linux/amd64",
  "architecture": "amd64",
  "format": "deb",
  "size": 132400,
  "sha256": "abc123...",
  "dependencies": ["python3 (>= 3.13)", "python3-pip", "python3-venv"],
  "description": "AITBC Command Line Interface"
}

Mac Studio Packages

{
  "name": "aitbc-cli",
  "version": "0.1.0",
  "platform": "darwin/arm64",
  "architecture": "arm64",
  "format": "pkg",
  "size": 81920000,
  "sha256": "def456...",
  "dependencies": [],
  "description": "AITBC CLI Native macOS Package"
}

🎯 Installation Commands After Push

Debian/Ubuntu

# Install from GitHub Packages
curl -fsSL https://raw.githubusercontent.com/oib/AITBC/main/packages/github/install.sh | bash

# Or download specific package
wget https://github.com/oib/AITBC/packages/debian/aitbc-cli_0.1.0_all.deb
sudo dpkg -i aitbc-cli_0.1.0_all.deb

Mac Studio

# Install native macOS package
curl -fsSL https://raw.githubusercontent.com/oib/AITBC/main/packages/github/packages/macos/install-macos-native.sh | bash

# Or download specific package
wget https://github.com/oib/AITBC/releases/latest/download/aitbc-cli-0.1.0-arm64.pkg
sudo installer -pkg aitbc-cli-0.1.0-arm64.pkg -target /

📊 Package Dashboard View

GitHub Packages Interface

When you visit https://github.com/oib/AITBC/packages, you'll see:

Package List

📦 aitbc-cli
   📊 0.1.0 • linux/amd64 • 132KB • deb
   📊 0.1.0 • linux/arm64 • 132KB • deb
   📊 0.1.0 • darwin/amd64 • 80MB • pkg
   📊 0.1.0 • darwin/arm64 • 80MB • pkg
   📊 0.1.0 • darwin/universal • 100MB • pkg

📦 aitbc-node-service
   📊 0.1.0 • linux/amd64 • 8KB • deb
   📊 0.1.0 • linux/arm64 • 8KB • deb

📦 aitbc-coordinator-service
   📊 0.1.0 • linux/amd64 • 8KB • deb
   📊 0.1.0 • linux/arm64 • 8KB • deb

Package Details

Clicking any package shows:

  • Version history
  • Download statistics
  • Platform compatibility
  • Installation instructions
  • Checksums and signatures

🔄 Version Management

Semantic Versioning

  • 0.1.0 - Initial release
  • 0.1.1 - Bug fixes
  • 0.2.0 - New features
  • 1.0.0 - Stable release

Platform-Specific Versions

# CLI versions
aitbc-cli@0.1.0-linux-amd64
aitbc-cli@0.1.0-linux-arm64
aitbc-cli@0.1.0-darwin-amd64
aitbc-cli@0.1.0-darwin-arm64

# Service versions (Linux only)
aitbc-node-service@0.1.0-linux-amd64
aitbc-node-service@0.1.0-linux-arm64

📈 Analytics and Monitoring

Download Statistics

GitHub Packages provides:

  • Download counts per package
  • Platform breakdown
  • Version popularity
  • Geographic distribution

Usage Tracking

# Track installations (optional)
curl -X POST https://analytics.aitbc.dev/install \
  -H "Content-Type: application/json" \
  -d '{"package": "aitbc-cli", "version": "0.1.0", "platform": "linux"}'

🚀 Release Process

Automated on Tag

# Tag release
git tag v0.1.0
git push origin v0.1.0

# Triggers:
# 1. Build all packages
# 2. Run comprehensive tests
# 3. Create GitHub Release
# 4. Publish to GitHub Packages
# 5. Update CDN mirrors

Manual Release

# Push to main (automatic)
git push origin main

# Or create release manually
gh release create v0.1.0 \
  --title "AITBC CLI v0.1.0" \
  --notes "Initial release with full platform support"

🔧 Advanced Features

Package Promotion

# Promote from staging to production
gh api repos/:owner/:repo/packages/:package_name/versions/:version_id \
  --method PATCH \
  --field promotion=true

Access Control

# Public packages (default)
# Private packages (organization only)
# Internal packages (GitHub Enterprise)

Webhook Integration

# Webhook triggers on package publish
on:
  package:
    types: [published]

🎯 What Users Will See

Installation Page

Users visiting your repository will see:

## Quick Install

### Linux (Debian/Ubuntu)
```bash
curl -fsSL https://raw.githubusercontent.com/oib/AITBC/main/packages/github/install.sh | bash

macOS (Mac Studio)

curl -fsSL https://raw.githubusercontent.com/oib/AITBC/main/packages/github/packages/macos/install-macos-native.sh | bash

Windows (WSL2)

curl -fsSL https://raw.githubusercontent.com/oib/AITBC/main/packages/github/install-windows.sh | bash

### **Package Selection**
Users can choose:
- **Platform**: Linux, macOS, Windows
- **Version**: Latest, specific version
- **Architecture**: amd64, arm64, universal
- **Format**: .deb, .pkg, installer script

## 📱 **Mobile Experience**

### **GitHub Mobile App**
- Browse packages
- Download directly
- Install instructions
- Version history

### **QR Code Support**
```bash
# Generate QR code for installation
curl "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=https://raw.githubusercontent.com/oib/AITBC/main/packages/github/install.sh"

🎉 Success Metrics

After Push, You'll Have

10+ packages automatically built and published
Multi-platform support (Linux, macOS, Windows)
Multi-architecture (amd64, arm64, universal)
Professional package management
Automated CI/CD pipeline
Download analytics
Version management
One-command installation

User Experience

  • Developers: curl | bash installation
  • System Admins: Native package managers
  • Mac Users: Professional .pkg installers
  • Windows Users: WSL2 integration

🚀 Ready for Production

After your next push, the system will be production-ready with:

  1. Automatic builds on every push
  2. Platform-specific packages for all users
  3. Professional distribution via GitHub Packages
  4. One-command installation for everyone
  5. Comprehensive documentation and guides
  6. Analytics and monitoring for insights

The GitHub Packages section will serve as a central hub for all AITBC packages, beautifully organized and easily accessible to users across all platforms! 🎉