Files
aitbc/packages/github/GITHUB_SETUP.md
oib ccedbace53 chore: remove configuration files and enhance blockchain explorer with advanced search, analytics, and export features
- Delete .aitbc.yaml.example CLI configuration template
- Delete .lycheeignore link checker exclusion rules
- Delete .nvmrc Node.js version specification
- Add advanced search panel with filters for address, amount range, transaction type, time range, and validator
- Add analytics dashboard with transaction volume, active addresses, and block time metrics
- Add Chart.js integration
2026-03-02 15:38:25 +01:00

8.8 KiB

GitHub Repository Setup for AITBC Packages

🚀 Repository Structure

aitbc/
├── packages/github/
│   ├── README.md                 # Main documentation
│   ├── install.sh                # Universal installer
│   ├── install-macos.sh          # macOS installer
│   ├── install-windows.sh        # Windows/WSL2 installer
│   ├── packages/
│   │   ├── *.deb                 # All Debian packages
│   │   └── checksums.txt         # Package checksums
│   ├── configs/                  # Configuration templates
│   ├── scripts/                  # Utility scripts
│   └── docs/                     # Additional documentation
├── cli/                          # CLI source code
├── systemd/                      # Service definitions
└── docs/                         # Full documentation

📦 Package Distribution Strategy

Primary Distribution Method

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

Alternative Methods

# Clone and install
git clone https://github.com/aitbc/aitbc.git
cd aitbc/packages/github
./install.sh

# Platform-specific
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-windows.sh | bash

🔧 GitHub Actions Workflow

Release Workflow

name: Release Packages

