Skip to content
Closed
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
24 changes: 20 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
name: CI

defaults:
run:
shell: bash

on:
push:
branches: [main]
paths:
- "src/**"
- "src-tauri/**"
- "crates/**"
- "package.json"
- "package-lock.json"
- ".github/workflows/ci.yml"
pull_request:
branches: [main]
paths:
- "src/**"
- "src-tauri/**"
- "crates/**"
- "package.json"
- "package-lock.json"
- ".github/workflows/ci.yml"

jobs:
Expand All @@ -33,6 +43,12 @@ jobs:
- platform: macos-latest
kind: rust
task: test
- platform: windows-latest
kind: js
task: test
- platform: windows-latest
kind: rust
task: test

name: ${{ matrix.kind }} / ${{ matrix.task }} / ${{ matrix.platform }}
runs-on: ${{ matrix.platform }}
Expand All @@ -56,21 +72,21 @@ jobs:
uses: cargo-bins/cargo-binstall@main

- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above.
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y git
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

- name: Install git and jj CLI (macOS)
if: matrix.platform == 'macos-latest'
if: runner.os == 'macOS'
run: |
brew update
brew install git jj
echo "$(brew --prefix)/bin" >> $GITHUB_PATH

- name: Install jj CLI (ubuntu)
if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above.
- name: Install jj CLI (non-macOS)
if: runner.os != 'macOS'
run: |
cargo binstall --strategies crate-meta-data jj-cli
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
Expand Down
25 changes: 20 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
name: Release

defaults:
run:
shell: bash

on:
workflow_dispatch:

Expand Down Expand Up @@ -59,15 +63,20 @@ jobs:
matrix:
include:
- platform: "macos-latest" # for Arm based macs (M1 and above).
target: "aarch64-apple-darwin"
args: "--target aarch64-apple-darwin"
- platform: "macos-latest" # for Intel based macs.
target: "x86_64-apple-darwin"
args: "--target x86_64-apple-darwin"
# - platform: "macos-latest"
# target: "universal-apple-darwin"
# args: "--target universal-apple-darwin"
# - platform: 'ubuntu-22.04'
# args: ''
# - platform: 'windows-latest'
# args: ''
- platform: "ubuntu-22.04"
target: "x86_64-unknown-linux-gnu"
args: "--target x86_64-unknown-linux-gnu"
- platform: "windows-latest"
target: "x86_64-pc-windows-msvc"
args: "--target x86_64-pc-windows-msvc"
runs-on: ${{ matrix.platform }}
environment: prod
steps:
Expand All @@ -82,7 +91,13 @@ jobs:
- name: install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
targets: ${{ matrix.target }}

- name: install dependencies (ubuntu only)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

- uses: Swatinem/rust-cache@v2
with:
Expand Down
11 changes: 9 additions & 2 deletions web/docs/getting-started/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,14 @@ sidebar_position: 1

_How to install and set up Treq on your machine._

Download the latest version for macOS from the GitHub Releases page.
Download the latest version for your platform from the GitHub Releases page.

| Platform | Release target |
|---|---|
| macOS on Apple silicon | `aarch64-apple-darwin` |
| macOS on Intel | `x86_64-apple-darwin` |
| Windows | `x86_64-pc-windows-msvc` |
| Linux | `x86_64-unknown-linux-gnu` |

