docs(readme): enhance README with CLI tool documentation, GPU provider monetization focus, and performance metrics
- Add comprehensive CLI tool section with quick start guide and key features - Add "Earn Money with Your GPU" section highlighting provider benefits and success tips - Add CLI installation and usage examples for marketplace, agent management, and development - Add multi-language CLI support documentation - Add performance metrics section with response times, processing speed, and up
This commit is contained in:
5
cli/scripts/activate_aitbc_cli.sh
Executable file
5
cli/scripts/activate_aitbc_cli.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
# AITBC CLI activation script
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "$SCRIPT_DIR/venv/bin/activate"
|
||||
echo "AITBC CLI environment activated. Use 'aitbc --help' to get started."
|
||||
132
cli/scripts/build_deb.sh
Executable file
132
cli/scripts/build_deb.sh
Executable file
@@ -0,0 +1,132 @@
|
||||
#!/bin/bash
|
||||
|
||||
# AITBC CLI Debian Package Build Script
|
||||
|
||||
set -e
|
||||
|
||||
# Colors for output
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${BLUE}Building AITBC CLI Debian packages...${NC}"
|
||||
|
||||
# Get script directory
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
DEBIAN_DIR="$SCRIPT_DIR/debian"
|
||||
DIST_DIR="$SCRIPT_DIR/dist"
|
||||
DEB_OUTPUT_DIR="$SCRIPT_DIR/../packages/deb"
|
||||
|
||||
# Create output directory
|
||||
mkdir -p "$DEB_OUTPUT_DIR"
|
||||
|
||||
# Create directories
|
||||
mkdir -p "$DEBIAN_DIR/usr/share/aitbc/dist"
|
||||
mkdir -p "$DEBIAN_DIR/usr/share/aitbc/man"
|
||||
mkdir -p "$DEBIAN_DIR/usr/share/aitbc/completion"
|
||||
mkdir -p "$DEBIAN_DIR/usr/share/man/man1"
|
||||
mkdir -p "$DEBIAN_DIR/etc/bash_completion.d"
|
||||
mkdir -p "$DEBIAN_DIR/etc/aitbc"
|
||||
|
||||
# Copy files to package structure
|
||||
echo -e "${BLUE}Copying files to package structure...${NC}"
|
||||
|
||||
# Copy wheel file
|
||||
if [ -f "$DIST_DIR/aitbc_cli-0.1.0-py3-none-any.whl" ]; then
|
||||
cp "$DIST_DIR/aitbc_cli-0.1.0-py3-none-any.whl" "$DEBIAN_DIR/usr/share/aitbc/dist/"
|
||||
echo -e "${GREEN}✓ Copied wheel file${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Wheel file not found! Please build it first.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Copy man page
|
||||
if [ -f "$SCRIPT_DIR/man/aitbc.1" ]; then
|
||||
cp "$SCRIPT_DIR/man/aitbc.1" "$DEBIAN_DIR/usr/share/aitbc/man/"
|
||||
cp "$SCRIPT_DIR/man/aitbc.1" "$DEBIAN_DIR/usr/share/man/man1/"
|
||||
echo -e "${GREEN}✓ Copied man page${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Man page not found!${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Copy completion script
|
||||
if [ -f "$SCRIPT_DIR/aitbc_completion.sh" ]; then
|
||||
cp "$SCRIPT_DIR/aitbc_completion.sh" "$DEBIAN_DIR/usr/share/aitbc/completion/"
|
||||
chmod +x "$DEBIAN_DIR/usr/share/aitbc/completion/aitbc_completion.sh"
|
||||
echo -e "${GREEN}✓ Copied completion script${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Completion script not found!${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Calculate package size
|
||||
echo -e "${BLUE}Calculating package size...${NC}"
|
||||
PACKAGE_SIZE=$(du -sm "$DEBIAN_DIR" | cut -f1)
|
||||
|
||||
# Update control file with size
|
||||
sed -i "s/Installed-Size:.*/Installed-Size: $PACKAGE_SIZE/" "$DEBIAN_DIR/DEBIAN/control" 2>/dev/null || echo "Installed-Size: $PACKAGE_SIZE" >> "$DEBIAN_DIR/DEBIAN/control"
|
||||
|
||||
# Generate md5sums
|
||||
echo -e "${BLUE}Generating md5sums...${NC}"
|
||||
cd "$DEBIAN_DIR"
|
||||
find . -type f ! -path './DEBIAN/*' -exec md5sum {} + | sed 's/\.\///' > DEBIAN/md5sums
|
||||
cd - > /dev/null
|
||||
|
||||
# Build the packages
|
||||
echo -e "${BLUE}Building Debian packages...${NC}"
|
||||
|
||||
# Build aitbc-cli package
|
||||
echo -e "${BLUE}Building aitbc-cli package...${NC}"
|
||||
dpkg-deb --build "$DEBIAN_DIR" "$DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb"
|
||||
|
||||
# Create dev package (just control file differences)
|
||||
echo -e "${BLUE}Building aitbc-cli-dev package...${NC}"
|
||||
cp -r "$DEBIAN_DIR" "${DEBIAN_DIR}_dev"
|
||||
|
||||
# Update dev package control
|
||||
cp "$DEBIAN_DIR/DEBIAN/control_dev" "${DEBIAN_DIR}_dev/DEBIAN/control"
|
||||
|
||||
# Build dev package
|
||||
dpkg-deb --build "${DEBIAN_DIR}_dev" "$DEB_OUTPUT_DIR/aitbc-cli-dev_0.1.0_all.deb"
|
||||
|
||||
# Clean up temporary directories
|
||||
rm -rf "${DEBIAN_DIR}_dev"
|
||||
|
||||
# Verify packages
|
||||
echo -e "${BLUE}Verifying packages...${NC}"
|
||||
if [ -f "$DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb" ]; then
|
||||
echo -e "${GREEN}✓ aitbc-cli package created: $DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb"
|
||||
dpkg-deb --info "$DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb" | head -10
|
||||
else
|
||||
echo -e "${RED}❌ aitbc-cli package creation failed${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f "$DEB_OUTPUT_DIR/aitbc-cli-dev_0.1.0_all.deb" ]; then
|
||||
echo -e "${GREEN}✓ aitbc-cli-dev package created: $DEB_OUTPUT_DIR/aitbc-cli-dev_0.1.0_all.deb"
|
||||
dpkg-deb --info "$DEB_OUTPUT_DIR/aitbc-cli-dev_0.1.0_all.deb" | head -10
|
||||
else
|
||||
echo -e "${RED}❌ aitbc-cli-dev package creation failed${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}🎉 Debian packages built successfully!${NC}"
|
||||
echo ""
|
||||
echo "Packages created:"
|
||||
echo " - $DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb"
|
||||
echo " - $DEB_OUTPUT_DIR/aitbc-cli-dev_0.1.0_all.deb"
|
||||
echo ""
|
||||
echo "To install on Debian 13 Trixie:"
|
||||
echo " sudo dpkg -i $DEB_OUTPUT_DIR/aitbc-cli_0.1.0_all.deb"
|
||||
echo " sudo apt-get install -f # Fix dependencies if needed"
|
||||
echo ""
|
||||
echo "Package contents:"
|
||||
echo " - CLI installed in /opt/aitbc/venv/bin/aitbc"
|
||||
echo " - Symlink at /usr/local/bin/aitbc"
|
||||
echo " - Man page: man aitbc"
|
||||
echo " - Bash completion: /etc/bash_completion.d/aitbc"
|
||||
echo " - Config file: /etc/aitbc/config.yaml"
|
||||
90
cli/scripts/install_local_package.sh
Executable file
90
cli/scripts/install_local_package.sh
Executable file
@@ -0,0 +1,90 @@
|
||||
#!/bin/bash
|
||||
|
||||
# AITBC CLI Local Package Installation Script
|
||||
# This script installs the AITBC CLI from the local wheel package
|
||||
|
||||
set -e
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Package info
|
||||
PACKAGE_NAME="aitbc-cli"
|
||||
PACKAGE_VERSION="0.1.0"
|
||||
WHEEL_FILE="aitbc_cli-0.1.0-py3-none-any.whl"
|
||||
|
||||
echo -e "${BLUE}AITBC CLI Local Package Installation${NC}"
|
||||
echo "=================================="
|
||||
|
||||
# Check if we're in the right directory
|
||||
if [ ! -f "dist/$WHEEL_FILE" ]; then
|
||||
echo -e "${RED}Error: Package file not found: dist/$WHEEL_FILE${NC}"
|
||||
echo "Please run this script from the cli directory after building the package."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check Python version
|
||||
PYTHON_VERSION=$(python3 --version 2>&1 | cut -d' ' -f2 | cut -d'.' -f1,2)
|
||||
REQUIRED_VERSION="3.13"
|
||||
|
||||
if [ "$(printf '%s\n' "$REQUIRED_VERSION" "$PYTHON_VERSION" | sort -V | head -n1)" != "$REQUIRED_VERSION" ]; then
|
||||
echo -e "${RED}Error: Python $REQUIRED_VERSION+ is required, found $PYTHON_VERSION${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}✓ Python version check passed ($PYTHON_VERSION)${NC}"
|
||||
|
||||
# Create virtual environment if it doesn't exist
|
||||
if [ ! -d "venv" ]; then
|
||||
echo -e "${YELLOW}Creating virtual environment...${NC}"
|
||||
python3 -m venv venv
|
||||
fi
|
||||
|
||||
# Activate virtual environment
|
||||
echo -e "${YELLOW}Activating virtual environment...${NC}"
|
||||
source venv/bin/activate
|
||||
|
||||
# Install the package
|
||||
echo -e "${YELLOW}Installing $PACKAGE_NAME v$PACKAGE_VERSION...${NC}"
|
||||
pip install --force-reinstall "dist/$WHEEL_FILE"
|
||||
|
||||
# Verify installation
|
||||
echo -e "${YELLOW}Verifying installation...${NC}"
|
||||
if command -v aitbc &> /dev/null; then
|
||||
echo -e "${GREEN}✓ AITBC CLI installed successfully!${NC}"
|
||||
echo -e "${BLUE}Installation location: $(which aitbc)${NC}"
|
||||
|
||||
# Show version
|
||||
echo -e "${YELLOW}CLI version:${NC}"
|
||||
aitbc --version 2>/dev/null || echo -e "${YELLOW}Version check failed, but installation succeeded${NC}"
|
||||
|
||||
# Show help
|
||||
echo -e "${YELLOW}Available commands:${NC}"
|
||||
aitbc --help 2>/dev/null | head -10 || echo -e "${YELLOW}Help command failed, but installation succeeded${NC}"
|
||||
|
||||
else
|
||||
echo -e "${RED}✗ Installation failed - aitbc command not found${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}Installation completed successfully!${NC}"
|
||||
echo -e "${BLUE}To use the CLI:${NC}"
|
||||
echo " 1. Keep the virtual environment activated: source venv/bin/activate"
|
||||
echo " 2. Or add to PATH: export PATH=\$PWD/venv/bin:\$PATH"
|
||||
echo " 3. Run: aitbc --help"
|
||||
|
||||
# Create activation script
|
||||
cat > activate_aitbc_cli.sh << 'EOF'
|
||||
#!/bin/bash
|
||||
# AITBC CLI activation script
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "$SCRIPT_DIR/venv/bin/activate"
|
||||
echo "AITBC CLI environment activated. Use 'aitbc --help' to get started."
|
||||
EOF
|
||||
|
||||
chmod +x activate_aitbc_cli.sh
|
||||
echo -e "${YELLOW}Created activation script: ./activate_aitbc_cli.sh${NC}"
|
||||
82
cli/scripts/setup_man_page.sh
Executable file
82
cli/scripts/setup_man_page.sh
Executable file
@@ -0,0 +1,82 @@
|
||||
#!/bin/bash
|
||||
|
||||
# AITBC CLI Man Page and Completion Setup Script
|
||||
|
||||
set -e
|
||||
|
||||
echo "AITBC CLI - Setting up man page and shell completion..."
|
||||
|
||||
# Colors for output
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Get script directory
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# Install man page
|
||||
echo -e "${BLUE}Installing man page...${NC}"
|
||||
if [[ $EUID -eq 0 ]]; then
|
||||
# Running as root
|
||||
mkdir -p /usr/local/share/man/man1
|
||||
cp "$SCRIPT_DIR/man/aitbc.1" /usr/local/share/man/man1/
|
||||
mandb -q
|
||||
echo -e "${GREEN}✓ Man page installed system-wide${NC}"
|
||||
else
|
||||
# Running as user
|
||||
mkdir -p "$HOME/.local/share/man/man1"
|
||||
cp "$SCRIPT_DIR/man/aitbc.1" "$HOME/.local/share/man/man1/"
|
||||
echo -e "${GREEN}✓ Man page installed for user${NC}"
|
||||
echo -e "${YELLOW}Note: Make sure ~/.local/share/man is in your MANPATH${NC}"
|
||||
fi
|
||||
|
||||
# Setup shell completion
|
||||
echo -e "${BLUE}Setting up shell completion...${NC}"
|
||||
|
||||
# Detect shell
|
||||
if [[ -n "$ZSH_VERSION" ]]; then
|
||||
SHELL_RC="$HOME/.zshrc"
|
||||
echo -e "${GREEN}Detected ZSH shell${NC}"
|
||||
elif [[ -n "$BASH_VERSION" ]]; then
|
||||
SHELL_RC="$HOME/.bashrc"
|
||||
echo -e "${GREEN}Detected BASH shell${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}Unknown shell, please manually add completion${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Add completion to shell rc
|
||||
COMPLETION_LINE="source \"$SCRIPT_DIR/aitbc_completion.sh\""
|
||||
|
||||
if grep -q "aitbc_completion.sh" "$SHELL_RC" 2>/dev/null; then
|
||||
echo -e "${YELLOW}✓ Completion already configured in $SHELL_RC${NC}"
|
||||
else
|
||||
echo "" >> "$SHELL_RC"
|
||||
echo "# AITBC CLI completion" >> "$SHELL_RC"
|
||||
echo "$COMPLETION_LINE" >> "$SHELL_RC"
|
||||
echo -e "${GREEN}✓ Added completion to $SHELL_RC${NC}"
|
||||
fi
|
||||
|
||||
# Test man page
|
||||
echo -e "${BLUE}Testing man page...${NC}"
|
||||
if man aitbc >/dev/null 2>&1; then
|
||||
echo -e "${GREEN}✓ Man page working: try 'man aitbc'${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚠ Man page may need manual setup${NC}"
|
||||
fi
|
||||
|
||||
# Test completion (source in current shell)
|
||||
echo -e "${BLUE}Loading completion for current session...${NC}"
|
||||
source "$SCRIPT_DIR/aitbc_completion.sh"
|
||||
echo -e "${GREEN}✓ Completion loaded for current session${NC}"
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}🎉 Setup complete!${NC}"
|
||||
echo ""
|
||||
echo "To use the AITBC CLI:"
|
||||
echo " 1. Activate virtual environment: source $SCRIPT_DIR/venv/bin/activate"
|
||||
echo " 2. Use man page: man aitbc"
|
||||
echo " 3. Use tab completion: aitbc <TAB>"
|
||||
echo ""
|
||||
echo "Restart your shell or run 'source $SHELL_RC' to enable completion permanently."
|
||||
Reference in New Issue
Block a user