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
32 changes: 32 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ jobs:
typescript: ${{ steps.filter.outputs.typescript }}
drivers: ${{ steps.filter.outputs.drivers }}
dbt-tools: ${{ steps.filter.outputs.dbt-tools }}
installer: ${{ steps.filter.outputs.installer }}
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

Expand Down Expand Up @@ -50,6 +51,9 @@ jobs:
- 'packages/opencode/test/altimate/connections.test.ts'
dbt-tools:
- 'packages/dbt-tools/**'
installer:
- 'install.ps1'
- 'test/windows/**'

# ---------------------------------------------------------------------------
# Main TypeScript tests — excludes driver E2E tests (separate job) and
Expand Down Expand Up @@ -309,6 +313,34 @@ jobs:
run: bun run test
working-directory: packages/dbt-tools

# ---------------------------------------------------------------------------
# Windows installer (install.ps1) — Pester behavioral tests on real Windows.
# Runs the script as a subprocess (stopping early via -Help / unknown version
# so nothing is downloaded) to cover arg parsing, the WOW64 arch fix, and
# unknown-version rejection. Only when install.ps1 / its tests change.
# ---------------------------------------------------------------------------
windows-installer:
name: Windows Installer (Pester)
needs: changes
if: needs.changes.outputs.installer == 'true' || github.event_name == 'push'
runs-on: windows-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
Comment thread
coderabbitai[bot] marked this conversation as resolved.

- name: Install Pester
shell: pwsh
run: Install-Module Pester -MinimumVersion 5.0.0 -Force -Scope CurrentUser -SkipPublisherCheck

- name: Run installer Pester tests
shell: pwsh
run: |
$config = New-PesterConfiguration
$config.Run.Path = "./test/windows/install.Tests.ps1"
$config.Run.Throw = $true
$config.Output.Verbosity = "Detailed"
Invoke-Pester -Configuration $config

# ---------------------------------------------------------------------------
# dbt-tools E2E — slow (~3 min), only on push to main.
# Tests dbt CLI fallbacks against real dbt versions (1.8, 1.10, 1.11) and
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,19 @@ into CI pipelines and orchestration DAGs. Precision data tooling for any LLM.
npm install -g altimate-code
```

Or via curl (installs the `altimate` binary to `~/.altimate/bin`):
Or via curl on macOS/Linux (installs the `altimate` binary to `~/.altimate/bin`):

```bash
curl -fsSL https://www.altimate.sh/install | bash
```

The curl install drops a single self-contained binary named `altimate`. The npm install exposes both `altimate` and `altimate-code` on PATH; the curl install only exposes `altimate`. Alpine Linux (musl) and Windows on ARM64 are not currently supported by the standalone binary — use `apk add gcompat` on Alpine, or use WSL on Windows-on-ARM.
On Windows, install the same self-contained binary (to `%USERPROFILE%\.altimate\bin`) from PowerShell — no Node required:

```powershell
powershell -c "irm https://www.altimate.sh/install.ps1 | iex"
```

The standalone install drops a single self-contained binary named `altimate`. The npm install exposes both `altimate` and `altimate-code` on PATH; the standalone install only exposes `altimate`. Alpine Linux (musl) and Windows on ARM64 are not currently supported by the standalone binary — use `apk add gcompat` on Alpine, or use WSL on Windows-on-ARM.

For GitHub, [install the Altimate Code App](https://github.com/apps/altimate-code-agent/installations/new)
to select repositories for interactive agent tasks. Automatic dbt pull-request
Expand Down
18 changes: 18 additions & 0 deletions docs/docs/reference/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,24 @@ Or use a glibc-based base image (`debian`, `ubuntu`, `node:slim`).

Run the x64 build under Windows-on-ARM's x64 emulation layer, or use WSL.

### `altimate` not found after the Windows standalone install

**Symptoms:** `altimate` is unrecognized after running the PowerShell installer.

The installer adds `%USERPROFILE%\.altimate\bin` to your **user** PATH — open a
new terminal so it takes effect. To (re)install or pin a version:

```powershell
# Latest
powershell -c "irm https://www.altimate.sh/install.ps1 | iex"

# Specific version
&([scriptblock]::Create((irm https://www.altimate.sh/install.ps1))) -Version 1.0.180
```

If the binary crashes immediately on an older CPU, the installer normally retries
the baseline (non-AVX2) build automatically; force it with `-ForceBaseline`.

## Log Files

Logs are stored at:
Expand Down
32 changes: 30 additions & 2 deletions docs/docs/reference/windows-wsl.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,35 @@ altimate runs on Windows both natively (via Node.js on Windows) and through WSL

## Windows Native Install

You can install and run altimate directly in PowerShell or Command Prompt without WSL:
### Standalone install (no Node)

The fastest path installs the self-contained binary — the same Bun-compiled
`altimate.exe` we ship on macOS/Linux — straight from GitHub releases. It needs
no Node.js or npm:

```powershell
powershell -c "irm https://www.altimate.sh/install.ps1 | iex"
```

This downloads `altimate.exe` to `%USERPROFILE%\.altimate\bin` and adds that
directory to your user PATH (open a new terminal afterwards). The installer
auto-detects AVX2 support and falls back to the baseline build on older CPUs.

Options (pass via a script block):

```powershell
# Pin a specific version
&([scriptblock]::Create((irm https://www.altimate.sh/install.ps1))) -Version 1.0.180

# Skip the PATH edit
&([scriptblock]::Create((irm https://www.altimate.sh/install.ps1))) -NoPathUpdate
```

`altimate upgrade` self-updates a standalone install in place using the same script.

### npm install

Alternatively, install via npm with Node.js 18+ installed natively on Windows:

```powershell
# PowerShell or CMD — install globally
Expand All @@ -14,7 +42,7 @@ npm install -g altimate-code
altimate
```

This works with Node.js 18+ installed natively on Windows. All core features work in native mode, including warehouse connections, agent modes, and the TUI.
Both paths support all core features in native mode, including warehouse connections, agent modes, and the TUI.

## WSL Setup (Recommended)

Expand Down
Loading
Loading