Repository navigation
docs(install): simplify the install page and ship archives #2160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
92804f1
b3098c5
9068da5
ed7a70b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@fission-ai/openspec": patch | ||
| --- | ||
|
|
||
| Simpler install: `curl -fsSL https://openspec.dev/cli/install.sh | sh` (Windows: `irm https://openspec.dev/cli/install.ps1 | iex`). Release downloads are now archives: `.tar.gz`, or `.zip` on Windows. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,55 +5,19 @@ | |
|
|
||
| ## Install | ||
|
|
||
| OpenSpec installs as a single `openspec` file. It needs no Node.js. | ||
|
|
||
| On macOS or Linux, in your terminal: | ||
|
|
||
| ```bash | ||
| curl -fsSL https://raw.githubusercontent.com/Fission-AI/OpenSpec/main/scripts/binary/install.sh | sh | ||
| curl -fsSL https://openspec.dev/cli/install.sh | sh | ||
| ``` | ||
|
|
||
| On Windows, in PowerShell: | ||
|
|
||
| ```powershell | ||
| irm https://raw.githubusercontent.com/Fission-AI/OpenSpec/main/scripts/binary/install.ps1 | iex | ||
| ``` | ||
|
|
||
| - **Where it goes**: `~/.local/bin`; on Windows, `%LOCALAPPDATA%\Programs\openspec`, which it adds to your user PATH. | ||
| - **What it checks**: it picks the file for your machine and verifies it against the release's `SHA256SUMS` before installing. | ||
| - **Which release**: the newest one whose files are all attached. For the few minutes after a release is published while its files upload, it installs the previous one and says so. | ||
| - **Alpine Linux**: run `apk add libstdc++ libgcc` first. | ||
| - **Options**: set `OPENSPEC_INSTALL_DIR` to install elsewhere, or `OPENSPEC_VERSION=v1.15.0` to pin a release. | ||
|
|
||
| If the installer says the folder isn't on your PATH, add it as it shows. Then [check it worked](#check-it-worked). | ||
|
|
||
| The workflow itself runs inside an AI coding tool: Claude Code, Cursor, or any other tool on the [supported list](../reference/supported-tools.md). | ||
|
|
||
| ### Download it yourself | ||
|
|
||
| Each [release](https://github.com/Fission-AI/OpenSpec/releases/latest) has one file per platform: | ||
|
|
||
| | Platform | File | | ||
| |---|---| | ||
| | macOS 13+ (Apple silicon / Intel) | `openspec-darwin-arm64` / `openspec-darwin-x64` | | ||
| | Linux, glibc 2.17+ (arm64 / x64) | `openspec-linux-arm64` / `openspec-linux-x64` | | ||
| | Alpine 3.17+ (arm64 / x64) | `openspec-linux-arm64-musl` / `openspec-linux-x64-musl` | | ||
| | Windows 10+ (arm64 / x64) | `openspec-windows-arm64.exe` / `openspec-windows-x64.exe` | | ||
|
|
||
| Rename it to `openspec` (`openspec.exe` on Windows), run `chmod +x openspec` on macOS or Linux, and put it in a folder on your PATH. | ||
|
|
||
| > [!NOTE] | ||
| > macOS blocks a file downloaded in a browser until you run `xattr -d com.apple.quarantine openspec`. The install command above doesn't need this. | ||
|
|
||
| ### Verify a download | ||
|
|
||
| Each release binary comes with a signed record of the workflow run that built it. With the [GitHub CLI](https://cli.github.com), in your terminal: | ||
|
|
||
| ```bash | ||
| gh attestation verify openspec-darwin-arm64 --repo Fission-AI/OpenSpec | ||
| irm https://openspec.dev/cli/install.ps1 | iex | ||
| ``` | ||
|
|
||
| It confirms the file is the one that release's workflow built, or fails. This is optional; the installer already checks every download against `SHA256SUMS`. | ||
| If the installer says its folder isn't on your PATH, add it with the line it prints. Then [check it worked](#check-it-worked). | ||
|
|
||
| ## Install with your AI assistant | ||
|
|
||
|
|
@@ -165,6 +129,54 @@ If that prints a version number, the CLI is on your PATH. It installs once per m | |
|
|
||
| Next, [set up your project](setup.md). If your assistant already ran init, that page shows what it wrote and how to adjust it. | ||
|
|
||
| ## Install options | ||
|
|
||
| To pick a version or a folder, add a setting before `sh`: | ||
|
|
||
| ```bash | ||
| curl -fsSL https://openspec.dev/cli/install.sh | OPENSPEC_VERSION=v1.15.0 sh | ||
| ``` | ||
|
|
||
| - **`OPENSPEC_VERSION`**: the release to install, such as `v1.15.0`. The default is the newest release. | ||
| - **`OPENSPEC_INSTALL_DIR`**: the folder to install to. The default is `~/.local/bin` (Windows: `%LOCALAPPDATA%\Programs\openspec`). | ||
|
|
||
| On Windows, set it in PowerShell before the install command: | ||
|
|
||
| ```powershell | ||
| $env:OPENSPEC_VERSION = 'v1.15.0' | ||
| irm https://openspec.dev/cli/install.ps1 | iex | ||
| ``` | ||
|
|
||
| On Alpine Linux, run `apk add libstdc++ libgcc` before installing. | ||
|
|
||
| ### Download by hand | ||
|
|
||
| 1. **Download** your file from the [latest release](https://github.com/Fission-AI/OpenSpec/releases/latest). The table below lists them. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Handle incomplete latest releases. The manual instructions point to
|
||
| 2. **Unpack** it. In your terminal: `tar -xzf openspec-darwin-arm64.tar.gz`. On Windows, right-click the `.zip` and choose Extract All. | ||
| 3. **Move** `openspec` (Windows: `openspec.exe`) into a folder on your PATH, such as `~/.local/bin`. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use a Windows-specific destination example.
|
||
| 4. **On macOS**, run `xattr -d com.apple.quarantine openspec`. macOS blocks files downloaded in a browser until you do. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Run Step 3 moves
|
||
|
|
||
| | Computer | File | | ||
| |---|---| | ||
| | Mac, Apple silicon | `openspec-darwin-arm64.tar.gz` | | ||
| | Mac, Intel | `openspec-darwin-x64.tar.gz` | | ||
| | Linux, arm64 | `openspec-linux-arm64.tar.gz` | | ||
| | Linux, x64 | `openspec-linux-x64.tar.gz` | | ||
| | Alpine, arm64 | `openspec-linux-arm64-musl.tar.gz` | | ||
| | Alpine, x64 | `openspec-linux-x64-musl.tar.gz` | | ||
| | Windows, arm64 | `openspec-windows-arm64.zip` | | ||
| | Windows, x64 | `openspec-windows-x64.zip` | | ||
|
|
||
| ### Verify a download | ||
|
|
||
| To check that a file was built by the OpenSpec release workflow, run this with the [GitHub CLI](https://cli.github.com): | ||
|
|
||
| ```bash | ||
| gh attestation verify openspec-darwin-arm64.tar.gz --repo Fission-AI/OpenSpec | ||
| ``` | ||
|
|
||
| It fails if the file wasn't built there. The install command already checks each download against the release's `SHA256SUMS`, so this step is optional. | ||
|
|
||
| ## Switch from npm to the standalone install | ||
|
|
||
| Switching is optional; npm keeps working. Your settings and your projects carry over; only the program changes. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Runtime observed
Script executed:
Repository: Fission-AI/OpenSpec
Length of output: 363
Deploy the
/cli/install.ps1route before merging the Windows command.The README now points Windows users to
https://openspec.dev/cli/install.ps1. That URL returned HTTP 404 when checked. The PR description names only theopenspec.dev/cli/install.shredirect as a prerequisite, so nothing in the PR establishes that the PowerShell route will exist at merge. If it stays absent, the Windows Quick Start command inREADME.mdfails. Confirm that/cli/install.ps1serves the intended script before this change merges. Keep the GitHub-hosted PowerShell command until the route is live.