Files
vibe-kanban/README.md
Louis Knight-Webb e8ff40d5a4 Remote host + username opening for VSCode based IDEs (#1134)
* feat: add remote VSCode SSH support for remote server deployments

Add support for opening VSCode via SSH when Vibe Kanban is running on a remote server.
This allows users accessing the web UI through a tunnel to open projects/tasks in their
local VSCode which connects to the remote server via SSH.

Backend changes:
- Add remote_ssh_host and remote_ssh_user fields to EditorConfig (v3)
- Create config v8 with migration from v7
- Modify EditorConfig.open_file() to return URL when remote mode is enabled
- Update API routes to return OpenEditorResponse with optional URL
- Generate vscode:// URL scheme for remote SSH connections

Frontend changes:
- Update API client to handle OpenEditorResponse type
- Modify hooks to open URLs in new tabs when returned
- Add UI fields in settings for remote SSH configuration

When remote_ssh_host is configured, clicking "Open in VSCode" generates a URL like:
vscode://vscode-remote/ssh-remote+user@host/path/to/project

This works for both project-level and task-level editor opening.

* feat: extend remote SSH support to Cursor and Windsurf editors

Extend the remote SSH feature to support Cursor and Windsurf editors,
which are VSCode forks that use the same remote SSH protocol.

Changes:
- Update EditorConfig.open_file() to generate cursor:// and windsurf:// URLs
- Show SSH configuration fields in settings for all three VSCode-based editors
- Use same vscode-remote SSH URL pattern for all three editors

When remote_ssh_host is configured, supported editors generate URLs like:
- vscode://vscode-remote/ssh-remote+user@host/path
- cursor://vscode-remote/ssh-remote+user@host/path
- windsurf://vscode-remote/ssh-remote+user@host/path

* fix: address clippy linting issues

- Fix uninlined format args in v3.rs
- Add allow attributes for re-exported types in v5-v7

* docs: add remote SSH configuration documentation

Add comprehensive documentation for the remote SSH editor feature:

- Expand Editor Integration section in global-settings.mdx
  - Document when to use remote SSH (tunnels, systemctl services, remote deployments)
  - Explain configuration fields (remote_ssh_host, remote_ssh_user)
  - Detail how the feature works with protocol URLs
  - List prerequisites for SSH access and VSCode Remote-SSH extension
  - Support for VSCode, Cursor, and Windsurf editors

- Add Remote Deployment section to README.md
  - Quick guide for setting up remote SSH access
  - Link to detailed documentation
  - Include in feature list

This documentation helps users understand and configure the remote SSH
feature when running Vibe Kanban on remote servers accessed via browser.

* remove package-lock in favour of pnpm lock

* rollback config version increment

* re-impl remote URL

* Update i18n for general settings (vibe-kanban 4a1a3ae1)

frontend/src/pages/settings/GeneralSettings.tsx

Find any strings here that haven't been i18n'd and i18n them

* add line number/col to the end of vscode-remote file paths

* handle response url when opening file in ide from DiffCard

* update remote-ssh guidance in readme

* add image to global settings docs

---------

Co-authored-by: Stephan Fitzpatrick <stephan@knowsuchagency.com>
Co-authored-by: Britannio Jarrett <britanniojarrett@gmail.com>
2025-10-31 12:39:58 +00:00

140 lines
5.6 KiB
Markdown

<p align="center">
<a href="https://vibekanban.com">
<picture>
<source srcset="frontend/public/vibe-kanban-logo-dark.svg" media="(prefers-color-scheme: dark)">
<source srcset="frontend/public/vibe-kanban-logo.svg" media="(prefers-color-scheme: light)">
<img src="frontend/public/vibe-kanban-logo.svg" alt="Vibe Kanban Logo">
</picture>
</a>
</p>
<p align="center">Get 10X more out of Claude Code, Gemini CLI, Codex, Amp and other coding agents...</p>
<p align="center">
<a href="https://www.npmjs.com/package/vibe-kanban"><img alt="npm" src="https://img.shields.io/npm/v/vibe-kanban?style=flat-square" /></a>
<a href="https://github.com/BloopAI/vibe-kanban/blob/main/.github/workflows/publish.yml"><img alt="Build status" src="https://img.shields.io/github/actions/workflow/status/BloopAI/vibe-kanban/.github%2Fworkflows%2Fpublish.yml" /></a>
<a href="https://deepwiki.com/BloopAI/vibe-kanban"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
</p>
![](frontend/public/vibe-kanban-screenshot-overview.png)
## Overview
AI coding agents are increasingly writing the world's code and human engineers now spend the majority of their time planning, reviewing, and orchestrating tasks. Vibe Kanban streamlines this process, enabling you to:
- Easily switch between different coding agents
- Orchestrate the execution of multiple coding agents in parallel or in sequence
- Quickly review work and start dev servers
- Track the status of tasks that your coding agents are working on
- Centralise configuration of coding agent MCP configs
- Open projects remotely via SSH when running Vibe Kanban on a remote server
You can watch a video overview [here](https://youtu.be/TFT3KnZOOAk).
## Installation
Make sure you have authenticated with your favourite coding agent. A full list of supported coding agents can be found in the [docs](https://vibekanban.com/docs). Then in your terminal run:
```bash
npx vibe-kanban
```
## Documentation
Please head to the [website](https://vibekanban.com/docs) for the latest documentation and user guides.
## Support
We use [GitHub Discussions](https://github.com/BloopAI/vibe-kanban/discussions) for feature requests. Please open a discussion to create a feature request. For bugs please open an issue on this repo.
## Contributing
We would prefer that ideas and changes are first raised with the core team via [GitHub Discussions](https://github.com/BloopAI/vibe-kanban/discussions) or Discord, where we can discuss implementation details and alignment with the existing roadmap. Please do not open PRs without first discussing your proposal with the team.
## Development
### Prerequisites
- [Rust](https://rustup.rs/) (latest stable)
- [Node.js](https://nodejs.org/) (>=18)
- [pnpm](https://pnpm.io/) (>=8)
Additional development tools:
```bash
cargo install cargo-watch
cargo install sqlx-cli
```
Install dependencies:
```bash
pnpm i
```
### Running the dev server
```bash
pnpm run dev
```
This will start the backend. A blank DB will be copied from the `dev_assets_seed` folder.
### Building the frontend
To build just the frontend:
```bash
cd frontend
pnpm build
```
### Build from source
1. Run `build-npm-package.sh`
2. In the `npx-cli` folder run `npm pack`
3. You can run your build with `npx [GENERATED FILE].tgz`
### Environment Variables
The following environment variables can be configured at build time or runtime:
| Variable | Type | Default | Description |
|----------|------|---------|-------------|
| `GITHUB_CLIENT_ID` | Build-time | `Ov23li9bxz3kKfPOIsGm` | GitHub OAuth app client ID for authentication |
| `POSTHOG_API_KEY` | Build-time | Empty | PostHog analytics API key (disables analytics if empty) |
| `POSTHOG_API_ENDPOINT` | Build-time | Empty | PostHog analytics endpoint (disables analytics if empty) |
| `BACKEND_PORT` | Runtime | `0` (auto-assign) | Backend server port |
| `FRONTEND_PORT` | Runtime | `3000` | Frontend development server port |
| `HOST` | Runtime | `127.0.0.1` | Backend server host |
| `DISABLE_WORKTREE_ORPHAN_CLEANUP` | Runtime | Not set | Disable git worktree cleanup (for debugging) |
**Build-time variables** must be set when running `pnpm run build`. **Runtime variables** are read when the application starts.
#### Custom GitHub OAuth App (Optional)
By default, Vibe Kanban uses Bloop AI's GitHub OAuth app for authentication. To use your own GitHub app for self-hosting or custom branding:
1. Create a GitHub OAuth App at [GitHub Developer Settings](https://github.com/settings/developers)
2. Enable "Device Flow" in the app settings
3. Set scopes to include `user:email,repo`
4. Build with your client ID:
```bash
GITHUB_CLIENT_ID=your_client_id_here pnpm run build
```
### Remote Deployment
When running Vibe Kanban on a remote server (e.g., via systemctl, Docker, or cloud hosting), you can configure your editor to open projects via SSH:
1. **Access via tunnel**: Use Cloudflare Tunnel, ngrok, or similar to expose the web UI
2. **Configure remote SSH** in Settings → Editor Integration:
- Set **Remote SSH Host** to your server hostname or IP
- Set **Remote SSH User** to your SSH username (optional)
3. **Prerequisites**:
- SSH access from your local machine to the remote server
- SSH keys configured (passwordless authentication)
- VSCode Remote-SSH extension
When configured, the "Open in VSCode" buttons will generate URLs like `vscode://vscode-remote/ssh-remote+user@host/path` that open your local editor and connect to the remote server.
See the [documentation](https://vibekanban.com/docs/configuration-customisation/global-settings#remote-ssh-configuration) for detailed setup instructions.