Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
7d02e24
feat: add sqlite storage and terminal ui
boudra Mar 29, 2026
edcd2fe
fix: update lockfile signatures and Nix hash
github-actions[bot] Mar 29, 2026
0d3f59f
Merge branch 'main' into storage-terminal-ui-dev
boudra Mar 30, 2026
2190910
fix: resolve type errors from main merge
boudra Mar 30, 2026
e026223
fix: update lockfile signatures and Nix hash
github-actions[bot] Mar 30, 2026
266d042
feat(server): built-in service proxy — absorb portless into daemon
boudra Mar 30, 2026
1f6ffa9
Add workspace setup streaming and setup tab
boudra Mar 31, 2026
806079c
Emit running state when workspace setup begins
boudra Mar 31, 2026
5b3ec57
feat: service proxy, health monitor, hover card, and homepage section
boudra Apr 1, 2026
d8243bf
WIP: snapshot workspace execution refactor baseline
boudra Apr 1, 2026
a7d5ab2
WIP: workspace execution refactor + notification routing + setup stor…
boudra Apr 1, 2026
f1ffecf
Merge branch 'storage-terminal-ui-dev' into dev
boudra Apr 1, 2026
d75dd33
Merge branch 'investigate/portless' into dev
boudra Apr 1, 2026
59cb4d7
fix: resolve type errors and test failures from branch integration
boudra Apr 1, 2026
255270b
fix: update lockfile signatures and Nix hash
github-actions[bot] Apr 1, 2026
060f3d4
refactor: remove terminal agent concept entirely
boudra Apr 2, 2026
73e6a42
Merge remote-tracking branch 'origin/main' into dev
boudra Apr 2, 2026
68c8efc
Merge branch 'dev' of github.com:getpaseo/paseo into dev
boudra Apr 2, 2026
f1ebe51
fix: update lockfile signatures and Nix hash
github-actions[bot] Apr 2, 2026
b730d83
fix: deduplicate projects by git remote and detect worktree workspaces
boudra Apr 2, 2026
34c27fe
refactor: simplify workspace setup dialog to single-step chat-first f…
boudra Apr 2, 2026
c4c17df
Merge branch 'main' of github.com:getpaseo/paseo into dev
boudra Apr 2, 2026
86cee8e
Merge branch 'dev' of github.com:getpaseo/paseo into dev
boudra Apr 2, 2026
59bc3bd
Merge remote-tracking branch 'origin/main' into dev
boudra Apr 3, 2026
5d5a79a
fix: update lockfile signatures and Nix hash
github-actions[bot] Apr 3, 2026
449a4b4
Support PowerShell and resolve workspaces by directory path
boudra Apr 3, 2026
2ca7dd7
Tweak new tab button: larger icon, foreground hover, more padding
boudra Apr 3, 2026
5e1b24b
refactor(app): remove launcher tabs from workspace flow
boudra Apr 4, 2026
fcfb9c9
Merge branch 'main' into dev
boudra Apr 5, 2026
2dd597f
Harden SQLite migration and apply post-merge fixes
boudra Apr 5, 2026
8e482b1
fix: use numeric workspace ID for worktree setup tracking and improve…
boudra Apr 5, 2026
4dca672
Restore features lost during main merge and fix workspace setup flow
boudra Apr 5, 2026
76a9c6f
Merge branch 'main' into merge/main-into-dev
boudra Apr 5, 2026
5f0b6e7
fix: update lockfile signatures and Nix hash
github-actions[bot] Apr 5, 2026
cc6b0f8
fix: remove duplicate imports in daemon-client.ts
boudra Apr 5, 2026
ce821af
fix: harden migration/reconciliation and fix legacy import project gr…
boudra Apr 2, 2026
25213ce
server: cache workspace shortstat and warm in background
boudra Apr 2, 2026
8f83876
fix(stream): restore live timeline emission and preserve timeline events
boudra Apr 2, 2026
c6e8774
fix: reconcile display names for worktrees, not just checkouts
boudra Apr 5, 2026
6362d42
feat: new workspace screen with sticky search combobox design
boudra Apr 6, 2026
d3e5d69
fix: optimistic archiving/closing and tab UX improvements
boudra Apr 6, 2026
8d4d445
fix: migrate workspace/project IDs to string and widen schema enums
boudra Apr 6, 2026
93b2199
fix: emit workspace update after shortstat cache warm
boudra Apr 6, 2026
dc77202
fix: use source field in package.json exports instead of array
boudra Apr 6, 2026
5d09f74
fix: revert getCurrentPathname regression and hide startup splash on web
boudra Apr 6, 2026
fc55eaf
fix: prevent base64 misinterpretation of numeric workspace IDs
boudra Apr 6, 2026
6eb26f8
fix: keep composer text visible during workspace creation
boudra Apr 6, 2026
3390235
refactor: replace model tooltip with inline description for opencode/pi
boudra Apr 6, 2026
eabd561
remove monospace font from command text
boudra Apr 6, 2026
f75e28a
feat: add CI check status to workspace sidebar and hover card
boudra Apr 6, 2026
5d1b338
fix: only confirm archive when agent is running
boudra Apr 6, 2026
6e5cad8
feat: service route branch handling, workspace hover card redesign, a…
boudra Apr 6, 2026
7173342
feat: replace launcher panel with direct tab creation, use directory-…
boudra Apr 6, 2026
7b19dd7
feat: add service start capability with health monitoring
boudra Apr 6, 2026
07618f2
Extract PrBadge component and refactor workspace hover card
boudra Apr 6, 2026
65f8823
Merge remote-tracking branch 'origin/main' into merge/main-into-dev
boudra Apr 8, 2026
666d3fe
Merge remote-tracking branch 'origin/main' into merge/main-into-dev
boudra Apr 8, 2026
cefc189
Merge remote-tracking branch 'origin/main' into merge/main-into-dev
boudra Apr 8, 2026
529e743
chore: update package-lock.json with expo, react, and react-native de…
boudra Apr 8, 2026
5cf806d
fix: update lockfile signatures and Nix hash
github-actions[bot] Apr 8, 2026
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
162 changes: 162 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# Contributing to Paseo

