@vibedx/vibekit 0.1.0
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/LICENSE +21 -0
- package/README.md +368 -0
- package/assets/config.yml +35 -0
- package/assets/default.md +47 -0
- package/assets/instructions/README.md +46 -0
- package/assets/instructions/claude.md +83 -0
- package/assets/instructions/codex.md +19 -0
- package/index.js +106 -0
- package/package.json +90 -0
- package/src/commands/close/index.js +66 -0
- package/src/commands/close/index.test.js +235 -0
- package/src/commands/get-started/index.js +138 -0
- package/src/commands/get-started/index.test.js +246 -0
- package/src/commands/init/index.js +51 -0
- package/src/commands/init/index.test.js +159 -0
- package/src/commands/link/index.js +395 -0
- package/src/commands/link/index.test.js +28 -0
- package/src/commands/lint/index.js +657 -0
- package/src/commands/lint/index.test.js +569 -0
- package/src/commands/list/index.js +131 -0
- package/src/commands/list/index.test.js +153 -0
- package/src/commands/new/index.js +305 -0
- package/src/commands/new/index.test.js +256 -0
- package/src/commands/refine/index.js +741 -0
- package/src/commands/refine/index.test.js +28 -0
- package/src/commands/review/index.js +957 -0
- package/src/commands/review/index.test.js +193 -0
- package/src/commands/start/index.js +180 -0
- package/src/commands/start/index.test.js +88 -0
- package/src/commands/unlink/index.js +123 -0
- package/src/commands/unlink/index.test.js +22 -0
- package/src/utils/arrow-select.js +233 -0
- package/src/utils/cli.js +489 -0
- package/src/utils/cli.test.js +9 -0
- package/src/utils/git.js +146 -0
- package/src/utils/git.test.js +330 -0
- package/src/utils/index.js +193 -0
- package/src/utils/index.test.js +375 -0
- package/src/utils/prompts.js +47 -0
- package/src/utils/prompts.test.js +165 -0
- package/src/utils/test-helpers.js +492 -0
- package/src/utils/ticket.js +423 -0
- package/src/utils/ticket.test.js +190 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 vibedx
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
```
|
|
2
|
+
╭─────────────────────────────────────────────────────────────────╮
|
|
3
|
+
│ │
|
|
4
|
+
│ ██╗ ██╗██╗██████╗ ███████╗ ██╗ ██╗██╗████████╗ │
|
|
5
|
+
│ ██║ ██║██║██╔══██╗██╔════╝ ██║ ██╔╝██║╚══██╔══╝ │
|
|
6
|
+
│ ██║ ██║██║██████╔╝█████╗ █████╔╝ ██║ ██║ │
|
|
7
|
+
│ ╚██╗ ██╔╝██║██╔══██╗██╔══╝ ██╔═██╗ ██║ ██║ │
|
|
8
|
+
│ ╚████╔╝ ██║██████╔╝███████╗ ██║ ██╗██║ ██║ │
|
|
9
|
+
│ ╚═══╝ ╚═╝╚═════╝ ╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ │
|
|
10
|
+
│ │
|
|
11
|
+
╰─────────────────────────────────────────────────────────────────╯
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
<div align="center">
|
|
15
|
+
|
|
16
|
+
[](https://www.npmjs.com/package/@vibedx/vibekit)
|
|
17
|
+
[](https://www.npmjs.com/package/@vibedx/vibekit)
|
|
18
|
+
[](https://github.com/vibedx/vibekit/blob/main/LICENSE)
|
|
19
|
+
|
|
20
|
+
**A CLI tool to help you vibe your code better** ✨
|
|
21
|
+
*Vibe your development workflow*
|
|
22
|
+
_vibekit uses vibekit to develop vibekit - we vibin!_ 🔄
|
|
23
|
+
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 🚀 Quick Start
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Install globally
|
|
32
|
+
npm install -g @vibedx/vibekit
|
|
33
|
+
|
|
34
|
+
# Initialize in your project
|
|
35
|
+
vibe init
|
|
36
|
+
|
|
37
|
+
# Create your first ticket
|
|
38
|
+
vibe new "Add user authentication"
|
|
39
|
+
|
|
40
|
+
# Start working on it
|
|
41
|
+
vibe start TKT-001
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 🤔 Why VibeKit?
|
|
45
|
+
|
|
46
|
+
- **🎯 Vibe code with manageable smaller tasks** - Break down complex features into focused tickets
|
|
47
|
+
- **🎮 Stay in control** - You drive the development, AI assists with structure and clarity
|
|
48
|
+
- **🧠 Less model hallucination** - Clear, scoped tickets reduce AI confusion and improve accuracy
|
|
49
|
+
- **📚 Develop docs as you go** - Maintain work history and context with every ticket
|
|
50
|
+
- **🔍 Let models vibe review** - AI can review your work against the original ticket requirements
|
|
51
|
+
- **🚀 AI-native ticket management** - Purpose-built for AI-assisted development workflows
|
|
52
|
+
- **⚡ Generate tickets using Claude Code and Codex power** - Leverage cutting-edge AI for planning
|
|
53
|
+
- **🔄 Seamless git workflow** - Automatic branch creation and status tracking
|
|
54
|
+
- **📝 Living documentation** - Your tickets in git become your project's development story
|
|
55
|
+
|
|
56
|
+
## ✨ Features
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
🎯 Smart Ticket Management 📋 Interactive Lists & Filters
|
|
60
|
+
🔗 Git Branch Integration 🤖 AI-Powered Enhancement (Claude Code / Codex)
|
|
61
|
+
📝 Customizable Templates 🔍 Quality Validation & Auto-Fix
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
- **🎯 Smart Tickets**: Create, manage, and track development tickets with unique IDs
|
|
65
|
+
- **🔗 Git Integration**: Automatic branch creation and workflow management
|
|
66
|
+
- **🤖 AI Enhancement**: Claude Code integration for ticket refinement and content improvement
|
|
67
|
+
- **📋 Interactive CLI**: Beautiful terminal interface with arrow navigation
|
|
68
|
+
- **📝 Templates**: Customizable ticket templates for consistent workflows
|
|
69
|
+
- **🔍 Quality Control**: Automated linting and validation with auto-fix capabilities
|
|
70
|
+
- **🚀 Quick Actions**: One-command ticket creation, status updates, and more
|
|
71
|
+
|
|
72
|
+
## 📚 Commands Reference
|
|
73
|
+
|
|
74
|
+
### 🏗️ Project Setup
|
|
75
|
+
```bash
|
|
76
|
+
# Initialize VibeKit in your project
|
|
77
|
+
vibe init [--with-samples|-s]
|
|
78
|
+
|
|
79
|
+
# Get started with sample tickets and guide
|
|
80
|
+
vibe get-started
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 🎫 Ticket Management
|
|
84
|
+
```bash
|
|
85
|
+
# Create a new ticket
|
|
86
|
+
vibe new "Fix login bug"
|
|
87
|
+
vibe new "Add dark mode" --priority high --status open
|
|
88
|
+
|
|
89
|
+
# List all tickets (with optional filtering)
|
|
90
|
+
vibe list
|
|
91
|
+
vibe list --status=open
|
|
92
|
+
|
|
93
|
+
# Close/complete a ticket
|
|
94
|
+
vibe close TKT-001
|
|
95
|
+
|
|
96
|
+
# Start working on a ticket (creates git branch)
|
|
97
|
+
vibe start TKT-001
|
|
98
|
+
vibe start TKT-001 --base main --update-status
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 🤖 AI Integration
|
|
102
|
+
```bash
|
|
103
|
+
# Connect Claude Code for ticket enhancement
|
|
104
|
+
vibe link
|
|
105
|
+
|
|
106
|
+
# Enhance a ticket using Claude with AI
|
|
107
|
+
vibe refine TKT-001
|
|
108
|
+
|
|
109
|
+
# Interactive refinement with custom goals
|
|
110
|
+
vibe refine TKT-005 "focus on performance and error handling"
|
|
111
|
+
|
|
112
|
+
# Disconnect AI integration
|
|
113
|
+
vibe unlink
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 🔍 Quality & Validation
|
|
117
|
+
```bash
|
|
118
|
+
# Validate ticket documentation formatting
|
|
119
|
+
vibe lint
|
|
120
|
+
|
|
121
|
+
# Lint with detailed output including warnings
|
|
122
|
+
vibe lint --verbose
|
|
123
|
+
|
|
124
|
+
# Automatically fix missing frontmatter fields and sections
|
|
125
|
+
vibe lint --fix
|
|
126
|
+
|
|
127
|
+
# Lint a specific ticket file
|
|
128
|
+
vibe lint TKT-001-example.md
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## 🛠️ Usage Examples
|
|
132
|
+
|
|
133
|
+
### Creating Your First Workflow
|
|
134
|
+
```bash
|
|
135
|
+
# 1. Initialize your project
|
|
136
|
+
$ vibe init --with-samples
|
|
137
|
+
✅ Created .vibe directory structure
|
|
138
|
+
📝 Added sample tickets and templates
|
|
139
|
+
|
|
140
|
+
# 2. Create a new feature ticket
|
|
141
|
+
$ vibe new "Add dark mode toggle" --priority high
|
|
142
|
+
🎫 Created TKT-004: Add dark mode toggle
|
|
143
|
+
🤖 Want to enhance with AI? (y/n) y
|
|
144
|
+
|
|
145
|
+
# 3. Start working on it
|
|
146
|
+
$ vibe start TKT-004
|
|
147
|
+
🌿 Created branch: feature/TKT-004-add-dark-mode-toggle
|
|
148
|
+
📝 Updated ticket status to in_progress
|
|
149
|
+
|
|
150
|
+
# 4. Check your progress
|
|
151
|
+
$ vibe list
|
|
152
|
+
┌─────────┬──────────────┬─────────────────────────────┐
|
|
153
|
+
│ ID │ Status │ Title │
|
|
154
|
+
├─────────┼──────────────┼─────────────────────────────┤
|
|
155
|
+
│ TKT-004 │ in_progress │ Add dark mode toggle │
|
|
156
|
+
│ TKT-003 │ open │ Fix responsive layout │
|
|
157
|
+
│ TKT-002 │ done │ Setup authentication │
|
|
158
|
+
└─────────┴──────────────┴─────────────────────────────┘
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Working with AI Enhancement
|
|
162
|
+
```bash
|
|
163
|
+
# Connect Claude Code (one-time setup)
|
|
164
|
+
$ vibe link
|
|
165
|
+
🔗 Configure Claude Code integration
|
|
166
|
+
✨ Enter your API key: [hidden]
|
|
167
|
+
✅ AI features enabled!
|
|
168
|
+
|
|
169
|
+
# Claude will automatically enhance new tickets
|
|
170
|
+
$ vibe new "Optimize database queries"
|
|
171
|
+
🎫 Created TKT-005: Optimize database queries
|
|
172
|
+
🤖 Enhancing using Claude...
|
|
173
|
+
✨ Added acceptance criteria, technical details, and test plan!
|
|
174
|
+
|
|
175
|
+
# Or refine existing tickets with AI
|
|
176
|
+
$ vibe refine TKT-003
|
|
177
|
+
▶ Analyzing ticket TKT-003...
|
|
178
|
+
ℹ Found: TKT-003 - Fix responsive layout
|
|
179
|
+
🧠 Analyzing ticket content...
|
|
180
|
+
✨ Generating enhancements...
|
|
181
|
+
|
|
182
|
+
🔧 Refinement Options
|
|
183
|
+
❯ Apply refinements to ticket
|
|
184
|
+
Ask for changes/improvements
|
|
185
|
+
View diff in terminal
|
|
186
|
+
Cancel and exit
|
|
187
|
+
|
|
188
|
+
# View what Claude enhanced before applying
|
|
189
|
+
📊 TICKET REFINEMENT DIFF
|
|
190
|
+
═══════════════════════════════════════
|
|
191
|
+
🔹 Title (refined):
|
|
192
|
+
────────────────────────────────────────
|
|
193
|
+
Fix responsive layout issues in `src/components/Layout.jsx`
|
|
194
|
+
|
|
195
|
+
🔹 Implementation Notes (refined):
|
|
196
|
+
────────────────────────────────────────
|
|
197
|
+
- Update CSS Grid in `src/styles/layout.css` for mobile breakpoints
|
|
198
|
+
- Add `useMediaQuery()` hook for responsive state management
|
|
199
|
+
- Test on devices: iPhone SE, iPad, desktop (1920px+)
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Quality Control with Lint
|
|
203
|
+
```bash
|
|
204
|
+
# Check all tickets for formatting issues
|
|
205
|
+
$ vibe lint
|
|
206
|
+
🔍 VibeKit Ticket Linter Results
|
|
207
|
+
|
|
208
|
+
❌ TKT-001-setup.md
|
|
209
|
+
Error: Missing required frontmatter field: slug
|
|
210
|
+
Error: Missing required section: ## Implementation Notes
|
|
211
|
+
|
|
212
|
+
❌ TKT-003-responsive.md
|
|
213
|
+
Error: Invalid status "in-review". Must be one of: open, in_progress, review, done
|
|
214
|
+
Error: Section "## Testing & Test Cases" appears to be empty or too short
|
|
215
|
+
|
|
216
|
+
✅ TKT-002-auth.md
|
|
217
|
+
|
|
218
|
+
📊 Summary:
|
|
219
|
+
Files checked: 3
|
|
220
|
+
Files with issues: 2
|
|
221
|
+
Total errors: 4
|
|
222
|
+
Total warnings: 0
|
|
223
|
+
|
|
224
|
+
💡 Fix the errors above to ensure consistent ticket formatting.
|
|
225
|
+
💡 Use --fix flag to automatically fix missing sections.
|
|
226
|
+
|
|
227
|
+
# Automatically fix missing fields and sections
|
|
228
|
+
$ vibe lint --fix
|
|
229
|
+
🔍 VibeKit Ticket Linter Results
|
|
230
|
+
|
|
231
|
+
🔧 TKT-001-setup.md (FIXED)
|
|
232
|
+
Fixed: 1 missing frontmatter fields and 3 missing sections
|
|
233
|
+
|
|
234
|
+
❌ TKT-003-responsive.md
|
|
235
|
+
Error: Invalid status "in-review". Must be one of: open, in_progress, review, done
|
|
236
|
+
|
|
237
|
+
📊 Summary:
|
|
238
|
+
Files checked: 3
|
|
239
|
+
Files with issues: 1
|
|
240
|
+
Files fixed: 1
|
|
241
|
+
Total errors: 1
|
|
242
|
+
Total warnings: 1
|
|
243
|
+
|
|
244
|
+
🎉 Most issues have been fixed! Please review and fix remaining errors manually.
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## ⚙️ Configuration
|
|
248
|
+
|
|
249
|
+
VibeKit creates a `.vibe` directory in your project root:
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
📁 .vibe/
|
|
253
|
+
├── 📋 config.yml # Main configuration
|
|
254
|
+
├── 📁 .templates/ # Ticket templates
|
|
255
|
+
│ └── 📄 default.md # Default ticket template
|
|
256
|
+
├── 📁 tickets/ # Your ticket files
|
|
257
|
+
│ ├── 🎫 TKT-001-setup.md
|
|
258
|
+
│ └── 🎫 TKT-002-auth.md
|
|
259
|
+
└── 📄 README.md # Project guidance
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Sample config.yml
|
|
263
|
+
```yaml
|
|
264
|
+
# Project settings
|
|
265
|
+
project:
|
|
266
|
+
name: vibekit
|
|
267
|
+
description: CLI tool for managing tickets, project context, and AI suggestions
|
|
268
|
+
|
|
269
|
+
# Ticket settings
|
|
270
|
+
tickets:
|
|
271
|
+
path: .vibe/tickets
|
|
272
|
+
id_format: TKT-{number}
|
|
273
|
+
default_template: .vibe/.templates/default.md
|
|
274
|
+
use_status_folders: false
|
|
275
|
+
slug:
|
|
276
|
+
max_length: 30
|
|
277
|
+
word_limit: 5
|
|
278
|
+
status_options:
|
|
279
|
+
- open
|
|
280
|
+
- in_progress
|
|
281
|
+
- review
|
|
282
|
+
- done
|
|
283
|
+
priority_options:
|
|
284
|
+
- low
|
|
285
|
+
- medium
|
|
286
|
+
- high
|
|
287
|
+
- critical
|
|
288
|
+
|
|
289
|
+
# AI integration
|
|
290
|
+
ai:
|
|
291
|
+
enabled: true
|
|
292
|
+
provider: claude-code
|
|
293
|
+
|
|
294
|
+
# Git integration
|
|
295
|
+
git:
|
|
296
|
+
branch_prefix: feature/
|
|
297
|
+
default_base: main
|
|
298
|
+
|
|
299
|
+
# Hooks
|
|
300
|
+
hooks:
|
|
301
|
+
pre_commit: false
|
|
302
|
+
post_checkout: false
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
## 🤝 Contributing & Feedback
|
|
306
|
+
|
|
307
|
+
We'd love your help making VibeKit better! Here's how you can contribute:
|
|
308
|
+
|
|
309
|
+
- 🐛 **Report bugs** → [GitHub Issues](https://github.com/vibedx/vibekit/issues)
|
|
310
|
+
- 💡 **Suggest features** → [Discussions](https://github.com/vibedx/vibekit/discussions)
|
|
311
|
+
- 🔧 **Submit PRs** → [Contributing Guide](https://github.com/vibedx/vibekit/blob/main/CONTRIBUTING.md)
|
|
312
|
+
- ⭐ **Star the repo** → Show your support!
|
|
313
|
+
|
|
314
|
+
### Development Setup
|
|
315
|
+
```bash
|
|
316
|
+
git clone https://github.com/vibedx/vibekit.git
|
|
317
|
+
cd vibekit
|
|
318
|
+
npm install
|
|
319
|
+
npm start # Watch mode
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## 👥 Contributors
|
|
323
|
+
|
|
324
|
+
<div align="center">
|
|
325
|
+
|
|
326
|
+
*Thank you to everyone who helps make VibeKit better!*
|
|
327
|
+
|
|
328
|
+
**Maintainer**: [Ives van Hoorne](https://github.com/ivesvan)
|
|
329
|
+
|
|
330
|
+
*Want to see your name here? [Contribute to the project!](https://github.com/vibedx/vibekit/blob/main/CONTRIBUTING.md)*
|
|
331
|
+
|
|
332
|
+
</div>
|
|
333
|
+
|
|
334
|
+
## Release Preparation
|
|
335
|
+
|
|
336
|
+
### Prerequisites
|
|
337
|
+
- [ ] NPM account with publish permissions
|
|
338
|
+
- [ ] All features tested and working
|
|
339
|
+
- [ ] Documentation updated
|
|
340
|
+
- [ ] CHANGELOG.md updated (if applicable)
|
|
341
|
+
|
|
342
|
+
### Release Steps
|
|
343
|
+
1. **Test the build**: `npm start` to verify everything works
|
|
344
|
+
2. **Version bump**:
|
|
345
|
+
- Patch: `npm version patch` (bug fixes)
|
|
346
|
+
- Minor: `npm version minor` (new features)
|
|
347
|
+
- Major: `npm version major` (breaking changes)
|
|
348
|
+
3. **Publish**: `npm publish --access=public` (for scoped packages)
|
|
349
|
+
4. **Verify**: `npm info @vibedx/vibekit` to confirm publication
|
|
350
|
+
|
|
351
|
+
### Pre-Release Checklist
|
|
352
|
+
- [ ] All commands work as expected
|
|
353
|
+
- [ ] No sensitive data in published files
|
|
354
|
+
- [ ] Package.json metadata is correct
|
|
355
|
+
- [ ] README reflects current functionality
|
|
356
|
+
- [ ] Version number follows semantic versioning
|
|
357
|
+
|
|
358
|
+
## Contributing
|
|
359
|
+
|
|
360
|
+
1. Fork the repository
|
|
361
|
+
2. Create your feature branch
|
|
362
|
+
3. Commit your changes
|
|
363
|
+
4. Push to the branch
|
|
364
|
+
5. Create a Pull Request
|
|
365
|
+
|
|
366
|
+
## License
|
|
367
|
+
|
|
368
|
+
MIT
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# VibeKit Configuration
|
|
2
|
+
# Created: 2025-05-27
|
|
3
|
+
|
|
4
|
+
project:
|
|
5
|
+
name: ""
|
|
6
|
+
description: ""
|
|
7
|
+
|
|
8
|
+
tickets:
|
|
9
|
+
path: ".vibe/tickets"
|
|
10
|
+
id_format: "TKT-{number}"
|
|
11
|
+
default_template: ".vibe/.templates/default.md"
|
|
12
|
+
use_status_folders: false
|
|
13
|
+
status_options:
|
|
14
|
+
- open
|
|
15
|
+
- in_progress
|
|
16
|
+
- review
|
|
17
|
+
- done
|
|
18
|
+
priority_options:
|
|
19
|
+
- low
|
|
20
|
+
- medium
|
|
21
|
+
- high
|
|
22
|
+
- critical
|
|
23
|
+
|
|
24
|
+
ai:
|
|
25
|
+
enabled: false
|
|
26
|
+
provider: "none"
|
|
27
|
+
|
|
28
|
+
hooks:
|
|
29
|
+
pre_commit: false
|
|
30
|
+
post_checkout: false
|
|
31
|
+
|
|
32
|
+
review:
|
|
33
|
+
acceptance_threshold: 80
|
|
34
|
+
good_threshold: 80
|
|
35
|
+
warning_threshold: 60
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: TKT-{id}
|
|
3
|
+
title: {title}
|
|
4
|
+
slug: {slug}
|
|
5
|
+
status: open
|
|
6
|
+
priority: medium
|
|
7
|
+
created_at: {date}
|
|
8
|
+
updated_at: {date}
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Description
|
|
12
|
+
|
|
13
|
+
<!-- Write the task details, requirements, and any other relevant information here. -->
|
|
14
|
+
|
|
15
|
+
## Acceptance Criteria
|
|
16
|
+
|
|
17
|
+
<!-- List the specific conditions that must be met for this ticket to be considered complete. -->
|
|
18
|
+
|
|
19
|
+
## Code Quality
|
|
20
|
+
|
|
21
|
+
<!-- List the specific conditions that must be met for this ticket to be considered complete. -->
|
|
22
|
+
|
|
23
|
+
## Implementation Notes
|
|
24
|
+
|
|
25
|
+
<!-- Technical details, references, or implementation context that might be helpful. -->
|
|
26
|
+
|
|
27
|
+
## Design / UX Considerations
|
|
28
|
+
|
|
29
|
+
<!-- Add any design links (Figma, etc.) or UX considerations here. -->
|
|
30
|
+
|
|
31
|
+
## Testing & Test Cases
|
|
32
|
+
|
|
33
|
+
<!-- Brief, focused test cases and verification steps. Keep concise. -->
|
|
34
|
+
|
|
35
|
+
## AI Prompt
|
|
36
|
+
|
|
37
|
+
<!-- Add the AI instructions or input prompt here. For example, explain what needs to be generated or reviewed by AI. -->
|
|
38
|
+
|
|
39
|
+
## Expected AI Output
|
|
40
|
+
|
|
41
|
+
<!-- (Optional) Describe the kind of output or format you expect from the AI — code, checklist, response, etc. -->
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## AI Workflow
|
|
45
|
+
|
|
46
|
+
<!-- NOTE (Do not remove) -->
|
|
47
|
+
Always use `vibe start` to start working on this ticket and `vibe close` to close this ticket when done. Keep tickets up to date with implementation details and progress. Read .vibe/.context/aiworkflow directory for following vibekit cli workflow and follow the instructions to work on the tickets.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# AI Instructions Templates
|
|
2
|
+
|
|
3
|
+
This directory contains instruction templates for different AI coding assistants that can be used with VibeKit.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
### `claude.md`
|
|
8
|
+
Template for Claude Code (Anthropic) instructions. This file is copied to `.context/instructions/claude.md` when running `vibe link` to configure Claude Code integration.
|
|
9
|
+
|
|
10
|
+
### `codex.md`
|
|
11
|
+
Placeholder template for future OpenAI Codex integration. Coming soon.
|
|
12
|
+
|
|
13
|
+
## How It Works
|
|
14
|
+
|
|
15
|
+
1. **Templates stored here** - All AI instruction templates are maintained in `assets/instructions/`
|
|
16
|
+
2. **Copied on link** - When running `vibe link`, the appropriate template is copied to `.context/instructions/`
|
|
17
|
+
3. **AI reads from .context** - AI assistants automatically read instructions from `.context/instructions/`
|
|
18
|
+
|
|
19
|
+
## Adding New AI Providers
|
|
20
|
+
|
|
21
|
+
To add support for a new AI provider:
|
|
22
|
+
|
|
23
|
+
1. Create a new template file: `assets/instructions/{provider}.md`
|
|
24
|
+
2. Update the link command to handle the new provider
|
|
25
|
+
3. Ensure the template follows VibeKit's ticket-driven workflow
|
|
26
|
+
|
|
27
|
+
## Directory Structure
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
assets/instructions/
|
|
31
|
+
├── README.md # This file
|
|
32
|
+
├── claude.md # Claude Code template
|
|
33
|
+
└── codex.md # OpenAI Codex template (placeholder)
|
|
34
|
+
|
|
35
|
+
.context/instructions/ (created by vibe link)
|
|
36
|
+
├── README.md # Generated documentation
|
|
37
|
+
├── claude.md # Active Claude instructions
|
|
38
|
+
└── codex.md # Active Codex instructions (when available)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Best Practices
|
|
42
|
+
|
|
43
|
+
- Keep instructions focused on VibeKit's ticket-driven workflow
|
|
44
|
+
- Include clear command references and examples
|
|
45
|
+
- Emphasize the "ticket-first" approach for all changes
|
|
46
|
+
- Update templates when adding new VibeKit features
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# VibeKit Instructions for Claude
|
|
2
|
+
|
|
3
|
+
⚠️ **IMPORTANT**: Only modify this file if you understand that Claude Code will use these instructions as workflow guidelines for this project. These instructions will be automatically followed by Claude when working in this codebase.
|
|
4
|
+
|
|
5
|
+
## 🎯 PRIMARY RULE: Always Work Through Tickets
|
|
6
|
+
This project uses VibeKit for organized development. **For ANY task, feature, or bug fix:**
|
|
7
|
+
|
|
8
|
+
1. **Create a ticket first**: `vibe new`
|
|
9
|
+
2. **Start working**: `vibe start <ticket-id>`
|
|
10
|
+
3. **Track progress**: `vibe list`
|
|
11
|
+
4. **Close when done**: `vibe close <ticket-id>`
|
|
12
|
+
|
|
13
|
+
## 📋 VibeKit Commands Reference
|
|
14
|
+
- `vibe new` - Create new ticket (ALWAYS do this first!)
|
|
15
|
+
- `vibe list` - List all tickets with status
|
|
16
|
+
- `vibe start <id>` - Start working on ticket (creates/switches branch)
|
|
17
|
+
- `vibe close <id>` - Close ticket and merge branch
|
|
18
|
+
- `vibe link` - Configure AI provider (Claude Code)
|
|
19
|
+
- `vibe unlink` - Disable AI features
|
|
20
|
+
|
|
21
|
+
## 🔄 Mandatory Workflow Rules
|
|
22
|
+
1. **NO direct code changes** - Always create a ticket first with `vibe new`
|
|
23
|
+
2. **Descriptive tickets** - Clear title and detailed acceptance criteria
|
|
24
|
+
3. **One feature per ticket** - Keep scope focused and manageable
|
|
25
|
+
4. **Branch per ticket** - `vibe start` handles branch creation automatically
|
|
26
|
+
5. **Ticket-driven development** - Even for small changes or fixes
|
|
27
|
+
|
|
28
|
+
## 🏗️ Ticket Structure
|
|
29
|
+
Located in `.vibe/tickets/` with YAML frontmatter:
|
|
30
|
+
- id, title, status, priority
|
|
31
|
+
- created_at, updated_at timestamps
|
|
32
|
+
- Detailed description and acceptance criteria
|
|
33
|
+
|
|
34
|
+
## 🔐 AI Integration
|
|
35
|
+
- Claude Code integrated via Anthropic API
|
|
36
|
+
- Uses environment variables (ANTHROPIC_API_KEY) or .env files
|
|
37
|
+
- No credentials stored in config files
|
|
38
|
+
- Configuration via `vibe link`
|
|
39
|
+
|
|
40
|
+
## 💡 Best Practices for Claude
|
|
41
|
+
- Always start with `vibe new` before any code changes
|
|
42
|
+
- Use clear, descriptive ticket titles
|
|
43
|
+
- Include detailed acceptance criteria in tickets
|
|
44
|
+
- Follow the branch workflow via `vibe start`
|
|
45
|
+
- Keep tickets focused and actionable
|
|
46
|
+
- Reference ticket IDs in commits
|
|
47
|
+
|
|
48
|
+
## ✍️ Ticket Content Guidelines
|
|
49
|
+
When refining or creating tickets, use technical, developer-friendly formatting:
|
|
50
|
+
|
|
51
|
+
### Code Formatting
|
|
52
|
+
- File paths: `src/components/Button.jsx`, `package.json`, `README.md`
|
|
53
|
+
- Commands: `vibe init`, `npm install`, `git commit -m "message"`
|
|
54
|
+
- Functions: `handleClick()`, `useState()`, `createSlug()`
|
|
55
|
+
- Variables: `isLoading`, `userInput`, `selectedIndex`
|
|
56
|
+
- Code snippets for any code examples or configuration
|
|
57
|
+
|
|
58
|
+
### Content Structure
|
|
59
|
+
- Keep "Testing & Test Cases" section brief (2-4 key test points maximum)
|
|
60
|
+
- Use "Implementation Notes" instead of "Notes" for technical details
|
|
61
|
+
- Be specific about file paths, function names, and technical requirements
|
|
62
|
+
- Include specific acceptance criteria with technical details
|
|
63
|
+
- Reference exact file locations and function signatures when relevant
|
|
64
|
+
|
|
65
|
+
### Technical Language
|
|
66
|
+
- Use precise technical terminology
|
|
67
|
+
- Include specific error handling requirements
|
|
68
|
+
- Mention performance considerations when relevant
|
|
69
|
+
- Reference specific libraries, frameworks, or APIs being used
|
|
70
|
+
|
|
71
|
+
## 🚀 Example Workflow
|
|
72
|
+
```bash
|
|
73
|
+
# User asks: "Add a dark mode toggle"
|
|
74
|
+
vibe new # Create ticket first
|
|
75
|
+
vibe start TKT-XXX # Start working on the ticket
|
|
76
|
+
# Make changes, commit with ticket reference
|
|
77
|
+
vibe close TKT-XXX # Close when complete
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Remember: VibeKit promotes organized, ticket-driven development. Always create tickets first!**
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
*This file is automatically created by VibeKit. Future versions will support Codex and other AI providers.*
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# VibeKit Instructions for OpenAI Codex
|
|
2
|
+
|
|
3
|
+
🚧 **COMING SOON**: OpenAI Codex integration for VibeKit
|
|
4
|
+
|
|
5
|
+
This file will contain instructions for OpenAI Codex when support is added to VibeKit.
|
|
6
|
+
|
|
7
|
+
## Planned Features
|
|
8
|
+
- Automatic code generation for tickets
|
|
9
|
+
- Code review and improvement suggestions
|
|
10
|
+
- Test case generation
|
|
11
|
+
- Documentation generation
|
|
12
|
+
|
|
13
|
+
## Current Status
|
|
14
|
+
OpenAI Codex support is planned for a future release.
|
|
15
|
+
|
|
16
|
+
For now, use Claude Code integration with `vibe link`.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
*This file is a placeholder for future OpenAI Codex integration.*
|