[View Releases](https://github.com/Ziinc/treq/releases)

Expand All @@ -24,7 +31,7 @@ Click **Select Repository** or the folder icon, and navigate to a Git repository

## Creating Your First Workspace

1. Click **New Workspace** (or press `Cmd+N`) to open the creation dialog.
1. Click **New Workspace**. You can also press `Cmd+N` on macOS or `Ctrl+N` on Windows and Linux.
2. Fill in a plan title describing what you're working on.
3. Adjust the branch name if needed.
4. Click **Create Workspace** to save.
Expand Down
2 changes: 1 addition & 1 deletion web/docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ slug: /

# Treq

_Technical overview of Treq's workspace model, runtime behavior, and macOS-specific assumptions._
_Technical overview of Treq's workspace model and runtime behavior on macOS, Windows, and Linux._

Treq is a local review and workspace manager for Git repositories. You open a Git repo, create workspaces for parallel work, and push through normal Git remotes. You do not need to know [Jujutsu](https://jj-vcs.github.io/jj/latest/) to use Treq.

Expand Down
2 changes: 1 addition & 1 deletion web/docs/reference/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Do not mix unrelated cleanup into feature work. Treq has several layers with dif

Docs follow the local style guide in `web/STYLE_GUIDE.md`. Write direct technical prose. Avoid marketing language. Use tables for dense reference data.

Public docs should describe supported macOS behavior unless another platform is explicitly documented. Avoid exposing implementation details that users cannot act on.
Public docs should describe supported macOS, Windows, and Linux behavior. Call out platform-specific behavior when it differs. Avoid exposing implementation details that users cannot act on.

## Learn More

Expand Down
13 changes: 13 additions & 0 deletions web/e2e/navigation.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@ const sidebar = (page: Page) => page.getByRole('navigation', { name: 'Docs sideb
const footer = (page: Page) => page.getByRole('contentinfo');

test.describe('Navbar navigation', () => {
test('shows desktop platform availability', async ({ page }) => {
await page.goto('/');
await expect(page.getByLabel('macOS')).toBeVisible();
await expect(page.getByLabel('Windows')).toBeVisible();
await expect(page.getByLabel('Linux')).toBeVisible();
});

test('Learn link navigates to learn section', async ({ page }) => {
await page.goto('/');
await nav(page).getByRole('link', { name: 'Learn' }).click();
Expand All @@ -23,6 +30,12 @@ test.describe('Navbar navigation', () => {
await expect(page.getByRole('heading', { name: 'Installation and Quickstart', level: 1 })).toBeVisible();
});

test('installation lists each release target', async ({ page }) => {
await page.goto('/docs/getting-started/installation');
await expect(page.getByRole('cell', { name: 'x86_64-pc-windows-msvc' })).toBeVisible();
await expect(page.getByRole('cell', { name: 'x86_64-unknown-linux-gnu' })).toBeVisible();
});

test('logo navigates home from a docs page', async ({ page }) => {
await page.goto('/');
await nav(page).getByRole('link', { name: 'Learn' }).click();
Expand Down
8 changes: 7 additions & 1 deletion web/src/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ function HomepageHeader() {
<path d="M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516s1.52.087 2.475-1.258.762-2.391.728-2.43m3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422s1.675-2.789 1.698-2.854-.597-.79-1.254-1.157a3.7 3.7 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56s.625 1.924 1.273 2.796c.576.984 1.34 1.667 1.659 1.899s1.219.386 1.843.067c.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758q.52-1.185.473-1.282"/>
<path d="M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516s1.52.087 2.475-1.258.762-2.391.728-2.43"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" className={styles.platformIcon} viewBox="0 0 16 16" aria-label="Windows">
<path d="M.5 2.2 6.8 1.3v6.1H.5V2.2Zm7.2-1L15.5.1v7.3H7.7V1.2ZM.5 8.3h6.3v6.2l-6.3-.9V8.3Zm7.2 0h7.8v7.4l-7.8-1.1V8.3Z"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" className={styles.platformIcon} viewBox="0 0 16 16" aria-label="Linux">
<path d="M8.2.2c-1.8 0-2.8 1.6-2.8 3.7 0 .8.1 1.4-.2 2.1-.3.6-1 1.1-1.5 1.8-.6.8-1 1.8-1.2 2.8-.2 1.1.2 1.8.8 1.9.5.1 1-.3 1.4-.8.7 1 1.8 1.6 3.3 1.6 1.4 0 2.6-.6 3.3-1.6.4.5.9.9 1.4.8.6-.1 1-1 .7-2.1-.2-1-.6-1.9-1.2-2.7-.5-.7-1.2-1.2-1.5-1.8-.3-.7-.1-1.3-.1-2C10.7 1.7 9.8.2 8.2.2ZM6.9 3.4c.3 0 .5.3.5.7s-.2.7-.5.7-.5-.3-.5-.7.2-.7.5-.7Zm2.3 0c.3 0 .5.3.5.7s-.2.7-.5.7-.5-.3-.5-.7.2-.7.5-.7ZM8 4.7c.5 0 .9.2.9.5s-.4.5-.9.5-.9-.2-.9-.5.4-.5.9-.5Zm-2.9 5.8c.6.4 1.6.7 2.9.7 1.2 0 2.2-.3 2.9-.7-.4 1.1-1.4 1.8-2.9 1.8s-2.5-.7-2.9-1.8Z"/>
</svg>
</div>
</div>
</div>
Expand Down Expand Up @@ -322,7 +328,7 @@ const SOFTWARE_APP_SCHEMA = {
'AI Workspace Manager for busy developers. The Open Source Graphite Alternative.',
url: 'https://treq.dev',
applicationCategory: 'DeveloperApplication',
operatingSystem: 'macOS',
operatingSystem: ['macOS', 'Windows', 'Linux'],
offers: {
'@type': 'Offer',
price: '0',
Expand Down
4 changes: 2 additions & 2 deletions web/static/llms.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Treq

> Treq is an open-source macOS app for managing parallel AI development: create isolated Git workspaces per branch, run coding agents inside them, then review, commit, and merge changes without leaving the app.
> Treq is an open-source desktop app for macOS, Windows, and Linux. Create isolated Git workspaces per branch, run coding agents inside them, then review, commit, and merge changes without leaving the app.

## Getting Started

- [Installation and Quickstart](https://treq.dev/docs/getting-started/installation.md): Download Treq for macOS, open a repository, create a workspace, launch an agent, and commit and push changes.
- [Installation and Quickstart](https://treq.dev/docs/getting-started/installation.md): Download Treq for macOS, Windows, or Linux, open a repository, create a workspace, launch an agent, and commit and push changes.

## Concepts

Expand Down
Loading