on:
  push:
    tags:
      - 'v*'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Build packages
        run: |
          cd packages/deb
          ./build_deb.sh
          ./build_services.sh
      
      - name: Upload packages
        uses: actions/upload-artifact@v3
        with:
          name: debian-packages
          path: packages/deb/*.deb
      
      - name: Create Release
        uses: actions/create-release@v1
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          draft: false
          prerelease: false

Package Validation Workflow

name: Validate Packages

on:
  pull_request:
    paths:
      - 'packages/**'

jobs:
  validate:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        platform: [linux, macos, windows]
    
    steps:
      - uses: actions/checkout@v3
      
      - name: Test installation
        run: |
          cd packages/github
          ./install.sh --platform ${{ matrix.platform }}
      
      - name: Test CLI
        run: |
          aitbc --version
          aitbc --help

🌐 CDN and Mirror Setup

Primary CDN

# Main CDN URL
https://cdn.aitbc.dev/packages/install.sh

# Regional mirrors
https://eu-cdn.aitbc.dev/packages/install.sh
https://asia-cdn.aitbc.dev/packages/install.sh

GitHub Raw CDN

# GitHub raw content
https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install.sh

# GitHub Pages
https://aitbc.github.io/packages/install.sh

📊 Package Analytics

Download Tracking

# GitHub release downloads
curl https://api.github.com/repos/aitbc/aitbc/releases/latest

# Custom analytics
curl https://analytics.aitbc.dev/track?package=aitbc-cli&version=0.1.0

Usage Statistics

# Installation ping (optional)
curl https://ping.aitbc.dev/install?platform=linux&version=0.1.0

🔒 Security Considerations

Package Signing

# GPG sign packages
gpg --sign --armor packages/*.deb

# Verify signatures
gpg --verify packages/*.deb.asc

Checksum Verification

# Verify package integrity
sha256sum -c packages/checksums.txt

Code Scanning

# Security scan
github-codeql-action

# Dependency check
github-dependency-review-action

📱 Multi-Platform Support

Linux (Debian/Ubuntu)

# Direct installation
sudo dpkg -i aitbc-cli_0.1.0_all.deb

# Script installation
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install.sh | bash

macOS (Intel/Apple Silicon)

# Homebrew installation
brew install aitbc-cli

# Script installation
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash

Windows (WSL2)

# WSL2 installation
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-windows.sh | bash

# PowerShell function
aitbc --help

🔄 Update Mechanism

Auto-Update Script

#!/bin/bash
# Check for updates
LATEST_VERSION=$(curl -s https://api.github.com/repos/aitbc/aitbc/releases/latest | grep tag_name | cut -d'"' -f4)
CURRENT_VERSION=$(aitbc --version | grep -oP '\d+\.\d+\.\d+')

if [[ "$LATEST_VERSION" != "$CURRENT_VERSION" ]]; then
    echo "Update available: $LATEST_VERSION"
    curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install.sh | bash -s --update-all
fi

Package Manager Integration

# APT repository (future)
echo "deb https://apt.aitbc.dev stable main" | sudo tee /etc/apt/sources.list.d/aitbc.list
sudo apt-get update
sudo apt-get install aitbc-cli

# Homebrew tap (future)
brew tap aitbc/aitbc
brew install aitbc-cli

📈 Release Strategy

Version Management

  • Semantic Versioning: MAJOR.MINOR.PATCH
  • Release Cadence: Monthly stable releases
  • Beta Releases: Weekly for testing
  • Hotfixes: As needed

Release Channels

# Stable channel
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install.sh | bash

# Beta channel
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/develop/packages/github/install.sh | bash

# Development channel
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/feature/packages/github/install.sh | bash

🎯 User Experience

One-Command Installation

# The only command users need to remember
curl -fsSL https://install.aitbc.dev | bash

Interactive Installation

# Interactive installer with options
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install.sh | bash -s --interactive

Progress Indicators

# Show installation progress
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install.sh | bash -s --progress

📚 Documentation Integration

Inline Help

# Built-in help
./install.sh --help

# Platform-specific help
./install.sh --help-linux
./install.sh --help-macos
./install.sh --help-windows

Troubleshooting Guide

# Diagnostics
./install.sh --diagnose

# Logs
./install.sh --logs

# Reset
./install.sh --reset

🌍 Internationalization

Multi-Language Support

# Language detection
LANG=$(echo $LANG | cut -d'_' -f1)

# Localized installation
curl -fsSL "https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-$LANG.sh" | bash

Regional Mirrors

# Auto-select mirror based on location
COUNTRY=$(curl -s ipinfo.io/country)
MIRROR="https://$COUNTRY-cdn.aitbc.dev"
curl -fsSL "$MIRROR/packages/install.sh" | bash

🚀 Performance Optimization

Parallel Downloads

# Download packages in parallel
curl -O https://packages.aitbc.dev/aitbc-cli_0.1.0_all.deb &
curl -O https://packages.aitbc.dev/aitbc-node-service_0.1.0_all.deb &
wait

Delta Updates

# Download only changed files
rsync --checksum --partial packages.aitbc.dev/aitbc-cli_0.1.0_all.deb ./

Compression

# Compressed packages for faster download
curl -fsSL https://packages.aitbc.dev/aitbc-cli_0.1.0_all.deb.xz | xz -d | sudo dpkg -i -

📊 Monitoring and Analytics

Installation Metrics

# Track installation success
curl -X POST https://analytics.aitbc.dev/install \
  -H "Content-Type: application/json" \
  -d '{"platform": "linux", "version": "0.1.0", "success": true}'

Error Reporting

# Report installation errors
curl -X POST https://errors.aitbc.dev/install \
  -H "Content-Type: application/json" \
  -d '{"error": "dependency_missing", "platform": "linux", "version": "0.1.0"}'

🎉 Success Metrics

Installation Success Rate

  • Target: >95% success rate
  • Monitoring: Real-time error tracking
  • Improvement: Continuous optimization

User Satisfaction

  • Target: >4.5/5 rating
  • Feedback: In-app surveys
  • Support: Community forums

Adoption Rate

  • Target: 1000+ installations/month
  • Growth: 20% month-over-month
  • Retention: 80% active users

This GitHub setup provides a complete, production-ready distribution system for AITBC packages that works across all major platforms and provides an excellent user experience! 🚀