Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/install-smoke.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Real install smoke: installs the CLI through the PRODUCTION installer at
# polylane.com/install, pinned to a given release, in a throwaway HOME.
# polylane.com/setup, pinned to a given release, in a throwaway HOME.
#
# Why this exists: the GitHub release's asset list is a contract with the
# installer. Shipping checksums.txt in v0.2.20 broke every curl install for
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:
node-version: 20.x

- name: Fetch the production installer
run: curl -fsSL --retry 3 --connect-timeout 10 -m 60 https://polylane.com/install -o /tmp/install.sh
run: curl -fsSL --retry 3 --connect-timeout 10 -m 60 https://polylane.com/setup -o /tmp/install.sh

# Fresh HOME, no PATH or shell-config mutation, no telemetry, agent
# wiring skipped. A piped run is EXPECTED to exit non-zero at the
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ jobs:
release-artifacts/checksums.txt

# Real install of the just-published release through the production
# installer (polylane.com/install), API-digest and checksums.txt legs both.
# installer (polylane.com/setup), API-digest and checksums.txt legs both.
# Catches a release that breaks the installer contract within minutes of
# publishing instead of at polylanedotcom's daily install-bytes cron — the
# class of failure that took installs down for 15 minutes on v0.2.20 (RCA:
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ also carries the LGTM verdict contract the auto-approve workflow depends on.
- JSON when piped, text in TTY; `--output` always overrides.
- Every error ends with the exact command that fixes it.
- The full API surface lives under `polylane api call <operationId>` as an escape hatch — wrap an op only when it earns a first-class command.
- **The install script is a thin shim over this CLI.** `curl polylane.com/install | sh` (polylanedotcom `src/assets/install.sh`) only bootstraps: download, PATH, sign-in prompts, then `polylane setup`. Everything that knows about coding agents — detection, config paths, ids — lives in `src/agents/registry.ts` and is exposed for the installer to *call* (`polylane setup --list-detected --ids skills-sh` hands skills.sh its agent list; the polylane→skills.sh id table is `SKILLS_SH_IDS` here), never re-implemented in shell — not even an id map. When installer work needs new agent knowledge, add the flag or command here first.
- **The install script is a thin shim over this CLI.** `curl polylane.com/setup | sh` (polylanedotcom `src/assets/setup.sh`) only bootstraps: download, PATH, sign-in prompts, then `polylane setup`. Everything that knows about coding agents — detection, config paths, ids — lives in `src/agents/registry.ts` and is exposed for the installer to *call* (`polylane setup --list-detected --ids skills-sh` hands skills.sh its agent list; the polylane→skills.sh id table is `SKILLS_SH_IDS` here), never re-implemented in shell — not even an id map. When installer work needs new agent knowledge, add the flag or command here first.

## Commands (build, lint, test)

Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ Pick whichever channel fits your system. All install the same Node-based bundle

```bash
# macOS / Linux — curl
curl -fsSL https://polylane.com/install.sh | bash
curl -fsSL https://polylane.com/setup.sh | bash

# Windows — PowerShell
irm https://polylane.com/install.ps1 | iex
irm https://polylane.com/setup.ps1 | iex

# Homebrew (tap: coreplanelabs/tap)
brew install coreplanelabs/tap/polylane
Expand All @@ -55,8 +55,8 @@ bun add -g @coreplane/polylane
Version-pin the curl / PowerShell installers with:

```bash
POLYLANE_VERSION=v0.1.0 curl -fsSL https://polylane.com/install.sh | bash
$env:POLYLANE_VERSION='v0.1.0'; irm https://polylane.com/install.ps1 | iex
POLYLANE_VERSION=v0.1.0 curl -fsSL https://polylane.com/setup.sh | bash
$env:POLYLANE_VERSION='v0.1.0'; irm https://polylane.com/setup.ps1 | iex
```

The CLI checks for updates after successful commands, at most once per day,
Expand Down
6 changes: 3 additions & 3 deletions install/install.ps1
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# polylane CLI installer for Windows (PowerShell 5.1+ / 7+).
#
# irm https://polylane.com/install.ps1 | iex
# irm https://polylane.com/setup.ps1 | iex
#
# Installs the bundled CLI to $env:USERPROFILE\.polylane\bin\ and (if needed)
# adds it to your user PATH. Node 20+ must be installed.
# Override the version or install prefix with env vars:
#
# $env:POLYLANE_VERSION='v0.1.0'; irm https://polylane.com/install.ps1 | iex
# $env:POLYLANE_PREFIX='C:\tools'; irm https://polylane.com/install.ps1 | iex
# $env:POLYLANE_VERSION='v0.1.0'; irm https://polylane.com/setup.ps1 | iex
# $env:POLYLANE_PREFIX='C:\tools'; irm https://polylane.com/setup.ps1 | iex

$ErrorActionPreference = 'Stop'

Expand Down
8 changes: 4 additions & 4 deletions install/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@
# polylane CLI installer shim for macOS / Linux.
#
# The authoritative installer is maintained on the website and served at
# https://polylane.com/install — this file only delegates to it so old links
# https://polylane.com/setup — this file only delegates to it so old links
# and raw fetches of this path keep working.
#
# Env vars (POLYLANE_VERSION, POLYLANE_PREFIX, POLYLANE_REF,
# POLYLANE_SKIP_SETUP) and flags (--no-setup) pass straight through:
#
# POLYLANE_VERSION=v0.2.1 curl -fsSL https://polylane.com/install | bash
# POLYLANE_VERSION=v0.2.1 curl -fsSL https://polylane.com/setup | bash

set -eu

command -v curl >/dev/null 2>&1 || { printf 'error: curl is required\n' >&2; exit 1; }
command -v bash >/dev/null 2>&1 || { printf 'error: bash is required\n' >&2; exit 1; }

script="$(curl -fsSL https://polylane.com/install)" \
|| { printf 'error: failed to fetch https://polylane.com/install\n' >&2; exit 1; }
script="$(curl -fsSL https://polylane.com/setup)" \
|| { printf 'error: failed to fetch https://polylane.com/setup\n' >&2; exit 1; }

printf '%s\n' "$script" | bash -s -- "$@"
2 changes: 1 addition & 1 deletion skill/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ description: Use `polylane` to investigate production issues, explore cloud infr
```bash
# Install (pick one — see README for the full list)
npm install -g @coreplane/polylane
# curl -fsSL https://polylane.com/install.sh | bash
# curl -fsSL https://polylane.com/setup.sh | bash
# brew install coreplanelabs/tap/polylane

# Pick ONE auth path (OAuth is the default; use an API key only where a browser sign-in is impossible):
Expand Down
Loading