Files

133 lines
5.5 KiB
Markdown
Raw Permalink Normal View History

<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>
2025-06-14 15:14:08 -04:00
<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>
2025-06-14 15:14:08 -04:00
<h1 align="center">
<a href="https://jobs.polymer.co/vibe-kanban?source=github"><strong>We're hiring!</strong></a>
</h1>
![](frontend/public/vibe-kanban-screenshot-overview.png)
2025-06-14 15:14:08 -04:00
## Overview
2025-06-14 15:14:08 -04:00
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:
2025-06-14 15:14:08 -04:00
- 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
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
- Open projects remotely via SSH when running Vibe Kanban on a remote server
2025-06-14 15:14:08 -04:00
You can watch a video overview [here](https://youtu.be/TFT3KnZOOAk).
2025-06-14 15:14:08 -04:00
## Installation
2025-06-14 15:14:08 -04:00
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:
2025-06-14 15:14:08 -04:00
```bash
npx vibe-kanban
2025-06-14 15:14:08 -04:00
```
## Documentation
2025-06-14 15:14:08 -04:00
Please head to the [website](https://vibekanban.com/docs) for the latest documentation and user guides.
## Support
2025-10-03 13:48:27 +01:00
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.
2025-06-14 15:14:08 -04:00
## Contributing
2025-06-14 15:14:08 -04:00
2025-12-04 05:52:54 -05:00
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](https://discord.gg/AC4nwVtJM3), 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.
2025-06-17 09:39:03 -04:00
## Development
2025-06-14 15:14:08 -04:00
### Prerequisites
- [Rust](https://rustup.rs/) (latest stable)
- [Node.js](https://nodejs.org/) (>=18)
- [pnpm](https://pnpm.io/) (>=8)
2025-06-17 09:39:03 -04:00
Additional development tools:
```bash
cargo install cargo-watch
cargo install sqlx-cli
```
Install dependencies:
```bash
pnpm i
```
2025-06-14 15:14:08 -04:00
### Running the dev server
2025-06-14 15:14:08 -04:00
```bash
pnpm run dev
2025-06-14 15:14:08 -04:00
```
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
```
Fix local build for macOS e2e testing (Vibe Kanban) (#1679) * Done! Here's a summary of the changes: ## Changes Made ### `npx-cli/bin/download.js` - Added `LOCAL_DEV_MODE` detection - automatically enabled when R2 placeholders aren't replaced or `VIBE_KANBAN_LOCAL=1` env var is set - Modified `ensureBinary()` to use local binaries from `npx-cli/dist/{platform}/` in local dev mode - Exported `LOCAL_DEV_MODE` and `LOCAL_DIST_DIR` for use by `cli.js` ### `npx-cli/bin/cli.js` - In local dev mode, extracts binaries directly to `npx-cli/dist/{platform}/` instead of global cache - Skips version update check in local dev mode - Shows "(local dev)" label in startup message when running locally ### `local-build.sh` - Added instructions at the end showing how to run the local build ## How to test ```bash cd vibe-kanban ./local-build.sh cd npx-cli && node bin/cli.js ``` * Updated the README to reflect the correct local build instructions. * Fixed. Now `LOCAL_DEV_MODE` only activates when the `dist/` directory actually exists, which means: 1. **Local dev** (after `./local-build.sh` creates `npx-cli/dist/`): local mode works 2. **npx** (npm cache has no `dist/` folder): normal R2 download works * Done! The fixes are: 1. **`npx-cli/package.json`**: Added `dist` to the `files` array so local binaries get included in the tarball 2. **`npx-cli/bin/cli.js`**: Added a guard to skip `getLatestVersion()` when R2 URL is a placeholder (starts with `__`) Now the workflow should work: ```bash cd vibe-kanban ./local-build.sh cd npx-cli npm pack npx vibe-kanban-0.0.142.tgz ```
2025-12-29 18:00:23 +00:00
### Build from source (macOS)
Fix local build for macOS e2e testing (Vibe Kanban) (#1679) * Done! Here's a summary of the changes: ## Changes Made ### `npx-cli/bin/download.js` - Added `LOCAL_DEV_MODE` detection - automatically enabled when R2 placeholders aren't replaced or `VIBE_KANBAN_LOCAL=1` env var is set - Modified `ensureBinary()` to use local binaries from `npx-cli/dist/{platform}/` in local dev mode - Exported `LOCAL_DEV_MODE` and `LOCAL_DIST_DIR` for use by `cli.js` ### `npx-cli/bin/cli.js` - In local dev mode, extracts binaries directly to `npx-cli/dist/{platform}/` instead of global cache - Skips version update check in local dev mode - Shows "(local dev)" label in startup message when running locally ### `local-build.sh` - Added instructions at the end showing how to run the local build ## How to test ```bash cd vibe-kanban ./local-build.sh cd npx-cli && node bin/cli.js ``` * Updated the README to reflect the correct local build instructions. * Fixed. Now `LOCAL_DEV_MODE` only activates when the `dist/` directory actually exists, which means: 1. **Local dev** (after `./local-build.sh` creates `npx-cli/dist/`): local mode works 2. **npx** (npm cache has no `dist/` folder): normal R2 download works * Done! The fixes are: 1. **`npx-cli/package.json`**: Added `dist` to the `files` array so local binaries get included in the tarball 2. **`npx-cli/bin/cli.js`**: Added a guard to skip `getLatestVersion()` when R2 URL is a placeholder (starts with `__`) Now the workflow should work: ```bash cd vibe-kanban ./local-build.sh cd npx-cli npm pack npx vibe-kanban-0.0.142.tgz ```
2025-12-29 18:00:23 +00:00
1. Run `./local-build.sh`
2. Test with `cd npx-cli && node bin/cli.js`
### Environment Variables
The following environment variables can be configured at build time or runtime:
| Variable | Type | Default | Description |
|----------|------|---------|-------------|
| `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) |
| `PORT` | Runtime | Auto-assign | **Production**: Server port. **Dev**: Frontend port (backend uses PORT+1) |
| `BACKEND_PORT` | Runtime | `0` (auto-assign) | Backend server port (dev mode only, overrides PORT+1) |
| `FRONTEND_PORT` | Runtime | `3000` | Frontend dev server port (dev mode only, overrides PORT) |
| `HOST` | Runtime | `127.0.0.1` | Backend server host |
| `MCP_HOST` | Runtime | Value of `HOST` | MCP server connection host (use `127.0.0.1` when `HOST=0.0.0.0` on Windows) |
| `MCP_PORT` | Runtime | Value of `BACKEND_PORT` | MCP server connection port |
| `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.
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
### 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.