vibora 0.1.6 → 0.1.7

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.
Files changed (3) hide show
  1. package/LICENSE +157 -0
  2. package/README.md +138 -0
  3. package/package.json +4 -2
package/LICENSE ADDED
@@ -0,0 +1,157 @@
1
+ # PolyForm Shield License 1.0.0
2
+
3
+ <https://polyformproject.org/licenses/shield/1.0.0>
4
+
5
+ ## Acceptance
6
+
7
+ In order to get any license under these terms, you must agree
8
+ to them as both strict obligations and conditions to all
9
+ your licenses.
10
+
11
+ ## Copyright License
12
+
13
+ The licensor grants you a copyright license for the software
14
+ to do everything you might do with the software that would
15
+ otherwise infringe the licensor's copyright in it for any
16
+ permitted purpose. However, you may only distribute the
17
+ software according to [Distribution](#distribution).
18
+
19
+ ## Distribution
20
+
21
+ The licensor grants you an additional copyright license
22
+ to distribute copies of the software. Your license to
23
+ distribute covers distributing the software with changes
24
+ and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
25
+
26
+ ## Notices
27
+
28
+ You must ensure that anyone who gets a copy of any part of
29
+ the software from you also gets a copy of these terms or the
30
+ URL for them above, as well as copies of any plain-text lines
31
+ beginning with `Required Notice:` that the licensor provided
32
+ with the software. For example:
33
+
34
+ > Required Notice: Copyright KNOWSUCHAGENCY CORP (https://github.com/knowsuchagency/vibora)
35
+
36
+ ## Changes and New Works License
37
+
38
+ The licensor grants you an additional copyright license to
39
+ make changes and new works based on the software for any
40
+ permitted purpose.
41
+
42
+ ## Patent License
43
+
44
+ The licensor grants you a patent license for the software that
45
+ covers patent claims the licensor can license, or becomes able
46
+ to license, that you would infringe by using the software.
47
+
48
+ ## Noncompete
49
+
50
+ Any purpose is a permitted purpose, except for providing any
51
+ product that competes with the software or any product the
52
+ licensor or any of its affiliates provides using the software.
53
+
54
+ ## Competition
55
+
56
+ Goods and services compete even when they provide functionality
57
+ through different kinds of interfaces or for different technical
58
+ platforms. Applications can compete with services, libraries
59
+ with plugins, frameworks with development tools, and so on,
60
+ even if they're written in different programming languages
61
+ or for different computer architectures. Goods and services
62
+ compete even when provided free of charge. If you market a
63
+ product as a practical substitute for the software or another
64
+ product, it definitely competes.
65
+
66
+ ## New Products
67
+
68
+ If you are using the software to provide a product that does
69
+ not compete, but the licensor or any of its affiliates brings
70
+ your product into competition by providing a new version of
71
+ the software or another product using the software, you may
72
+ continue using versions of the software available under these
73
+ terms beforehand to provide your competing product, but not
74
+ any later versions.
75
+
76
+ ## Discontinued Products
77
+
78
+ You may begin using the software to compete with a product
79
+ or service that the licensor or any of its affiliates has
80
+ stopped providing, unless the licensor includes a plain-text
81
+ line beginning with `Licensor Line of Business:` with the
82
+ software that mentions that line of business. For example:
83
+
84
+ > Licensor Line of Business: Developer Tools
85
+
86
+ ## Sales of Business
87
+
88
+ If the licensor or any of its affiliates sells a line of
89
+ business developing the software or using the software to
90
+ provide a product, the buyer can also enforce
91
+ [Noncompete](#noncompete) for that product.
92
+
93
+ ## Compliance
94
+
95
+ You must exercise your license with a good-faith belief that
96
+ it falls within the scope of [Noncompete](#noncompete). If the
97
+ licensor notifies you in writing that you have not, you must
98
+ remedy all identified problems within 32 days after that notice.
99
+
100
+ ## No Other Rights
101
+
102
+ These terms do not allow you to sublicense or transfer any of
103
+ your licenses to anyone else, or prevent the licensor from
104
+ granting licenses to anyone else. These terms do not imply
105
+ any other licenses.
106
+
107
+ ## Patent Defense
108
+
109
+ If you make any written claim that the software infringes or
110
+ contributes to infringement of any patent, your patent license
111
+ for the software granted under these terms ends immediately. If
112
+ your company makes such a claim, your patent license ends
113
+ immediately for work on behalf of your company.
114
+
115
+ ## Violations
116
+
117
+ The first time you are notified in writing that you have
118
+ violated any of these terms, or done anything with the software
119
+ not covered by your licenses, your licenses can nonetheless
120
+ continue if you come into full compliance with these terms,
121
+ and take practical steps to correct past violations, within
122
+ 32 days of receiving notice. Otherwise, all your licenses
123
+ end immediately.
124
+
125
+ ## No Liability
126
+
127
+ ***As far as the law allows, the software comes as is, without
128
+ any warranty or condition, and the licensor will not be liable
129
+ to you for any damages arising out of these terms or the use
130
+ or nature of the software, under any kind of legal claim.***
131
+
132
+ ## Definitions
133
+
134
+ The **licensor** is the entity offering these terms, and the
135
+ **software** is the software the licensor makes available
136
+ under these terms.
137
+
138
+ **You** refers to the individual or entity agreeing to these
139
+ terms.
140
+
141
+ **Your company** is any legal entity, sole proprietorship,
142
+ or other kind of organization that you work for, plus all
143
+ organizations that have control over, are under the control of,
144
+ or are under common control with that organization. **Control**
145
+ means ownership of substantially all the assets of an entity,
146
+ or the power to direct its management and policies by vote,
147
+ contract, or otherwise. Control can be direct or indirect.
148
+
149
+ **Your licenses** are all the licenses granted to you for the
150
+ software under these terms.
151
+
152
+ **Use** means anything you do with the software requiring one
153
+ of your licenses.
154
+
155
+ ---
156
+
157
+ Required Notice: Copyright KNOWSUCHAGENCY CORP (https://github.com/knowsuchagency/vibora)
package/README.md ADDED
@@ -0,0 +1,138 @@
1
+ # Vibora
2
+
3
+ ![vibora](https://github.com/user-attachments/assets/e58c762c-5598-4e5a-a992-9bef5d614f7d)
4
+
5
+
6
+ A lightweight PM cockpit for streamlining the software development lifecycle. Vibora marries basic project management with actual software development by embedding terminals directly into the workflow.
7
+
8
+ ## Philosophy
9
+
10
+ - **Terminal-first AI agent orchestration** — Agents (Claude Code, Codex, etc.) run in terminals as-is. No abstraction layer, no wrapper APIs, no feature parity maintenance as agents evolve.
11
+ - **Opinionated with few opinions** — Provides structure without dictating workflow.
12
+ - **Git worktree isolation** — Tasks create isolated git worktrees, with architecture supporting evolution toward more general task types.
13
+
14
+ ## Tech Stack
15
+
16
+ - **Frontend**: React 19, TanStack Router & Query, xterm.js, Tailwind CSS, shadcn/ui (v4 with baseui support)
17
+ - **Backend**: Hono.js on Bun, SQLite with Drizzle ORM, WebSocket for terminal I/O
18
+
19
+ ## Getting Started
20
+
21
+ ### Prerequisites
22
+
23
+ - [mise](https://mise.jdx.dev/) for task running and tool management
24
+ - [Bun](https://bun.sh/) (installed automatically via mise)
25
+
26
+ ### Development
27
+
28
+ ```bash
29
+ # Install tools and dependencies
30
+ mise install
31
+
32
+ # Start both frontend and backend (recommended)
33
+ mise run dev
34
+
35
+ # Or run separately:
36
+ mise run server # Backend (port 3333, with auto-reload)
37
+ mise run client # Frontend (port 5173, proxies to backend)
38
+ ```
39
+
40
+ ### Available Tasks
41
+
42
+ ```bash
43
+ mise run dev # Start frontend and backend dev servers
44
+ mise run server # Start backend dev server with auto-reload
45
+ mise run client # Start frontend dev server
46
+ mise run build # Build for production
47
+ mise run start # Run production server
48
+ mise run lint # Run ESLint
49
+ mise run preview # Preview production build
50
+
51
+ # Database operations
52
+ mise run db:push # Sync schema to database
53
+ mise run db:studio # Open Drizzle Studio GUI
54
+ mise run db:generate # Generate migrations
55
+ mise run db:migrate # Apply migrations
56
+ ```
57
+
58
+ ## Configuration
59
+
60
+ Settings are stored in `.vibora/settings.json`. The vibora directory is resolved in this order:
61
+ 1. `VIBORA_DIR` environment variable (explicit override)
62
+ 2. `.vibora` in current working directory (per-worktree isolation)
63
+ 3. `~/.vibora` (default)
64
+
65
+ | Setting | Env Var | Default |
66
+ |---------|---------|---------|
67
+ | (base directory) | `VIBORA_DIR` | .vibora in CWD or ~/.vibora |
68
+ | port | `PORT` | 3333 |
69
+ | defaultGitReposDir | `VIBORA_GIT_REPOS_DIR` | ~ |
70
+ | linearApiKey | `LINEAR_API_KEY` | null |
71
+
72
+ Database path (`{viboraDir}/vibora.db`) and worktree path (`{viboraDir}/worktrees`) are derived from the vibora directory and not separately configurable.
73
+
74
+ Precedence: environment variable → settings.json → default
75
+
76
+ ## CLI
77
+
78
+ Vibora includes a CLI for AI agents (like Claude Code) working inside task worktrees to query and update task status.
79
+
80
+ ### Installation
81
+
82
+ ```bash
83
+ cd cli
84
+ bun install
85
+ bun link # Makes 'vibora' available globally
86
+ ```
87
+
88
+ ### Usage
89
+
90
+ ```bash
91
+ # Get current task (auto-detected from worktree path)
92
+ vibora current-task
93
+
94
+ # Update task status
95
+ vibora current-task in-progress # Mark as IN_PROGRESS
96
+ vibora current-task review # Mark as IN_REVIEW
97
+ vibora current-task done # Mark as DONE
98
+ vibora current-task cancel # Mark as CANCELLED
99
+
100
+ # Server management
101
+ vibora up # Start server daemon
102
+ vibora down # Stop server
103
+ vibora status # Check server status
104
+
105
+ # Task management
106
+ vibora tasks list # List all tasks
107
+ vibora tasks get <id> # Get task by ID
108
+
109
+ # Git operations
110
+ vibora git status # Git status for current worktree
111
+ vibora git diff # Git diff for current worktree
112
+ ```
113
+
114
+ ### Options
115
+
116
+ ```bash
117
+ --port=<port> # Server port (default: 3333)
118
+ --pretty # Pretty-print JSON output
119
+ ```
120
+
121
+ ### Per-Worktree Development
122
+
123
+ To run an isolated Vibora instance in a worktree:
124
+
125
+ ```bash
126
+ # Create .env with a different port
127
+ echo "PORT=3223" > .env
128
+
129
+ # Create local .vibora directory for isolated database
130
+ mkdir -p .vibora
131
+
132
+ # Run dev servers (VITE_BACKEND_PORT is set automatically from PORT)
133
+ mise run dev
134
+ ```
135
+
136
+ ## License
137
+
138
+ [PolyForm Shield 1.0.0](LICENSE)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibora",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "vibora": "bin/vibora.js"
@@ -10,7 +10,9 @@
10
10
  "server/",
11
11
  "lib/",
12
12
  "dist/",
13
- "drizzle/"
13
+ "drizzle/",
14
+ "README.md",
15
+ "LICENSE"
14
16
  ],
15
17
  "engines": {
16
18
  "bun": ">=1.0.0"