From ee0a4073540b38ae6fe2f58bb9b9406308f64b02 Mon Sep 17 00:00:00 2001 From: Aditya Gupta Date: Sat, 20 Jun 2026 14:22:31 +0530 Subject: [PATCH] docs: Updated readme --- VERSION | 2 +- readme.md | 34 +++++++++++++++++++++++----------- scripts/pre-commit | 4 ++-- 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/VERSION b/VERSION index af0b7dd..238d6e8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.6 +1.0.7 diff --git a/readme.md b/readme.md index 3bcf07a..adc6671 100644 --- a/readme.md +++ b/readme.md @@ -6,17 +6,22 @@ The goal is simple: reduce the number of manual steps required after installing ## Available Scripts -| Script | Description | -| ----------------- | --------------------------------------------------------------------- | -| `install_agy.sh` | Installs Antigravity CLI and triggers native shell configuration. | -| `install_bat.sh` | Installs Bat (alternative to cat) and configures alias. | -| `install_node.sh` | Installs Node.js (LTS) and NVM (Node Version Manager). | -| `install_nvim.sh` | Installs Neovim 0.11.7 and clones my Neovim configuration repository. | -| `install_rust.sh` | Installs Rust (rustup) and configures cargo environment. | -| `install_yazi.sh` | Installs Yazi terminal file manager and its dependencies. | -| `install_zoxide.sh` | Installs Zoxide directory jumper and configures shell integrations. | +Bootstrap is designed to be completely **environment-agnostic** and self-contained. Each bootstrap script automatically detects your platform (supporting Arch Linux, Debian/Ubuntu, Fedora, etc.) and architecture, installs the necessary dependencies using the native package manager or verified binary downloads, and cleanly configures your shell environment. This removes the overhead of maintaining multi-platform scripts and eliminates the need to run raw, complex pipelines from the web. -All scripts support Arch Linux, Debian / Ubuntu, and Fedora. +Here is a comparison of the size and complexity of using Bootstrap (`to b`) versus running the original, official installation scripts (`not to b`): + +| application | to b | not to b | +| :--- | :--- | :--- | +| **Antigravity CLI (`agy`)** | 197 lines | N/A (Official binary distribution) | +| **Bat (`bat`)** | 155 lines | N/A (Standard package install) | +| **Node.js & NVM (`node`)** | 156 lines | 507 lines (Official NVM install script) | +| **Neovim (`nvim`)** | 178 lines | N/A (Official binary/config distribution) | +| **PNPM (`pnpm`)** | 245 lines | 213 lines (Official get.pnpm.io script) | +| **Rust (`rust`)** | 155 lines | 921 lines (Official sh.rustup.rs script) | +| **Starship (`starship`)** | 132 lines | 554 lines (Official starship.rs script) | +| **Yay (`yay`)** | 96 lines | N/A (Official manual build process) | +| **Yazi (`yazi`)** | 163 lines | N/A (Standard package install) | +| **Zoxide (`zoxide`)** | 90 lines | 466 lines (Official zoxide install script) | More scripts will be added over time. @@ -98,7 +103,14 @@ Potential additions include: Running scripts directly from the internet is convenient but should always be approached with caution. -If you do not trust the source, inspect the script before executing it: +### Why Bootstrap is More Secure +Instead of blindly piping large, third-party installation scripts (often hundreds or thousands of lines of unscrutinized code) directly from the internet into your shell, Bootstrap uses a **scrutinized and simplified** approach: + +1. **Audited & Minimised**: Every script in `installers/` has been scrutinized, refactored, and stripped of redundant compatibility layers (like Windows/macOS support or complex environment checks), leaving only the essential, readable logic required for your setup. +2. **Controlled Execution**: Since installer scripts are hosted locally in your cloned repository, you can review every line of code before executing it. You are never subject to silent, upstream changes to installers. +3. **No Raw Pipes**: We download official binary releases directly to verified temporary locations rather than running arbitrary third-party script pipelines. + +If you want to audit the core Bootstrap CLI itself before running it: ```bash curl -fsSL https://git.adityagupta.dev/sortedcord/bootstrap/raw/branch/master/bootstrap.sh diff --git a/scripts/pre-commit b/scripts/pre-commit index f55b8c0..e28c3fa 100644 --- a/scripts/pre-commit +++ b/scripts/pre-commit @@ -12,8 +12,8 @@ if [ ! -f "$VERSION_FILE" ]; then exit 0 fi -# Check if there are staged changes other than the VERSION file -if ! git diff --cached --name-only | grep -qv "^$VERSION_FILE$"; then +# Check if there are staged changes other than VERSION, documentation (*.md), or installers folder +if ! git diff --cached --name-only | grep -Ev "^($VERSION_FILE$|.*\.md$|^installers/)" | grep -q .; then # No other files staged, skip version bump exit 0 fi