Thanks for taking the time to contribute.

## Before you start

Please read these first:

- [README.md](README.md)
- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)
- [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md)
- [docs/CODING_STANDARDS.md](docs/CODING_STANDARDS.md)
- [docs/TESTING.md](docs/TESTING.md)
- [CLAUDE.md](CLAUDE.md)

## What is most helpful

The highest-signal contributions right now are:

- bug fixes
- regression fixes
- docs improvements
- packaging / platform fixes
- focused UX improvements that fit the existing product direction
- tests that lock down important behavior

## Discuss large changes first

If you want to add a major feature, change core UX, introduce a new surface, or bring in a new architectural concept, please open an issue or start a conversation first.

Even if the code is good, large unsolicited PRs are unlikely to be merged if they set product direction without prior alignment.

In short:

- small, focused PRs: great
- large product-shaping PRs without discussion: probably not

## Scope expectations

Please keep PRs narrow.

Good:

- fix one bug
- improve one flow
- add one focused panel or command
- tighten one piece of UI

Bad:

- combine multiple product ideas in one PR
- bundle unrelated refactors with a feature
- sneak in roadmap decisions

If a contribution contains multiple ideas, split it up.

## Product fit matters

Paseo is an opinionated product.

When reviewing contributions, the bar is not just:

- is this useful?
- is this well implemented?

It is also:

- does this fit Paseo?
- does this preserve the product's current direction?
- does this increase long-term complexity in a way that is worth it?

## Development setup

### Prerequisites

- Node.js matching `.tool-versions`
- npm workspaces

### Start local development

```bash
npm run dev
```

Useful commands:

```bash
npm run dev:server
npm run dev:app
npm run dev:desktop
npm run dev:website
npm run cli -- ls -a -g
```

Read [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for build-sync gotchas, local state, ports, and daemon details.

## Testing and verification

At minimum, run the checks relevant to your change.

Common checks:

```bash
npm run typecheck
npm run test --workspaces --if-present
```

Important rules:

- always run `npm run typecheck` after changes
- tests should be deterministic
- prefer real dependencies over mocks when possible
- do not make breaking WebSocket / protocol changes
- app and daemon versions in the wild lag each other, so compatibility matters

If you touch protocol or shared client/server behavior, read the compatibility notes in [CLAUDE.md](CLAUDE.md).

## Coding standards

Paseo has explicit standards. Please follow them.

Highlights:

- keep complexity low
- avoid "while I'm at it" cleanup
- no `any`
- prefer object parameters over positional argument lists
- preserve behavior unless the change is explicitly meant to change behavior
- collocate tests with implementation

The full guide lives in [docs/CODING_STANDARDS.md](docs/CODING_STANDARDS.md).

## PR checklist

Before opening a PR, make sure:

- the change is focused
- the PR description explains what changed and why
- relevant docs were updated if needed
- typecheck passes
- tests pass, or you clearly explain what could not be run
- the change does not accidentally bundle unrelated product ideas

## Communication

If you are unsure whether something fits, ask first.

That is especially true for:

- new core UX
- naming / terminology changes
- new extension points
- new orchestration models
- anything that would be hard to remove later

Early alignment is much better than a large PR that is expensive for everyone to unwind.

## Forks are fine

If you want to explore a different product direction, a fork is completely fine.

Paseo is open source on purpose. Not every idea needs to land in the main repo to be valuable.
19 changes: 19 additions & 0 deletions docs/DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,25 @@ In worktrees or with `npm run dev`, ports may differ. Never assume defaults.

Check `$PASEO_HOME/daemon.log` for trace-level logs.

### Database queries

Run arbitrary SQL against the SQLite database:

```bash
# Show table row counts
npm run db:query

# Run any SQL
npm run db:query -- "SELECT agent_id, title, last_status FROM agent_snapshots"
npm run db:query -- "SELECT agent_id, seq, item_kind FROM agent_timeline_rows ORDER BY committed_at DESC LIMIT 10"

# Point at a specific DB directory
npm run db:query -- --db /path/to/db "SELECT ..."
```

Auto-detects the running dev daemon's database from `/tmp/paseo-dev.*`, `PASEO_HOME`, or `~/.paseo/db`.
Pass either a DB directory or a `paseo.sqlite` file to `--db`. The script opens the database directly in read-only mode.

## Build sync gotchas

### Relay → Daemon
Expand Down
Loading
Loading