diff --git a/apps/marketing/public/install.md b/apps/marketing/public/install.md index a1ce33f89..70b7e02fb 100644 --- a/apps/marketing/public/install.md +++ b/apps/marketing/public/install.md @@ -2,90 +2,30 @@ > AI-powered workflow orchestration platform. Workflows are defined as Graphviz graphs and executed by the Fabro engine. -I want you to install Fabro for me. Execute all the steps below autonomously. +I want you to install Fabro for me. Execute the steps below autonomously. OBJECTIVE: Install the Fabro CLI binary and verify it works. DONE WHEN: `fabro --version` prints a version string. -## TODO +## Choose install method -- [ ] Ensure the `gh` CLI is installed and authenticated -- [ ] Detect the platform and download the correct release asset -- [ ] Extract the binary and install it to `~/.fabro/bin` -- [ ] Add `~/.fabro/bin` to PATH in the user's shell config -- [ ] Verify `fabro --version` works - -## Ensure `gh` CLI is available - -You need the GitHub CLI (`gh`) installed and authenticated. Check with: +Check whether Homebrew is available: ```bash -gh auth status +command -v brew ``` -If `gh` is not installed, install it: - -- **macOS:** `brew install gh` -- **Linux:** See https://github.com/cli/cli/blob/trunk/docs/install_linux.md - -Then authenticate with `gh auth login` if needed. - -## Detect platform and download - -Determine the correct release asset based on the platform: - -| OS | Architecture | Asset name | -|---|---|---| -| macOS | arm64 (Apple Silicon) | `fabro-aarch64-apple-darwin.tar.gz` | -| Linux | x86_64 | `fabro-x86_64-unknown-linux-gnu.tar.gz` | - -On macOS, if `uname -m` reports `x86_64`, check for Rosetta translation with `sysctl -n sysctl.proc_translated`. If it returns `1`, the actual architecture is arm64. - -Download the asset using `gh`: +If `brew` is present, install via Homebrew (preferred — brew manages updates automatically): ```bash -gh release download --repo fabro-sh/fabro --pattern "fabro-.tar.gz" --dir /tmp/fabro-install --clobber +brew install fabro-sh/tap/fabro-nightly ``` -Replace `` with the correct target triple from the table above. - -## Extract and install +Otherwise, use the install script: ```bash -tar xzf /tmp/fabro-install/fabro-.tar.gz -C /tmp/fabro-install -mkdir -p ~/.fabro/bin -mv /tmp/fabro-install/fabro-/fabro ~/.fabro/bin/fabro -chmod +x ~/.fabro/bin/fabro -rm -rf /tmp/fabro-install -``` - -## Add to PATH - -If `~/.fabro/bin` is not already on PATH, you must add it to the user's shell configuration file so it persists across sessions. - -**zsh** — append to `~/.zshrc` (or `$ZDOTDIR/.zshrc` if `ZDOTDIR` is set): - -```bash -printf '\n# fabro\nexport PATH="$HOME/.fabro/bin:$PATH"\n' >> ~/.zshrc -``` - -**bash** — append to `~/.bash_profile` if it exists, otherwise `~/.bashrc`: - -```bash -printf '\n# fabro\nexport PATH="$HOME/.fabro/bin:$PATH"\n' >> ~/.bash_profile -``` - -**fish** — append to `~/.config/fish/config.fish`: - -```bash -printf '\n# fabro\nfish_add_path $HOME/.fabro/bin\n' >> ~/.config/fish/config.fish -``` - -After updating the config file, export PATH for the current session too: - -```bash -export PATH="$HOME/.fabro/bin:$PATH" +curl -fsSL https://fabro.sh/install.sh | bash ``` ## Verify @@ -98,4 +38,4 @@ This must print a version string like `fabro 0.x.y`. If it does, installation is Tell the user to run `fabro install` in their terminal to complete setup. -EXECUTE NOW: Complete the above TODO list to achieve: `fabro --version` prints a version string. +EXECUTE NOW: Complete the above steps to achieve: `fabro --version` prints a version string. diff --git a/docs/getting-started/quick-start.mdx b/docs/getting-started/quick-start.mdx index 561398101..b8a06a4df 100644 --- a/docs/getting-started/quick-start.mdx +++ b/docs/getting-started/quick-start.mdx @@ -23,6 +23,11 @@ Fabro has two modes: codex "$(curl -fsSL https://fabro.sh/install.md)" ``` + + ```bash + brew install fabro-sh/tap/fabro-nightly + ``` + ```bash curl -fsSL https://fabro.sh/install.sh | bash