vibe-kanban-alternative 0.2.26 → 0.2.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,279 +1,182 @@
1
- <p align="center">
2
- <a href="https://dexloom.mintlify.app">
3
- <picture>
4
- <source srcset="packages/public/vibe-kanban-logo-dark.svg" media="(prefers-color-scheme: dark)">
5
- <source srcset="packages/public/vibe-kanban-logo.svg" media="(prefers-color-scheme: light)">
6
- <img src="packages/public/vibe-kanban-logo.svg" alt="Vibe Kanban Logo">
7
- </picture>
8
- </a>
9
- </p>
1
+ # Vibe Kanban
10
2
 
11
- <p align="center">Get 10X more out of Claude Code, Gemini CLI, Codex, Amp and other coding agents...</p>
3
+ > A visual project management tool for developers that integrates with git repositories and coding agents like Claude Code and Amp.
12
4
 
13
- > **Fork by [evertonekacy](https://github.com/evertonekacy)** — adds [Gitea/Forgejo support](#gitea--forgejo-support) alongside GitHub, so you can manage PRs on self-hosted instances.
5
+ ## Quick Start
14
6
 
15
- ## What's different in this fork
16
-
17
- This fork targets self-hosted development workflows where GitHub is not the primary host. Changes are additive — all upstream features remain intact.
18
-
19
- - **Gitea / Forgejo PR support** — create PRs, check status, and fetch comments on any Gitea/Forgejo instance via its REST API. Routing is automatic: remotes pointing at `github.com` use the GitHub provider (`gh` CLI); remotes whose host matches the configured Gitea base URL use the Gitea provider. No manual switching needed.
20
- - **Secure token storage** — the Gitea token lives in `~/.vibe-kanban/gitea.toml` (or the `GITEA_TOKEN` env var), never in the app config or the repository.
21
-
22
- ## Gitea / Forgejo Support
23
-
24
- ### Setup
25
-
26
- 1. Create a **personal access token** on your Gitea/Forgejo instance (scope: `Projects: read/write` or broader as needed).
27
- 2. Store the token outside the repo:
28
-
29
- ```toml
30
- # ~/.vibe-kanban/gitea.toml
31
- token = "your-personal-access-token"
32
- ```
33
-
34
- Alternatively, set the environment variable `GITEA_TOKEN` (takes precedence if both are set).
35
-
36
- 3. Open **Settings → Gitea** in the app and fill in:
37
- - **Base URL** — e.g. `https://gitea.example.com` (trailing slash optional)
38
- - **Default branch** — e.g. `main` (used when a PR's base branch is unspecified)
39
-
40
- ### How routing works
41
-
42
- The app inspects the `git remote` URL of each project:
43
-
44
- | Remote host | Provider used |
45
- |---|---|
46
- | `github.com`, `github.*` (Enterprise) | GitHub (`gh` CLI) |
47
- | matches `gitea_base_url` host | Gitea (REST API) |
48
- | anything else | unsupported (clear error) |
49
-
50
- You can have a board with a mix of GitHub and Gitea projects simultaneously — each project is routed independently.
51
-
52
- ### Limitations
53
-
54
- - Gitea PR creation uses the REST API directly (not a CLI), so no `gh`-specific features (like project-based auto-assignment) apply.
55
- - Comments are fetched from both the issue and PR comment endpoints and merged, matching GitHub's unified comment view.
56
- - Forgejo instances are fully compatible (they share the Gitea API surface used here).
57
- <p align="center">
58
- <a href="https://www.npmjs.com/package/vibe-kanban-indie"><img alt="npm" src="https://img.shields.io/npm/v/vibe-kanban-indie?style=flat-square" /></a>
59
- <a href="https://github.com/dexloom/vibe-kanban-indie/actions/workflows/release-indie.yml"><img alt="Build status" src="https://img.shields.io/github/actions/workflow/status/dexloom/vibe-kanban-indie/release-indie.yml" /></a>
60
- <a href="https://deepwiki.com/BloopAI/vibe-kanban"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
61
- </p>
62
-
63
- <h1 align="center"><strong>vibe-kanban-indie</strong></h1>
64
- <p align="center">
65
- The independent, self-hosted fork of vibe-kanban. One dev, your machine, your
66
- agents — drive a crew of coding agents from the terminal or your phone.
67
- </p>
68
- <p align="center">
69
- Built for a <strong>single-developer process</strong>: no team, no cloud, no
70
- auth. Adds a <a href="#terminal-ui-tui">TUI cockpit</a> and
71
- <a href="#telegram-integration">Telegram channel orchestration</a> on top of
72
- upstream <a href="https://github.com/BloopAI/vibe-kanban">vibe-kanban</a>.
73
- </p>
74
-
75
- ![](packages/public/vibe-kanban-indie-screenshot-overview.png)
76
-
77
- # Welcome to indie version of Vibe-Kanban
78
-
79
- ## Overview
80
-
81
- In a world where software engineers spend most of their time planning and reviewing coding agents, the most impactful way to ship more is to get faster at planning and review.
82
-
83
- `vibe-kanban-indie` is built for this — for a single developer, running entirely on your own machine. Use kanban issues to plan work, then create workspaces where coding agents can execute.
84
-
85
- - **Plan with kanban issues** — create, prioritise, and assign issues on a kanban board
86
- - **Run coding agents in workspaces** — each workspace gives an agent a branch, a terminal, and a dev server
87
- - **Review diffs and leave inline comments** — send feedback directly to the agent without leaving the UI
88
- - **Preview your app** — built-in browser with devtools, inspect mode, and device emulation
89
- - **Switch between 10+ coding agents** — Claude Code, Codex, Gemini CLI, GitHub Copilot, Amp, Cursor, OpenCode, Droid, CCR, and Qwen Code
90
- - **Create pull requests and merge** — open PRs with AI-generated descriptions, review on GitHub, and merge
91
-
92
- ![](packages/public/vibe-kanban-screenshot-workspace.png)
93
-
94
- One command. Describe the work, review the diff, ship it.
7
+ Run vibe kanban instantly without installation:
95
8
 
96
9
  ```bash
97
10
  npx vibe-kanban-indie
98
11
  ```
99
12
 
13
+ This will launch the application locally and open it in your browser automatically.
100
14
 
101
- ## Installation
102
-
103
- Make sure you have authenticated with your favourite coding agent. A full list of supported coding agents can be found in the [docs](https://dexloom.mintlify.app/supported-coding-agents). Then in your terminal run:
15
+ Helpful entrypoints:
104
16
 
105
17
  ```bash
106
- npx vibe-kanban-indie
18
+ npx vibe-kanban-indie --help
19
+ npx vibe-kanban-indie --version
20
+ npx vibe-kanban-indie review --help
21
+ npx vibe-kanban-indie mcp --help
107
22
  ```
108
23
 
109
- ## Terminal UI (TUI)
24
+ ## What is Vibe Kanban?
110
25
 
111
- `vibe-tui` is a terminal cockpit for the backend — list workspaces and sessions, watch live agent transcripts, manage a kanban board for local projects, and approve/deny/answer the things agents block on, all without leaving the terminal. It's also the always-available manual override for the [Telegram automation](#telegram-integration) below.
26
+ Vibe Kanban is a modern project management tool designed specifically for developers. It helps you organize your coding projects with kanban-style task management while providing powerful integrations with git repositories and AI coding agents.
112
27
 
113
- Run it against a running backend (it discovers the backend via its port file, or set `VIBE_BACKEND_URL`):
28
+ ### ✨ Key Features
114
29
 
115
- ```bash
116
- cargo run -p tui
117
- ```
30
+ **🗂️ Project Management**
118
31
 
119
- Keys (press `?` in-app for the full list):
120
-
121
- | Context | Keys |
122
- |---|---|
123
- | Global | `a` approvals inbox · `?` help · `q` quit |
124
- | List | `↑↓`/`jk` move · `⇥` switch pane · `⏎` open · `n` new task · `b` board · `r` refresh |
125
- | Detail | `⇥`/`←→` move focus between panes (processes · git · transcript) · `↑↓`/`jk` navigate the focused pane · `n`/`p` process · `f` follow · `i` message agent · `s` stop · `esc` back |
126
- | Git pane (in detail) | focus it with `⇥`, then `↑↓` select repo · `m` merge · `R` rebase · `P` create PR · `u` push — shows branch→target, ↑ahead/↓behind, ±diff, PR state per repo |
127
- | Approvals inbox | `↑↓` move · `y` approve · `d` deny · `⏎` answer · `esc` back |
128
- | Board | `←→` column · `↑↓` card · `[ ]` move card · `n` new · `e` edit · `d` delete · `w` workspace · `p` project · `⏎` detail |
129
-
130
- ## Telegram Integration
131
-
132
- `vibe-telegram-bridge` is a **send-only** daemon that streams coding-agent escalations to a Telegram supergroup, so a blocked agent (waiting on a tool-permission prompt or a clarifying question) can be unblocked remotely — by a human replying in Telegram, or by a PM agent acting through the MCP approval tools. The bridge never reads Telegram and never polls the bot token, so it coexists with the sombrax-telegram listener without a 409 conflict.
133
-
134
- It is configured by `~/.vibe-kanban/telegram.toml` (see `automation/telegram.toml.example`):
135
-
136
- ```toml
137
- # ~/.vibe-kanban/telegram.toml
138
- enabled = true
139
- bot_token = "123456:ABC..." # optional; falls back to $TELEGRAM_BOT_TOKEN
140
- # or ~/.claude/channels/telegram/.env
141
- chat_id = "-1001234567890" # your supergroup (must have Topics enabled)
142
- general_thread_id = "1" # optional General topic
143
- per_worktree_topics = true # spawn a forum topic per Claude Code worktree
144
- # topic_executors = ["CLAUDE_CODE"] # which executors get a topic
145
- # topic_name_template = "vk: {name}" # {name}/{branch} substituted
146
- ```
32
+ - Add git repositories as projects (existing or create new ones)
33
+ - Automatic git integration and repository validation
34
+ - Project search functionality across all files
35
+ - Custom setup and development scripts per project
147
36
 
148
- ```bash
149
- cargo run -p telegram-bridge
150
- ```
37
+ **📋 Task Management**
151
38
 
152
- When `enabled = false` (or no config is present), the daemon exits cleanly. With `per_worktree_topics = true`, the bridge watches the backend's `/api/events` stream and creates a dedicated forum topic for each opted-in worktree, routing that worktree's escalations into it; the `workspace_id → message_thread_id` map is persisted in `~/.vibe-kanban/telegram-topics.json` so restarts reuse existing topics.
39
+ - Create and manage tasks with kanban-style boards
40
+ - Task status tracking (Todo, In Progress, Done)
41
+ - Rich task descriptions and notes
42
+ - Task execution with multiple AI agents
153
43
 
154
- The app surfaces a read-only **Settings → Telegram** panel (status + a "Send test message" button); it reads `telegram.toml` and the bridge's heartbeat file but does not edit the config — the TOML is hand-edited.
44
+ **🤖 AI Agent Integration**
155
45
 
156
- For the full architecture (TUI, bridge, MCP approval tools, and the PM agent), see [`automation/README.md`](automation/README.md).
46
+ - **Claude**: Advanced AI coding assistant
47
+ - **Amp**: Powerful development agent
48
+ - **Echo**: Simple testing/debugging agent
49
+ - Create tasks and immediately start agent execution
50
+ - Follow-up task execution for iterative development
157
51
 
158
- ## Claude Code Plugins (SombraX)
52
+ **⚡ Development Workflow**
159
53
 
160
- The automation layer is driven from Claude Code by three plugins published in the **`sombrax_plugins`** marketplace: **vibe-kanban-indie** (orchestration skills, the agent crew, and the bundled `vibe-kanban` MCP server), **sombrax-telegram** (the inbound Telegram channel listener that pairs with the send-only bridge above), and **sombrax-codex** (Codex CLI helpers for independent plan and code review).
54
+ - Create isolated git worktrees for each task attempt
55
+ - View diffs of changes made by agents
56
+ - Merge successful changes back to main branch
57
+ - Rebase task branches to stay up-to-date
58
+ - Manual file editing and deletion
59
+ - Integrated development server support
161
60
 
162
- Add the marketplace once, then install the plugins you want — from inside Claude Code:
61
+ **🎛️ Developer Tools**
163
62
 
164
- ```text
165
- # Add the marketplace (once)
166
- /plugin marketplace add dexloom/sombrax_plugins
63
+ - Browse and validate git repositories from filesystem
64
+ - Open task worktrees in your preferred editor (VS Code, Cursor, Windsurf, IntelliJ, Zed)
65
+ - Real-time execution monitoring and process control
66
+ - Stop running processes individually or all at once
67
+ - Sound notifications for task completion
167
68
 
168
- # Install the plugins
169
- /plugin install vibe-kanban-indie@sombrax-plugins
170
- /plugin install sombrax-telegram@sombrax-plugins
171
- /plugin install sombrax-codex@sombrax-plugins
172
- ```
69
+ ## How It Works
173
70
 
174
- The plugins are optional — Indie's web UI, board, and workspaces work without them. Install them when you want to drive the board and the agent crew from Claude Code. See [Claude Code plugins & skills](https://dexloom.mintlify.app/integrations/claude-code-plugins) for the full breakdown.
71
+ 1. **Add Projects**: Import existing git repositories or create new ones
72
+ 2. **Create Tasks**: Define what needs to be built or fixed
73
+ 3. **Execute with AI**: Let coding agents work on your tasks in isolated environments
74
+ 4. **Review Changes**: See exactly what was modified using git diffs
75
+ 5. **Merge Results**: Incorporate successful changes into your main codebase
175
76
 
176
- ## Documentation
77
+ ## Core Functionality
177
78
 
178
- Head to the [documentation site](https://dexloom.mintlify.app) for the latest guides, including [What's different in Indie](https://dexloom.mintlify.app/indie/whats-different) and the [Solo Cockpit](https://dexloom.mintlify.app/cockpit/index).
79
+ Vibe Kanban provides a complete project management experience with these key capabilities:
179
80
 
180
- ## Self-Hosting
81
+ **Project Repository Management**
181
82
 
182
- Indie runs entirely on your own machine — no cloud, no account. See the [self-hosting guide](https://dexloom.mintlify.app/self-hosting/local-development) to run it locally or [behind Docker](https://dexloom.mintlify.app/self-hosting/deploy-docker).
83
+ - Full CRUD operations for managing coding projects
84
+ - Automatic git repository detection and validation
85
+ - Initialize new repositories or import existing ones
86
+ - Project-wide file search functionality
183
87
 
184
- ## Support
88
+ **Task Lifecycle Management**
185
89
 
186
- For feature requests and bugs, please open an issue on [`dexloom/vibe-kanban-indie`](https://github.com/dexloom/vibe-kanban-indie/issues).
90
+ - Create, update, and delete tasks with rich descriptions
91
+ - Track task progress through customizable status workflows
92
+ - One-click task creation with immediate AI agent execution
93
+ - Task attempt tracking with detailed execution history
187
94
 
188
- ## Contributing
95
+ **AI Agent Execution Environment**
189
96
 
190
- `vibe-kanban-indie` is an independent, single-developer fork. Please raise ideas and changes as issues on [`dexloom/vibe-kanban-indie`](https://github.com/dexloom/vibe-kanban-indie/issues) before opening a PR, so we can discuss implementation details and alignment with the roadmap.
97
+ - Isolated git worktrees for safe code experimentation
98
+ - Real-time execution monitoring and activity logging
99
+ - Process management with ability to stop individual or all processes
100
+ - Support for follow-up executions to iterate on solutions
191
101
 
192
- ## Development
102
+ **Code Change Management**
193
103
 
194
- ### Prerequisites
104
+ - View detailed diffs of all changes made during task execution
105
+ - Branch status monitoring to track divergence from main
106
+ - One-click merging of successful changes back to main branch
107
+ - Automatic rebasing to keep task branches up-to-date
108
+ - Manual file deletion and cleanup capabilities
195
109
 
196
- - [Rust](https://rustup.rs/) (latest stable)
197
- - [Node.js](https://nodejs.org/) (>=20)
198
- - [pnpm](https://pnpm.io/) (>=8)
110
+ **Development Integration**
199
111
 
200
- Additional development tools:
201
- ```bash
202
- cargo install cargo-watch
203
- cargo install sqlx-cli
204
- ```
112
+ - Open task worktrees directly in your preferred code editor
113
+ - Start and manage development servers for testing changes
114
+ - Browse local filesystem to add new projects
115
+ - Health monitoring for service availability
205
116
 
206
- Install dependencies:
207
- ```bash
208
- pnpm i
209
- ```
117
+ ## Configuration
210
118
 
211
- ### Running the dev server
119
+ Vibe Kanban supports customization through its configuration system:
212
120
 
213
- ```bash
214
- pnpm run dev
215
- ```
121
+ - **Editor Integration**: Choose your preferred code editor
122
+ - **Sound Notifications**: Customize completion sounds
123
+ - **Project Defaults**: Set default setup and development scripts
216
124
 
217
- This will start the backend and web app. A blank DB will be copied from the `dev_assets_seed` folder.
125
+ ## Technical Architecture
218
126
 
219
- ### Building the web app
127
+ - **Backend**: Rust with Axum web framework
128
+ - **Frontend**: React with TypeScript
129
+ - **Database**: SQLite for local data storage
130
+ - **Git Integration**: Native git operations for repository management
131
+ - **Process Management**: Tokio-based async execution monitoring
220
132
 
221
- To build just the web app:
133
+ ## Requirements
222
134
 
223
- ```bash
224
- cd packages/local-web
225
- pnpm run build
226
- ```
135
+ - Node.js (for npx execution)
136
+ - Git (for repository operations)
137
+ - Your preferred code editor (optional, for opening task worktrees)
227
138
 
228
- ### Build from source (macOS)
139
+ ## Supported Platforms
229
140
 
230
- 1. Run `./local-build.sh`
231
- 2. Test with `cd npx-cli && node bin/cli.js`
141
+ - Linux x64
142
+ - Windows x64
143
+ - macOS x64 (Intel)
144
+ - macOS ARM64 (Apple Silicon)
232
145
 
233
- ### Environment Variables
146
+ ## Use Cases
234
147
 
235
- The following environment variables can be configured at build time or runtime:
148
+ **🔧 Bug Fixes**
236
149
 
237
- | Variable | Type | Default | Description |
238
- |----------|------|---------|-------------|
239
- | `PORT` | Runtime | Auto-assign | **Production**: Server port. **Dev**: Frontend port (backend uses PORT+1) |
240
- | `BACKEND_PORT` | Runtime | `0` (auto-assign) | Backend server port (dev mode only, overrides PORT+1) |
241
- | `FRONTEND_PORT` | Runtime | `3001` | Frontend dev server port (dev mode only, overrides PORT) |
242
- | `HOST` | Runtime | `127.0.0.1` | Backend server host |
243
- | `MCP_HOST` | Runtime | Value of `HOST` | MCP server connection host (use `127.0.0.1` when `HOST=0.0.0.0` on Windows) |
244
- | `MCP_PORT` | Runtime | Value of `BACKEND_PORT` | MCP server connection port |
245
- | `DISABLE_WORKTREE_CLEANUP` | Runtime | Not set | Disable all git worktree cleanup including orphan and expired workspace cleanup (for debugging) |
246
- | `VK_ALLOWED_ORIGINS` | Runtime | Not set | Comma-separated list of origins that are allowed to make backend API requests (e.g., `https://my-vibekanban-frontend.com`) |
150
+ - Create a task describing the bug
151
+ - Let an AI agent analyze and fix the issue
152
+ - Review the proposed changes
153
+ - Merge if satisfied, or provide follow-up instructions
247
154
 
248
- **Build-time variables** must be set when running `pnpm run build`. **Runtime variables** are read when the application starts.
155
+ **✨ Feature Development**
249
156
 
250
- #### Self-Hosting with a Reverse Proxy or Custom Domain
157
+ - Break down features into manageable tasks
158
+ - Use agents for initial implementation
159
+ - Iterate with follow-up executions
160
+ - Test using integrated development servers
251
161
 
252
- When running Vibe Kanban behind a reverse proxy (e.g., nginx, Caddy, Traefik) or on a custom domain, you must set the `VK_ALLOWED_ORIGINS` environment variable. Without this, the browser's Origin header won't match the backend's expected host, and API requests will be rejected with a 403 Forbidden error.
162
+ **🚀 Project Setup**
253
163
 
254
- Set it to the full origin URL(s) where your frontend is accessible:
164
+ - Bootstrap new projects with AI assistance
165
+ - Set up development environments
166
+ - Configure build and deployment scripts
255
167
 
256
- ```bash
257
- # Single origin
258
- VK_ALLOWED_ORIGINS=https://vk.example.com
168
+ **📚 Code Documentation**
259
169
 
260
- # Multiple origins (comma-separated)
261
- VK_ALLOWED_ORIGINS=https://vk.example.com,https://vk-staging.example.com
262
- ```
263
-
264
- ### Remote Deployment
170
+ - Generate documentation for existing code
171
+ - Create README files and API documentation
172
+ - Maintain up-to-date project information
265
173
 
266
- 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:
174
+ ---
267
175
 
268
- 1. **Access via tunnel**: Use Cloudflare Tunnel, ngrok, or similar to expose the web UI
269
- 2. **Configure remote SSH** in Settings → Editor Integration:
270
- - Set **Remote SSH Host** to your server hostname or IP
271
- - Set **Remote SSH User** to your SSH username (optional)
272
- 3. **Prerequisites**:
273
- - SSH access from your local machine to the remote server
274
- - SSH keys configured (passwordless authentication)
275
- - VSCode Remote-SSH extension
176
+ **Ready to supercharge your development workflow?**
276
177
 
277
- 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.
178
+ ```bash
179
+ npx vibe-kanban-indie
180
+ ```
278
181
 
279
- See the [documentation](https://dexloom.mintlify.app/settings/general) for detailed setup instructions.
182
+ _Start managing your projects with the power of AI coding agents today!_
@@ -30,11 +30,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
30
  var require_package = __commonJS({
31
31
  "package.json"(exports2, module2) {
32
32
  module2.exports = {
33
- name: "vibe-kanban-indie",
33
+ name: "vibe-kanban-alternative",
34
34
  private: false,
35
- version: "0.2.26",
35
+ version: "0.2.28",
36
36
  main: "index.js",
37
37
  bin: {
38
+ "vibe-kanban-alternative": "bin/cli.js",
38
39
  "vibe-kanban-indie": "bin/cli.js"
39
40
  },
40
41
  scripts: {
@@ -45,13 +46,13 @@ var require_package = __commonJS({
45
46
  author: "dexloom",
46
47
  repository: {
47
48
  type: "git",
48
- url: "git+https://github.com/dexloom/vibe-kanban-indie.git"
49
+ url: "git+https://github.com/flashlan/vibe-kanban-alternative.git"
49
50
  },
50
51
  engines: {
51
52
  node: ">=20.19.0"
52
53
  },
53
54
  license: "",
54
- description: "NPX wrapper around vibe-kanban-indie \u2014 the single-developer, self-hosted fork of vibe-kanban with a TUI cockpit and Telegram channel orchestration",
55
+ description: "NPX wrapper around vibe-kanban-alternative \u2014 the single-developer, self-hosted fork of vibe-kanban with a TUI cockpit and Telegram channel orchestration",
55
56
  devDependencies: {
56
57
  esbuild: "^0.27.2"
57
58
  },
@@ -1228,7 +1229,7 @@ function checkForUpdates() {
1228
1229
  setTimeout(() => {
1229
1230
  console.log(`
1230
1231
  Update available: ${CLI_VERSION} -> ${latest}`);
1231
- console.log(`Run: npx vibe-kanban-indie@latest`);
1232
+ console.log(`Run: npx vibe-kanban-alternative@latest`);
1232
1233
  }, 2e3);
1233
1234
  }
1234
1235
  }).catch(() => {
@@ -1267,12 +1268,12 @@ async function runMain(desktopMode) {
1267
1268
  if (desktopMode && tauriPlatform) {
1268
1269
  if (!LOCAL_DEV_MODE) {
1269
1270
  console.error(
1270
- "Desktop builds are not published for vibe-kanban-indie; starting browser mode instead."
1271
+ "Desktop builds are not published for vibe-kanban-alternative; starting browser mode instead."
1271
1272
  );
1272
1273
  } else {
1273
1274
  try {
1274
1275
  console.log(
1275
- `Starting vibe-kanban-indie desktop v${CLI_VERSION}${modeLabel}...`
1276
+ `Starting vibe-kanban-alternative desktop v${CLI_VERSION}${modeLabel}...`
1276
1277
  );
1277
1278
  const bundleInfo = await ensureDesktopBundle(
1278
1279
  tauriPlatform,
@@ -1288,7 +1289,7 @@ async function runMain(desktopMode) {
1288
1289
  }
1289
1290
  }
1290
1291
  }
1291
- console.log(`Starting vibe-kanban-indie v${CLI_VERSION}${modeLabel}...`);
1292
+ console.log(`Starting vibe-kanban-alternative v${CLI_VERSION}${modeLabel}...`);
1292
1293
  await extractAndRun("vibe-kanban", (bin) => {
1293
1294
  (0, import_child_process2.execSync)(`"${bin}"`, { stdio: "inherit" });
1294
1295
  });
@@ -1318,7 +1319,7 @@ function runOrExit(task) {
1318
1319
  }
1319
1320
  async function main() {
1320
1321
  import_fs3.default.mkdirSync(versionCacheDir, { recursive: true });
1321
- const cli = cac("vibe-kanban-indie");
1322
+ const cli = cac("vibe-kanban-alternative");
1322
1323
  cli.command("[...args]", "Launch the local vibe-kanban app").option("--desktop", "Launch the desktop app instead of browser mode").allowUnknownOptions().action((_args, options) => {
1323
1324
  runOrExit(runMain(Boolean(options.desktop)));
1324
1325
  });
package/package.json CHANGED
@@ -1,63 +1,36 @@
1
1
  {
2
2
  "name": "vibe-kanban-alternative",
3
- "version": "0.2.26",
3
+ "private": false,
4
+ "version": "0.2.28",
5
+ "main": "index.js",
4
6
  "bin": {
5
- "vibe-kanban": "npx-cli/bin/cli.js"
7
+ "vibe-kanban-alternative": "bin/cli.js",
8
+ "vibe-kanban-indie": "bin/cli.js"
6
9
  },
7
- "files": [
8
- "npx-cli/bin/cli.js",
9
- "npx-cli/dist/**"
10
- ],
11
10
  "scripts": {
12
- "lint": "pnpm run local-web:lint && pnpm run ui:lint && pnpm run backend:lint && node scripts/check-unused-i18n-keys.mjs",
13
- "format": "pnpm run backend:format && pnpm run web-core:format && pnpm run local-web:format",
14
- "check": "pnpm run local-web:legacy-path-guard && pnpm run check:db && pnpm run local-web:check && pnpm run web-core:check && pnpm run ui:check && pnpm run backend:check",
15
- "check:db": "bash scripts/check-migration-frozen.sh",
16
- "dev": "export FRONTEND_PORT=3001 && export BACKEND_PORT=3002 && export PREVIEW_PROXY_PORT=3003 && export VK_ALLOWED_ORIGINS=\"http://localhost:${FRONTEND_PORT}\" && concurrently \"pnpm run backend:dev:watch\" \"pnpm run local-web:dev\"",
17
- "test:npm": "./test-npm-package.sh",
18
- "local-web:lint": "pnpm --filter @vibe/local-web run lint",
19
- "local-web:legacy-path-guard": "./scripts/check-legacy-frontend-paths.sh",
20
- "web-core:format": "pnpm --filter @vibe/web-core run format",
21
- "web-core:check": "pnpm --filter @vibe/web-core run check",
22
- "local-web:dev": "cd packages/local-web && pnpm run dev -- --port ${FRONTEND_PORT:-3001}",
23
- "local-web:check": "pnpm --filter @vibe/local-web run check",
24
- "local-web:format": "pnpm --filter @vibe/local-web run format",
25
- "ui:lint": "pnpm --filter @vibe/ui run lint",
26
- "ui:check": "pnpm --filter @vibe/ui run check",
27
- "backend:lint": "cargo clippy --workspace --all-targets --features qa-mode -- -D warnings",
28
- "backend:lint:full": "pnpm run backend:lint",
29
- "backend:format": "cargo fmt --all",
30
- "backend:dev": "BACKEND_PORT=3002 pnpm run backend:dev:watch",
31
- "backend:check": "cargo check --workspace",
32
- "backend:check:full": "pnpm run backend:check",
33
- "backend:dev:watch": "DISABLE_WORKTREE_CLEANUP=1 RUST_LOG=debug cargo watch -w crates -x 'run --bin server'",
34
- "backend:dev:watch:qa": "DISABLE_WORKTREE_CLEANUP=1 RUST_LOG=debug cargo watch -w crates -x 'run --bin server --features qa-mode'",
35
- "dev:qa": "export FRONTEND_PORT=3001 && export BACKEND_PORT=3002 && export PREVIEW_PROXY_PORT=3003 && export VK_ALLOWED_ORIGINS=\"http://localhost:${FRONTEND_PORT}\" && concurrently \"pnpm run backend:dev:watch:qa\" \"pnpm run local-web:dev\"",
36
- "generate-types": "cargo run --bin generate_types",
37
- "generate-types:check": "cargo run --bin generate_types -- --check",
38
- "prepare-db": "node scripts/prepare-db.js",
39
- "prepare-db:check": "node scripts/prepare-db.js --check",
40
- "build:bippy-bundle": "node scripts/build-bippy-bundle.mjs",
41
- "build:npx": "bash ./local-build.sh",
42
- "build:npx-cli": "cd npx-cli && npm ci && npm run build",
43
- "check:npx-cli": "tsc --noEmit -p npx-cli/tsconfig.json",
44
- "prepack": "pnpm run build:npx && pnpm run build:npx-cli",
45
- "tauri:dev": "set -a && [ -f .env ] && . ./.env && set +a && export FRONTEND_PORT=3001 && export BACKEND_PORT=3002 && export VK_ALLOWED_ORIGINS=\"http://localhost:${FRONTEND_PORT}\" && export DISABLE_WORKTREE_CLEANUP=1 && export RUST_LOG=debug && cd crates/tauri-app && cargo tauri dev --config '{\"build\":{\"devUrl\":\"http://localhost:'\"${FRONTEND_PORT}\"'\"}}'",
46
- "tauri:build": "cd crates/tauri-app && cargo tauri build"
11
+ "build": "esbuild src/cli.ts --bundle --platform=node --target=node20 --format=cjs --outfile=bin/cli.js --external:adm-zip --banner:js=\"#!/usr/bin/env node\"",
12
+ "check": "tsc --noEmit -p tsconfig.json"
47
13
  },
48
- "devDependencies": {
49
- "@types/adm-zip": "^0.5.7",
50
- "@types/node": "^20.0.0",
51
- "bippy": "0.5.28",
52
- "concurrently": "^8.2.2",
53
- "esbuild": "^0.27.2",
54
- "jwt-decode": "^4.0.0",
55
- "typescript": "^5.7.0",
56
- "vite": "^7.3.1"
14
+ "keywords": [],
15
+ "author": "dexloom",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/flashlan/vibe-kanban-alternative.git"
57
19
  },
58
20
  "engines": {
59
- "node": ">=20",
60
- "pnpm": ">=8"
21
+ "node": ">=20.19.0"
22
+ },
23
+ "license": "",
24
+ "description": "NPX wrapper around vibe-kanban-alternative — the single-developer, self-hosted fork of vibe-kanban with a TUI cockpit and Telegram channel orchestration",
25
+ "devDependencies": {
26
+ "esbuild": "^0.27.2"
27
+ },
28
+ "dependencies": {
29
+ "adm-zip": "^0.5.16",
30
+ "cac": "^7.0.0"
61
31
  },
62
- "packageManager": "pnpm@10.13.1"
32
+ "files": [
33
+ "bin",
34
+ "dist"
35
+ ]
63
36
  }
package/LICENSE DELETED
@@ -1,201 +0,0 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
-
5
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
-
7
- 1. Definitions.
8
-
9
- "License" shall mean the terms and conditions for use, reproduction,
10
- and distribution as defined by Sections 1 through 9 of this document.
11
-
12
- "Licensor" shall mean the copyright owner or entity authorized by
13
- the copyright owner that is granting the License.
14
-
15
- "Legal Entity" shall mean the union of the acting entity and all
16
- other entities that control, are controlled by, or are under common
17
- control with that entity. For the purposes of this definition,
18
- "control" means (i) the power, direct or indirect, to cause the
19
- direction or management of such entity, whether by contract or
20
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
- outstanding shares, or (iii) beneficial ownership of such entity.
22
-
23
- "You" (or "Your") shall mean an individual or Legal Entity
24
- exercising permissions granted by this License.
25
-
26
- "Source" form shall mean the preferred form for making modifications,
27
- including but not limited to software source code, documentation
28
- source, and configuration files.
29
-
30
- "Object" form shall mean any form resulting from mechanical
31
- transformation or translation of a Source form, including but
32
- not limited to compiled object code, generated documentation,
33
- and conversions to other media types.
34
-
35
- "Work" shall mean the work of authorship, whether in Source or
36
- Object form, made available under the License, as indicated by a
37
- copyright notice that is included in or attached to the work
38
- (an example is provided in the Appendix below).
39
-
40
- "Derivative Works" shall mean any work, whether in Source or Object
41
- form, that is based on (or derived from) the Work and for which the
42
- editorial revisions, annotations, elaborations, or other modifications
43
- represent, as a whole, an original work of authorship. For the purposes
44
- of this License, Derivative Works shall not include works that remain
45
- separable from, or merely link (or bind by name) to the interfaces of,
46
- the Work and Derivative Works thereof.
47
-
48
- "Contribution" shall mean any work of authorship, including
49
- the original version of the Work and any modifications or additions
50
- to that Work or Derivative Works thereof, that is intentionally
51
- submitted to Licensor for inclusion in the Work by the copyright owner
52
- or by an individual or Legal Entity authorized to submit on behalf of
53
- the copyright owner. For the purposes of this definition, "submitted"
54
- means any form of electronic, verbal, or written communication sent
55
- to the Licensor or its representatives, including but not limited to
56
- communication on electronic mailing lists, source code control systems,
57
- and issue tracking systems that are managed by, or on behalf of, the
58
- Licensor for the purpose of discussing and improving the Work, but
59
- excluding communication that is conspicuously marked or otherwise
60
- designated in writing by the copyright owner as "Not a Contribution."
61
-
62
- "Contributor" shall mean Licensor and any individual or Legal Entity
63
- on behalf of whom a Contribution has been received by Licensor and
64
- subsequently incorporated within the Work.
65
-
66
- 2. Grant of Copyright License. Subject to the terms and conditions of
67
- this License, each Contributor hereby grants to You a perpetual,
68
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
- copyright license to reproduce, prepare Derivative Works of,
70
- publicly display, publicly perform, sublicense, and distribute the
71
- Work and such Derivative Works in Source or Object form.
72
-
73
- 3. Grant of Patent License. Subject to the terms and conditions of
74
- this License, each Contributor hereby grants to You a perpetual,
75
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
- (except as stated in this section) patent license to make, have made,
77
- use, offer to sell, sell, import, and otherwise transfer the Work,
78
- where such license applies only to those patent claims licensable
79
- by such Contributor that are necessarily infringed by their
80
- Contribution(s) alone or by combination of their Contribution(s)
81
- with the Work to which such Contribution(s) was submitted. If You
82
- institute patent litigation against any entity (including a
83
- cross-claim or counterclaim in a lawsuit) alleging that the Work
84
- or a Contribution incorporated within the Work constitutes direct
85
- or contributory patent infringement, then any patent licenses
86
- granted to You under this License for that Work shall terminate
87
- as of the date such litigation is filed.
88
-
89
- 4. Redistribution. You may reproduce and distribute copies of the
90
- Work or Derivative Works thereof in any medium, with or without
91
- modifications, and in Source or Object form, provided that You
92
- meet the following conditions:
93
-
94
- (a) You must give any other recipients of the Work or
95
- Derivative Works a copy of this License; and
96
-
97
- (b) You must cause any modified files to carry prominent notices
98
- stating that You changed the files; and
99
-
100
- (c) You must retain, in the Source form of any Derivative Works
101
- that You distribute, all copyright, patent, trademark, and
102
- attribution notices from the Source form of the Work,
103
- excluding those notices that do not pertain to any part of
104
- the Derivative Works; and
105
-
106
- (d) If the Work includes a "NOTICE" text file as part of its
107
- distribution, then any Derivative Works that You distribute must
108
- include a readable copy of the attribution notices contained
109
- within such NOTICE file, excluding those notices that do not
110
- pertain to any part of the Derivative Works, in at least one
111
- of the following places: within a NOTICE text file distributed
112
- as part of the Derivative Works; within the Source form or
113
- documentation, if provided along with the Derivative Works; or,
114
- within a display generated by the Derivative Works, if and
115
- wherever such third-party notices normally appear. The contents
116
- of the NOTICE file are for informational purposes only and
117
- do not modify the License. You may add Your own attribution
118
- notices within Derivative Works that You distribute, alongside
119
- or as an addendum to the NOTICE text from the Work, provided
120
- that such additional attribution notices cannot be construed
121
- as modifying the License.
122
-
123
- You may add Your own copyright statement to Your modifications and
124
- may provide additional or different license terms and conditions
125
- for use, reproduction, or distribution of Your modifications, or
126
- for any such Derivative Works as a whole, provided Your use,
127
- reproduction, and distribution of the Work otherwise complies with
128
- the conditions stated in this License.
129
-
130
- 5. Submission of Contributions. Unless You explicitly state otherwise,
131
- any Contribution intentionally submitted for inclusion in the Work
132
- by You to the Licensor shall be under the terms and conditions of
133
- this License, without any additional terms or conditions.
134
- Notwithstanding the above, nothing herein shall supersede or modify
135
- the terms of any separate license agreement you may have executed
136
- with Licensor regarding such Contributions.
137
-
138
- 6. Trademarks. This License does not grant permission to use the trade
139
- names, trademarks, service marks, or product names of the Licensor,
140
- except as required for reasonable and customary use in describing the
141
- origin of the Work and reproducing the content of the NOTICE file.
142
-
143
- 7. Disclaimer of Warranty. Unless required by applicable law or
144
- agreed to in writing, Licensor provides the Work (and each
145
- Contributor provides its Contributions) on an "AS IS" BASIS,
146
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
- implied, including, without limitation, any warranties or conditions
148
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
- PARTICULAR PURPOSE. You are solely responsible for determining the
150
- appropriateness of using or redistributing the Work and assume any
151
- risks associated with Your exercise of permissions under this License.
152
-
153
- 8. Limitation of Liability. In no event and under no legal theory,
154
- whether in tort (including negligence), contract, or otherwise,
155
- unless required by applicable law (such as deliberate and grossly
156
- negligent acts) or agreed to in writing, shall any Contributor be
157
- liable to You for damages, including any direct, indirect, special,
158
- incidental, or consequential damages of any character arising as a
159
- result of this License or out of the use or inability to use the
160
- Work (including but not limited to damages for loss of goodwill,
161
- work stoppage, computer failure or malfunction, or any and all
162
- other commercial damages or losses), even if such Contributor
163
- has been advised of the possibility of such damages.
164
-
165
- 9. Accepting Warranty or Additional Liability. While redistributing
166
- the Work or Derivative Works thereof, You may choose to offer,
167
- and charge a fee for, acceptance of support, warranty, indemnity,
168
- or other liability obligations and/or rights consistent with this
169
- License. However, in accepting such obligations, You may act only
170
- on Your own behalf and on Your sole responsibility, not on behalf
171
- of any other Contributor, and only if You agree to indemnify,
172
- defend, and hold each Contributor harmless for any liability
173
- incurred by, or claims asserted against, such Contributor by reason
174
- of your accepting any such warranty or additional liability.
175
-
176
- END OF TERMS AND CONDITIONS
177
-
178
- APPENDIX: How to apply the Apache License to your work.
179
-
180
- To apply the Apache License to your work, attach the following
181
- boilerplate notice, with the fields enclosed by brackets "[]"
182
- replaced with your own identifying information. (Don't include
183
- the brackets!) The text should be enclosed in the appropriate
184
- comment syntax for the file format. We also recommend that a
185
- file or class name and description of purpose be included on the
186
- same "printed page" as the copyright notice for easier
187
- identification within third-party archives.
188
-
189
- Copyright [yyyy] [name of copyright owner]
190
-
191
- Licensed under the Apache License, Version 2.0 (the "License");
192
- you may not use this file except in compliance with the License.
193
- You may obtain a copy of the License at
194
-
195
- http://www.apache.org/licenses/LICENSE-2.0
196
-
197
- Unless required by applicable law or agreed to in writing, software
198
- distributed under the License is distributed on an "AS IS" BASIS,
199
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
- See the License for the specific language governing permissions and
201
- limitations under the License.