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
5 changes: 3 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ name: release
#
# Release notes come from the matching CHANGELOG.md section (see that file).
#
# macOS ships unsigned (Gatekeeper warning); Linux AppImage needs no signing.
# Windows is intentionally excluded until Milestone 2 (windows.rs is stubbed).
# macOS ships unsigned (Gatekeeper warning); Linux AppImage needs no signing;
# Windows ships an unsigned NSIS installer (SmartScreen warning accepted).

on:
push:
Expand Down Expand Up @@ -91,6 +91,7 @@ jobs:
- { os: macos-latest, target: aarch64-apple-darwin }
- { os: ubuntu-22.04, target: x86_64-unknown-linux-gnu }
- { os: ubuntu-22.04-arm, target: aarch64-unknown-linux-gnu }
- { os: windows-latest, target: x86_64-pc-windows-msvc }
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/windows-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: windows-check
# Fast Windows compile gate: type-checks every Windows #[cfg] branch on a real
# windows-latest runner (macOS/Linux `cargo check` never compiles the Windows
# arms). No signing secrets, no bundling — just `cargo check`.
on:
push:
branches: [main]
paths: ["src-tauri/**", ".github/workflows/windows-check.yml", "package.json", "package-lock.json"]
pull_request:
paths: ["src-tauri/**", ".github/workflows/windows-check.yml", "package.json", "package-lock.json"]
workflow_dispatch:

# Least-privilege GITHUB_TOKEN: this workflow only reads the repo.
permissions:
contents: read

jobs:
cargo-check:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with: { targets: "x86_64-pc-windows-msvc" }
- uses: actions/setup-node@v4
with: { node-version: 20 }
- name: Build frontend
# generate_context!() embeds the frontend dist/, so it must exist
# before cargo check even though we don't bundle here.
run: |
npm ci
npm run build
- name: cargo check
run: cargo check --manifest-path src-tauri/Cargo.toml --target x86_64-pc-windows-msvc
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ short and user-facing: `- **Thing** — what the user gets.`

## [Unreleased]

## [0.5.0] - 2026-07-22

- **Windows support (x64)** — Vector now builds, runs, and self-updates on Windows 10/11 via an NSIS installer. Agent directory tracking, reveal-in-Explorer, open-in-default-app, clipboard file paste, editor discovery, and PowerShell/pwsh shells are all wired up.
- **Known limitation** — on Windows, a *shell* pane's directory doesn't update live as you `cd` (it refreshes when you open the shell panel); agent panes are unaffected. Live shell tracking is a planned follow-up.
- **Note** — Windows builds are unsigned; SmartScreen shows a "Windows protected your PC" prompt on first launch (click *More info → Run anyway*).

## [0.4.2] - 2026-07-21

- **Security fixes** — updated dependencies to close all known advisories (markdown/diff preview XSS via DOMPurify/Mermaid, a Tauri IPC issue, and a TLS certificate-parsing bug).
Expand Down
3 changes: 2 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

## What Vector is

A Tauri v2 desktop app (macOS + Linux; Windows in progress) that replaces the shell inside terminal tabs with AI coding agents (Claude Code, Codex, etc.). Each tab owns a PTY running the agent's CLI, rendered into xterm.js. See `README.md` for user-facing behavior and the full agent list. OS-divergent logic lives behind `src-tauri/src/platform/` (compiler-enforced per-OS surface); the Linux port is documented in `docs/superpowers/plans/2026-07-20-linux-port-milestone-1.md`.
A Tauri v2 desktop app (macOS, Linux, Windows) that replaces the shell inside terminal tabs with AI coding agents (Claude Code, Codex, etc.). Each tab owns a PTY running the agent's CLI, rendered into xterm.js. See `README.md` for user-facing behavior and the full agent list. OS-divergent logic lives behind `src-tauri/src/platform/` (compiler-enforced per-OS surface); the Linux port is documented in `docs/superpowers/plans/2026-07-20-linux-port-milestone-1.md`.

## Build / run / release

Expand Down Expand Up @@ -76,6 +76,7 @@ A prior attempt to rewrite CUF (`ESC[nC`) into literal spaces with SGR-inverse/b
- **Bundle identifier** `dev.vector.app` ends in `.app` (Tauri warns); changing it invalidates the updater for existing installs.
- **Pinned versions**: all `package.json` deps are pinned exactly (no `^`/`~`). Dependabot alerts have been addressed by pinning. Don't loosen constraints to quiet a warning.
- **License**: PolyForm Noncommercial 1.0.0. Commercial use requires a separate license.
- **Windows shell cwd**: Windows ships without the OSC-7 shell trampoline (macOS/Linux use zsh ZDOTDIR / bash PROMPT_COMMAND). `read_agent_cwd` (PEB walk in `platform/windows.rs::process_cwd`) covers agent panes and shell-panel-expand; a shell pane's live cwd does not follow `cd`. Deferred follow-up: a PowerShell `prompt`-function trampoline.

## Updating this file (meta-rule)

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ not a shell prompt.

**Linux** (x86_64/aarch64, WebKitGTK) — grab the `.AppImage` or `.deb` from [Releases](https://github.com/avram19/vector/releases); for the AppImage, `chmod +x Vector_*.AppImage` and run it.

**Windows** (x64) — download the `.exe` installer from [Releases](https://github.com/avram19/vector/releases) and run it. The build is unsigned, so SmartScreen warns on first launch — click **More info → Run anyway**.

Full install steps and first-run notes: [docs → Getting Started → Install](https://avram19.github.io/vector/getting-started/install/).

## Build from source
Expand Down
Loading
Loading