Skip to content

Conversation

mcpe500
Copy link

@mcpe500 mcpe500 commented Aug 25, 2025

This pull request significantly improves the installation and development experience for kolosal-cli by introducing a set of powerful new scripts. The primary goal is to lower the barrier to entry for new users across multiple platforms and streamline the build process for Termux developers.

What's New? 🚀

  • Unified Installer Script (install-kolosal-termux.sh):

    • A single, intelligent script that automatically detects the user's operating system (macOS, Debian/Ubuntu, Windows, Termux).
    • For most platforms, it downloads the appropriate pre-compiled release artifact (.dmg, .deb, .exe) and handles the installation process.
    • Provides clear instructions for Termux users to build from source, as pre-compiled binaries are not used for that platform.
    • Supports both headless (default) and interactive/GUI-launch modes (--launch).
  • Termux Build Script (build-kolosal-cli.sh):

    • A dedicated script to compile kolosal-cli from source directly within the Termux environment.
    • Automatically checks for and installs required dependencies (cmake, make, clang, libraries).
    • Initializes and updates all necessary Git submodules.
    • Handles the entire cmake and make process.
  • Convenience Runner Script (run-kolosal.sh):

    • A simple wrapper script that allows executing the locally-built kolosal binary from the project's root directory without needing to navigate into build/bin.

…le OSes

- Implement headless installation by default with optional GUI launch on macOS and Windows
- Support Termux installation with direct binary copy and permission setup
- Add macOS installation using DMG download, mount, app copy, and symlink creation
- Implement Debian package installation with dependency handling and apt integration
- Support Windows download and interactive or silent installer launch
- Provide OS detection for Linux, macOS, Windows, and Termux environments
- Include argument parsing for options like --print-os, --headless, --launch, and help
- Add cleanup routine to remove temporary files and unmount DMGs on exit
- Handle sudo requirements conditionally, skipping in Termux environment
- Provide informative messages and usage instructions for end users
- Add a bash script to automate building Kolosal CLI on Termux environment
- Verify presence of CMakeLists.txt and required commands before building
- Check and install necessary libraries: libcurl, openssl, zlib
- Initialize and update main and nested git submodules if needed
- Create and configure build directory using CMake with Release type
- Build Kolosal CLI using make with parallel jobs
- Verify successful build by checking kolosal executable presence
- Provide usage instructions for running and installing the built CLI
- Create a shell script to run Kolosal CLI in Termux environment
- Script checks for build directory and binary existence
- Provides error message with build instructions if CLI is missing
- Changes directory to build and runs Kolosal CLI with passed arguments
@rifkybujana rifkybujana requested a review from Copilot August 31, 2025 23:44
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds comprehensive installer and build scripts to improve the installation experience for kolosal-cli across multiple platforms, with special focus on Termux support. The primary goal is to provide automated installation for most platforms while enabling source builds for Termux environments.

  • Universal installer script that detects OS and downloads appropriate pre-compiled binaries
  • Dedicated Termux build script for compiling from source with dependency management
  • Convenience runner script for executing locally-built binaries

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.

File Description
install-kolosal-termux.sh Multi-platform installer with OS detection, binary downloads, and Termux-specific source installation
build-kolosal-cli.sh Termux build script with dependency checking and automated compilation process
run-kolosal.sh Simple wrapper script to execute built kolosal binary from project root

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

…ry validation in install-kolosal-termux.sh to ensure it runs from project root\n- Fix VERSION/RELEASE_TAG inconsistency to prevent 404 errors when downloading releases\n- Add existence checks for binaries before copying in install-kolosal-termux.sh\n- Fix grep pattern in build-kolosal-cli.sh to prevent false positives when checking for libraries\n- Fix submodule initialization check to correctly verify .git as a directory\n- Add .qoder to .gitignore
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant