Files
aitbc/packages/github/build-complete-macos.sh
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

803 lines
24 KiB
Bash
Executable File

#!/bin/bash
# Build Complete macOS Package Collection
# Apple Silicon packages for different use cases
set -e
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
PURPLE='\033[0;35m'
NC='\033[0m'
echo -e "${CYAN}"
echo "╔══════════════════════════════════════════════════════════════╗"
echo "║ Build Complete macOS Package Collection ║"
echo "║ Apple Silicon (M1/M2/M3/M4) ║"
echo "╚══════════════════════════════════════════════════════════════╝"
echo -e "${NC}"
# Configuration
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
OUTPUT_DIR="$SCRIPT_DIR/packages/macos-packages"
PKG_VERSION="0.1.0"
# Create output directory
mkdir -p "$OUTPUT_DIR"
# Install basic tools
install_tools() {
echo -e "${BLUE}Ensuring tools are available...${NC}"
if ! command -v tar >/dev/null 2>&1; then
sudo apt-get update
sudo apt-get install -y tar gzip openssl curl bc
fi
echo -e "${GREEN}✓ Tools ready${NC}"
}
# Create development package
create_dev_package() {
echo -e "${BLUE}Creating development package...${NC}"
local temp_dir="/tmp/aitbc-macos-dev-$$"
mkdir -p "$temp_dir"
# Create package root
mkdir -p "$temp_dir/pkg-root/usr/local/bin"
mkdir -p "$temp_dir/pkg-root/usr/local/share/man/man1"
mkdir -p "$temp_dir/pkg-root/usr/local/share/bash-completion/completions"
mkdir -p "$temp_dir/pkg-root/usr/local/lib/aitbc"
# Create development executable
cat > "$temp_dir/pkg-root/usr/local/bin/aitbc-dev" << EOF
#!/bin/bash
# AITBC CLI Development Executable - Apple Silicon
ARCH=\$(uname -m)
if [[ "\$ARCH" != "arm64" ]]; then
echo "❌ This package is for Apple Silicon Macs only"
exit 1
fi
echo "AITBC CLI Development v$PKG_VERSION (Apple Silicon)"
echo "Platform: Mac Studio Development Environment"
echo "Architecture: \$ARCH"
echo ""
echo "🔧 Development Features:"
echo " - Debug mode enabled"
echo " - Verbose logging"
echo " - Development endpoints"
echo " - Test utilities"
echo ""
echo "Usage: aitbc-dev [--help] [--version] <command> [<args>]"
echo ""
echo "Commands:"
echo " wallet Wallet management (dev mode)"
echo " blockchain Blockchain operations (dev mode)"
echo " marketplace GPU marketplace (dev mode)"
echo " config Configuration management"
echo " dev Development utilities"
echo " test Test suite runner"
echo ""
echo "Development options:"
echo " --debug Enable debug mode"
echo " --verbose Verbose output"
echo " --test Run in test environment"
echo ""
echo "For full development setup:"
echo "curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash"
EOF
chmod +x "$temp_dir/pkg-root/usr/local/bin/aitbc-dev"
# Create development libraries
cat > "$temp_dir/pkg-root/usr/local/lib/aitbc/dev-tools.sh" << 'EOF'
#!/bin/bash
# AITBC Development Tools
# Test runner
aitbc-test() {
echo "Running AITBC test suite..."
echo "🧪 Development test mode"
}
# Debug utilities
aitbc-debug() {
echo "AITBC Debug Mode"
echo "🔍 Debug information:"
echo " Platform: $(uname -m)"
echo " macOS: $(sw_vers -productVersion)"
echo " Memory: $(sysctl -n hw.memsize | awk '{print $1/1024/1024/1024 "GB"}')"
}
# Development server
aitbc-dev-server() {
echo "Starting AITBC development server..."
echo "🚀 Development server mode"
}
EOF
chmod +x "$temp_dir/pkg-root/usr/local/lib/aitbc/dev-tools.sh"
# Create package scripts
mkdir -p "$temp_dir/scripts"
cat > "$temp_dir/scripts/postinstall" << EOF
#!/bin/bash
# AITBC CLI Development post-install script
echo "Installing AITBC CLI Development package..."
# Check Apple Silicon
ARCH=\$(uname -m)
if [[ "\$ARCH" != "arm64" ]]; then
echo "❌ This package is for Apple Silicon Macs only"
exit 1
fi
# Set permissions
chmod 755 "/usr/local/bin/aitbc-dev"
chmod 755 "/usr/local/lib/aitbc/dev-tools.sh"
# Create development config
mkdir -p ~/.config/aitbc
if [[ ! -f ~/.config/aitbc/dev-config.yaml ]]; then
cat > ~/.config/aitbc/dev-config.yaml << 'CONFIG_EOF'
# AITBC CLI Development Configuration
platform: macos-apple-silicon
environment: development
debug_mode: true
verbose_logging: true
coordinator_url: http://localhost:8000
api_key: null
output_format: table
timeout: 60
log_level: DEBUG
default_wallet: dev-wallet
wallet_dir: ~/.aitbc/dev-wallets
chain_id: testnet
default_region: localhost
analytics_enabled: false
verify_ssl: false
# Development settings
test_mode: true
debug_endpoints: true
mock_data: true
development_server: true
CONFIG_EOF
fi
echo "✓ AITBC CLI Development package installed"
echo "Development tools: /usr/local/lib/aitbc/dev-tools.sh"
echo "Configuration: ~/.config/aitbc/dev-config.yaml"
exit 0
EOF
chmod +x "$temp_dir/scripts/postinstall"
# Create distribution file
cat > "$temp_dir/distribution.dist" << EOF
<?xml version="1.0" encoding="UTF-8"?>
<installer-gui-script minSpecVersion="1.0">
<title>AITBC CLI Development (Apple Silicon)</title>
<organization>dev.aitbc</organization>
<domain system="true"/>
<options customize="never" allow-external-scripts="true"/>
<choices-outline>
<line choice="default"/>
</choices-outline>
<choice id="default" title="AITBC CLI Development (Apple Silicon)">
<pkg-ref id="dev.aitbc.cli"/>
</choice>
<pkg-ref id="dev.aitbc.cli" version="$PKG_VERSION" onConclusion="none">AITBC CLI Development.pkg</pkg-ref>
</installer-gui-script>
EOF
# Create package
cd "$temp_dir"
tar -czf "$OUTPUT_DIR/aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg" \
pkg-root/ \
scripts/ \
distribution.dist
echo -e "${GREEN}✓ Development package created${NC}"
rm -rf "$temp_dir"
}
# Create GPU optimization package
create_gpu_package() {
echo -e "${BLUE}Creating GPU optimization package...${NC}"
local temp_dir="/tmp/aitbc-macos-gpu-$$"
mkdir -p "$temp_dir"
# Create package root
mkdir -p "$temp_dir/pkg-root/usr/local/bin"
mkdir -p "$temp_dir/pkg-root/usr/local/share/man/man1"
mkdir -p "$temp_dir/pkg-root/usr/local/lib/aitbc"
# Create GPU optimization executable
cat > "$temp_dir/pkg-root/usr/local/bin/aitbc-gpu" << EOF
#!/bin/bash
# AITBC CLI GPU Optimization - Apple Silicon
ARCH=\$(uname -m)
if [[ "\$ARCH" != "arm64" ]]; then
echo "❌ This package is for Apple Silicon Macs only"
exit 1
fi
echo "AITBC GPU Optimization v$PKG_VERSION (Apple Silicon)"
echo "Platform: Mac Studio GPU Acceleration"
echo "Architecture: \$ARCH"
echo ""
echo "🚀 GPU Features:"
echo " - Apple Neural Engine optimization"
echo " - Metal Performance Shaders"
echo " - GPU memory management"
echo " - AI/ML acceleration"
echo ""
echo "Usage: aitbc-gpu [--help] [--version] <command> [<args>]"
echo ""
echo "GPU Commands:"
echo " optimize Optimize GPU performance"
echo " benchmark Run GPU benchmarks"
echo " monitor Monitor GPU usage"
echo " neural-engine Apple Neural Engine tools"
echo " metal Metal shader optimization"
echo ""
echo "GPU Options:"
echo " --neural Use Apple Neural Engine"
echo " --metal Use Metal framework"
echo " --memory Optimize memory usage"
echo ""
echo "For full GPU functionality:"
echo "curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash"
EOF
chmod +x "$temp_dir/pkg-root/usr/local/bin/aitbc-gpu"
# Create GPU optimization tools
cat > "$temp_dir/pkg-root/usr/local/lib/aitbc/gpu-tools.sh" << 'EOF'
#!/bin/bash
# AITBC GPU Optimization Tools
# GPU optimizer
aitbc-gpu-optimize() {
echo "🚀 Optimizing GPU performance..."
echo "Apple Neural Engine: $(sysctl -n hw.optional.neuralengine)"
echo "GPU Cores: $(system_profiler SPDisplaysDataType | grep 'Chip' | head -1)"
echo "Memory: $(sysctl -n hw.memsize | awk '{print $1/1024/1024/1024 "GB"}')"
}
# GPU benchmark
aitbc-gpu-benchmark() {
echo "🏃 Running GPU benchmarks..."
echo "Neural Engine Performance Test"
echo "Metal Shader Performance Test"
echo "Memory Bandwidth Test"
}
# GPU monitor
aitbc-gpu-monitor() {
echo "📊 GPU Monitoring:"
echo "GPU Usage: $(top -l 1 | grep 'GPU usage' | awk '{print $3}')"
echo "Memory Pressure: $(memory_pressure | grep 'System-wide memory free percentage' | awk '{print $5}')"
}
# Neural Engine tools
aitbc-neural-engine() {
echo "🧠 Apple Neural Engine:"
echo "Status: Active"
echo "Model: $(system_profiler SPHardwareDataType | grep 'Chip' | head -1)"
echo "Capabilities: ANE, ML, AI acceleration"
}
EOF
chmod +x "$temp_dir/pkg-root/usr/local/lib/aitbc/gpu-tools.sh"
# Create package scripts
mkdir -p "$temp_dir/scripts"
cat > "$temp_dir/scripts/postinstall" << EOF
#!/bin/bash
# AITBC CLI GPU Optimization post-install script
echo "Installing AITBC CLI GPU Optimization package..."
# Check Apple Silicon
ARCH=\$(uname -m)
if [[ "\$ARCH" != "arm64" ]]; then
echo "❌ This package is for Apple Silicon Macs only"
exit 1
fi
# Set permissions
chmod 755 "/usr/local/bin/aitbc-gpu"
chmod 755 "/usr/local/lib/aitbc/gpu-tools.sh"
# Create GPU config
mkdir -p ~/.config/aitbc
if [[ ! -f ~/.config/aitbc/gpu-config.yaml ]]; then
cat > ~/.config/aitbc/gpu-config.yaml << 'CONFIG_EOF'
# AITBC CLI GPU Configuration
platform: macos-apple-silicon
gpu_optimization: true
neural_engine: true
metal_shaders: true
# GPU Settings
gpu_memory_optimization: true
neural_engine_acceleration: true
metal_performance: true
memory_bandwidth: true
# Performance Tuning
max_gpu_utilization: 80
memory_threshold: 0.8
thermal_limit: 85
power_efficiency: true
# Apple Neural Engine
ane_model_cache: true
ane_batch_size: 32
ane_precision: fp16
ane_optimization: true
# Metal Framework
metal_shader_cache: true
metal_compute_units: max
metal_memory_pool: true
metal_async_execution: true
CONFIG_EOF
fi
echo "✓ AITBC CLI GPU Optimization package installed"
echo "GPU tools: /usr/local/lib/aitbc/gpu-tools.sh"
echo "Configuration: ~/.config/aitbc/gpu-config.yaml"
exit 0
EOF
chmod +x "$temp_dir/scripts/postinstall"
# Create distribution file
cat > "$temp_dir/distribution.dist" << EOF
<?xml version="1.0" encoding="UTF-8"?>
<installer-gui-script minSpecVersion="1.0">
<title>AITBC CLI GPU Optimization (Apple Silicon)</title>
<organization>dev.aitbc</organization>
<domain system="true"/>
<options customize="never" allow-external-scripts="true"/>
<choices-outline>
<line choice="default"/>
</choices-outline>
<choice id="default" title="AITBC CLI GPU Optimization (Apple Silicon)">
<pkg-ref id="gpu.aitbc.cli"/>
</choice>
<pkg-ref id="gpu.aitbc.cli" version="$PKG_VERSION" onConclusion="none">AITBC CLI GPU Optimization.pkg</pkg-ref>
</installer-gui-script>
EOF
# Create package
cd "$temp_dir"
tar -czf "$OUTPUT_DIR/aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg" \
pkg-root/ \
scripts/ \
distribution.dist
echo -e "${GREEN}✓ GPU optimization package created${NC}"
rm -rf "$temp_dir"
}
# Create complete installer script
create_complete_installer() {
echo -e "${BLUE}Creating complete installer script...${NC}"
cat > "$OUTPUT_DIR/install-macos-complete.sh" << EOF
#!/bin/bash
# AITBC CLI Complete Installer for Mac Studio (Apple Silicon)
# Installs all available packages
set -e
# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
CYAN='\033[0;36m'
PURPLE='\033[0;35m'
NC='\033[0m'
echo -e "\${CYAN}"
echo "╔══════════════════════════════════════════════════════════════╗"
echo "║ AITBC CLI Complete Installer ║"
echo "║ Mac Studio (Apple Silicon) ║"
echo "║ All Packages ║"
echo "╚══════════════════════════════════════════════════════════════╝"
echo -e "\${NC}"
# Check if running on macOS
if [[ "\$OSTYPE" != "darwin"* ]]; then
echo -e "\${RED}❌ This installer is for macOS only\${NC}"
exit 1
fi
# Check Apple Silicon
ARCH=\$(uname -m)
if [[ "\$ARCH" != "arm64" ]]; then
echo -e "\${RED}❌ This package is for Apple Silicon Macs only\${NC}"
exit 1
fi
# Get script directory
SCRIPT_DIR="\$(cd "\$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
# Available packages
PACKAGES=(
"aitbc-cli-$PKG_VERSION-apple-silicon.pkg:Main CLI Package"
"aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg:Development Tools"
"aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg:GPU Optimization"
)
echo -e "\${BLUE}Available packages:\${NC}"
for i in "\${!PACKAGES[@]}"; do
IFS=':' read -r package_name description <<< "\${PACKAGES[$i]}"
echo " \$((i+1)). \$description"
done
echo ""
read -p "Select packages to install (e.g., 1,2,3 or all): " selection
# Parse selection
if [[ "\$selection" == "all" ]]; then
SELECTED_PACKAGES=("\${PACKAGES[@]}")
else
IFS=',' read -ra INDICES <<< "\$selection"
SELECTED_PACKAGES=()
for index in "\${INDICES[@]}"; do
idx=\$((index-1))
if [[ \$idx -ge 0 && \$idx -lt \${#PACKAGES[@]} ]]; then
SELECTED_PACKAGES+=("\${PACKAGES[\$idx]}")
fi
done
fi
echo ""
echo -e "\${BLUE}Selected packages:\${NC}"
for package in "\${SELECTED_PACKAGES[@]}"; do
IFS=':' read -r package_name description <<< "\$package"
echo " ✓ \$description"
done
echo ""
echo -e "\${YELLOW}⚠ These are demo packages for demonstration purposes.\${NC}"
echo -e "\${YELLOW}⚠ For full functionality, use the Python-based installation:\${NC}"
echo ""
echo -e "\${BLUE}curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash\${NC}"
echo ""
read -p "Continue with installation? (y/N): " -n 1 -r
echo
if [[ ! \$REPLY =~ ^[Yy]\$ ]]; then
echo "Installation cancelled."
exit 0
fi
# Install packages
for package in "\${SELECTED_PACKAGES[@]}"; do
IFS=':' read -r package_name description <<< "\$package"
package_path="\$SCRIPT_DIR/\$package_name"
if [[ -f "\$package_path" ]]; then
echo -e "\${BLUE}Installing \$description...\${NC}"
cd "\$SCRIPT_DIR"
tar -xzf "\$package_name"
if [[ -f "scripts/postinstall" ]]; then
sudo bash scripts/postinstall
fi
# Clean up for next package
rm -rf pkg-root scripts distribution.dist *.pkg-info 2>/dev/null || true
echo -e "\${GREEN}✓ \$description installed\${NC}"
else
echo -e "\${YELLOW}⚠ Package not found: \$package_name\${NC}"
fi
done
# Test installation
echo -e "\${BLUE}Testing installation...\${NC}"
if command -v aitbc >/dev/null 2>&1; then
echo -e "\${GREEN}✓ Main CLI available\${NC}"
fi
if command -v aitbc-dev >/dev/null 2>&1; then
echo -e "\${GREEN}✓ Development CLI available\${NC}"
fi
if command -v aitbc-gpu >/dev/null 2>&1; then
echo -e "\${GREEN}✓ GPU CLI available\${NC}"
fi
echo ""
echo -e "\${GREEN}🎉 Complete installation finished!\${NC}"
echo ""
echo "Installed commands:"
if command -v aitbc >/dev/null 2>&1; then
echo " aitbc - Main CLI"
fi
if command -v aitbc-dev >/dev/null 2>&1; then
echo " aitbc-dev - Development CLI"
fi
if command -v aitbc-gpu >/dev/null 2>&1; then
echo " aitbc-gpu - GPU Optimization CLI"
fi
echo ""
echo "Configuration files:"
echo " ~/.config/aitbc/config.yaml"
echo " ~/.config/aitbc/dev-config.yaml"
echo " ~/.config/aitbc/gpu-config.yaml"
echo ""
echo "For full AITBC CLI functionality:"
echo -e "\${BLUE}curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash\${NC}"
EOF
chmod +x "$OUTPUT_DIR/install-macos-complete.sh"
echo -e "${GREEN}✓ Complete installer script created${NC}"
}
# Update comprehensive checksums
update_checksums() {
echo -e "${BLUE}Updating comprehensive checksums...${NC}"
cd "$OUTPUT_DIR"
# Create checksums file
cat > checksums.txt << EOF
# AITBC macOS Complete Package Checksums
# Generated on $(date)
# Platform: Mac Studio (Apple Silicon M1/M2/M3/M4)
# Algorithm: SHA256
# Main packages
aitbc-cli-$PKG_VERSION-apple-silicon.pkg sha256:$(sha256sum "aitbc-cli-$PKG_VERSION-apple-silicon.pkg" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg sha256:$(sha256sum "aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg sha256:$(sha256sum "aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
# Installer scripts
install-macos-apple-silicon.sh sha256:$(sha256sum "install-macos-apple-silicon.sh" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
install-macos-complete.sh sha256:$(sha256sum "install-macos-complete.sh" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
# Legacy packages
aitbc-cli-$PKG_VERSION-demo.pkg sha256:$(sha256sum "aitbc-cli-$PKG_VERSION-demo.pkg" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
install-macos-demo.sh sha256:$(sha256sum "install-macos-demo.sh" 2>/dev/null | cut -d' ' -f1 || echo "NOT_FOUND")
EOF
echo -e "${GREEN}✓ Comprehensive checksums updated${NC}"
}
# Update README for complete collection
update_readme() {
echo -e "${BLUE}Updating README for complete package collection...${NC}"
cat > "$OUTPUT_DIR/README.md" << 'EOF'
# AITBC CLI Complete Package Collection
## 🍎 **Mac Studio (Apple Silicon) Complete Collection**
Complete package collection for **Mac Studio** with **Apple Silicon** processors (M1, M2, M3, M4).
## 📦 **Available Packages**
### **Core Package**
- **`aitbc-cli-0.1.0-apple-silicon.pkg`** - Main CLI package
### **Specialized Packages**
- **`aitbc-cli-dev-0.1.0-apple-silicon.pkg`** - Development tools and utilities
- **`aitbc-cli-gpu-0.1.0-apple-silicon.pkg`** - GPU optimization and acceleration
## 🚀 **Installation Options**
### **Option 1: Complete Installer (Recommended)**
```bash
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/packages/macos-packages/install-macos-complete.sh | bash
```
### **Option 2: Individual Packages**
```bash
# Main CLI
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/packages/macos-packages/install-macos-apple-silicon.sh | bash
# Development Tools
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/packages/macos-packages/aitbc-cli-dev-0.1.0-apple-silicon.pkg -o dev.pkg
sudo installer -pkg dev.pkg -target /
# GPU Optimization
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/packages/macos-packages/aitbc-cli-gpu-0.1.0-apple-silicon.pkg -o gpu.pkg
sudo installer -pkg gpu.pkg -target /
```
## 🎯 **Package Features**
### **Main CLI Package**
- ✅ **Core functionality** - Wallet, blockchain, marketplace
- ✅ **Apple Silicon optimization** - Native ARM64 performance
- ✅ **Shell completion** - Bash/Zsh completion
- ✅ **Man pages** - Complete documentation
### **Development Package**
- 🔧 **Debug mode** - Verbose logging and debugging
- 🔧 **Test utilities** - Test suite runner
- 🔧 **Development endpoints** - Development server
- 🔧 **Mock data** - Development testing
### **GPU Package**
- 🚀 **Apple Neural Engine** - AI/ML acceleration
- 🚀 **Metal shaders** - GPU optimization
- 🚀 **Memory management** - GPU memory optimization
- 🚀 **Benchmark tools** - Performance testing
## 📊 **Package Comparison**
| Package | Size | Features | Use Case |
|---------|------|----------|----------|
| `aitbc-cli` | ~3KB | Core CLI | General use |
| `aitbc-cli-dev` | ~4KB | Development tools | Developers |
| `aitbc-cli-gpu` | ~4KB | GPU optimization | AI/ML workloads |
## 🔧 **Command Overview**
### **Main CLI**
```bash
aitbc --help
aitbc wallet balance
aitbc marketplace gpu list
```
### **Development CLI**
```bash
aitbc-dev --debug
aitbc-dev test run
aitbc-dev debug info
```
### **GPU CLI**
```bash
aitbc-gpu optimize
aitbc-gpu benchmark
aitbc-gpu neural-engine
```
## ⚠️ **Important Notes**
### **Platform Requirements**
- **Required**: Apple Silicon Mac (Mac Studio recommended)
- **OS**: macOS 12.0+ (Monterey or later)
- **Memory**: 16GB+ recommended for GPU optimization
### **Demo Packages**
These are **demo packages** for demonstration:
- Show package structure and installation
- Demonstrate Apple Silicon optimization
- Provide installation framework
For **full functionality**, use Python installation:
```bash
curl -fsSL https://raw.githubusercontent.com/aitbc/aitbc/main/packages/github/install-macos.sh | bash
```
## ✅ **Verification**
### **Package Integrity**
```bash
sha256sum -c checksums.txt
```
### **Installation Test**
```bash
# Test all installed commands
aitbc --version
aitbc-dev --version
aitbc-gpu --version
```
### **Platform Verification**
```bash
# Verify Apple Silicon
uname -m
# Should output: arm64
# Check Mac Studio model
system_profiler SPHardwareDataType
```
## 🎯 **Configuration Files**
Each package creates its own configuration:
- **Main CLI**: `~/.config/aitbc/config.yaml`
- **Development**: `~/.config/aitbc/dev-config.yaml`
- **GPU**: `~/.config/aitbc/gpu-config.yaml`
## 🔄 **Future Production Packages**
Production packages will include:
- **Real native ARM64 executables** (~80MB each)
- **Apple Neural Engine integration**
- **Metal framework optimization**
- **Mac Studio hardware tuning**
- **Code signing and notarization**
## 📚 **Documentation**
- **[Main Documentation](../README.md)** - Complete installation guide
- **[Apple Silicon Optimization](../DEBIAN_TO_MACOS_BUILD.md)** - Build system details
- **[Package Distribution](../packages/README.md)** - Package organization
---
**Complete AITBC CLI package collection for Mac Studio!** 🚀
EOF
echo -e "${GREEN}✓ README updated for complete collection${NC}"
}
# Main function
main() {
echo -e "${BLUE}Building complete macOS package collection...${NC}"
echo ""
# Install tools
install_tools
# Create specialized packages
create_dev_package
create_gpu_package
# Create complete installer
create_complete_installer
# Update checksums
update_checksums
# Update README
update_readme
echo ""
echo -e "${GREEN}🎉 Complete macOS package collection built successfully!${NC}"
echo ""
echo "Packages created:"
echo " - $OUTPUT_DIR/aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg"
echo " - $OUTPUT_DIR/aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg"
echo " - $OUTPUT_DIR/install-macos-complete.sh"
echo ""
echo "Complete collection:"
echo " - Main CLI: aitbc-cli-$PKG_VERSION-apple-silicon.pkg"
echo " - Development: aitbc-cli-dev-$PKG_VERSION-apple-silicon.pkg"
echo " - GPU: aitbc-cli-gpu-$PKG_VERSION-apple-silicon.pkg"
echo ""
echo "Platform: Mac Studio (Apple Silicon M1/M2/M3/M4)"
echo ""
echo -e "${YELLOW}⚠ These are demo packages for demonstration purposes.${NC}"
echo -e "${YELLOW}⚠ For production packages, use the full build process.${NC}"
}
# Run main function
main "$@"