claude-gh-ticket-gen 1.0.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.
Files changed (62) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +406 -0
  3. package/bin/claude-ticket-gen.js +6 -0
  4. package/dist/cli/commands/config.d.ts +8 -0
  5. package/dist/cli/commands/config.d.ts.map +1 -0
  6. package/dist/cli/commands/config.js +84 -0
  7. package/dist/cli/commands/config.js.map +1 -0
  8. package/dist/cli/commands/generate.d.ts +9 -0
  9. package/dist/cli/commands/generate.d.ts.map +1 -0
  10. package/dist/cli/commands/generate.js +243 -0
  11. package/dist/cli/commands/generate.js.map +1 -0
  12. package/dist/cli/commands/init.d.ts +8 -0
  13. package/dist/cli/commands/init.d.ts.map +1 -0
  14. package/dist/cli/commands/init.js +160 -0
  15. package/dist/cli/commands/init.js.map +1 -0
  16. package/dist/cli/index.d.ts +6 -0
  17. package/dist/cli/index.d.ts.map +1 -0
  18. package/dist/cli/index.js +54 -0
  19. package/dist/cli/index.js.map +1 -0
  20. package/dist/cli/ui.d.ts +38 -0
  21. package/dist/cli/ui.d.ts.map +1 -0
  22. package/dist/cli/ui.js +148 -0
  23. package/dist/cli/ui.js.map +1 -0
  24. package/dist/core/config-manager.d.ts +48 -0
  25. package/dist/core/config-manager.d.ts.map +1 -0
  26. package/dist/core/config-manager.js +165 -0
  27. package/dist/core/config-manager.js.map +1 -0
  28. package/dist/core/duplicate-detector.d.ts +13 -0
  29. package/dist/core/duplicate-detector.d.ts.map +1 -0
  30. package/dist/core/duplicate-detector.js +123 -0
  31. package/dist/core/duplicate-detector.js.map +1 -0
  32. package/dist/core/github.d.ts +46 -0
  33. package/dist/core/github.d.ts.map +1 -0
  34. package/dist/core/github.js +187 -0
  35. package/dist/core/github.js.map +1 -0
  36. package/dist/core/parser.d.ts +17 -0
  37. package/dist/core/parser.d.ts.map +1 -0
  38. package/dist/core/parser.js +177 -0
  39. package/dist/core/parser.js.map +1 -0
  40. package/dist/core/types.d.ts +89 -0
  41. package/dist/core/types.d.ts.map +1 -0
  42. package/dist/core/types.js +28 -0
  43. package/dist/core/types.js.map +1 -0
  44. package/dist/templates/issue-template.d.ts +17 -0
  45. package/dist/templates/issue-template.d.ts.map +1 -0
  46. package/dist/templates/issue-template.js +87 -0
  47. package/dist/templates/issue-template.js.map +1 -0
  48. package/dist/templates/parsing-prompt.d.ts +5 -0
  49. package/dist/templates/parsing-prompt.d.ts.map +1 -0
  50. package/dist/templates/parsing-prompt.js +70 -0
  51. package/dist/templates/parsing-prompt.js.map +1 -0
  52. package/dist/utils/logger.d.ts +69 -0
  53. package/dist/utils/logger.d.ts.map +1 -0
  54. package/dist/utils/logger.js +136 -0
  55. package/dist/utils/logger.js.map +1 -0
  56. package/dist/utils/validators.d.ts +45 -0
  57. package/dist/utils/validators.d.ts.map +1 -0
  58. package/dist/utils/validators.js +80 -0
  59. package/dist/utils/validators.js.map +1 -0
  60. package/examples/ROADMAP.example.md +84 -0
  61. package/examples/config.example.json +22 -0
  62. package/package.json +54 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Brett Buskirk
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,406 @@
1
+ # Claude Ticket Generator
2
+
3
+ AI-powered CLI tool to parse roadmap documents and automatically generate GitHub issues using Claude AI.
4
+
5
+ ## Overview
6
+
7
+ Claude Ticket Generator is a standalone npm package that uses Claude AI to intelligently parse any planning document, roadmap, or specification and automatically create structured GitHub issues. It understands various document formats and extracts tasks with their priorities, types, labels, and metadata.
8
+
9
+ ## Features
10
+
11
+ - **AI-Powered Parsing**: Uses Claude AI to understand document structure and extract tasks
12
+ - **Flexible Format Support**: Works with markdown checklists, bullet points, numbered lists, and plain text
13
+ - **Smart Categorization**: Automatically detects priorities, task types, and labels
14
+ - **Duplicate Detection**: Checks for existing issues to prevent duplicates
15
+ - **Dry Run Mode**: Preview issues before creating them
16
+ - **Label Management**: Automatically creates and manages GitHub labels
17
+ - **Filtering**: Filter by phase, priority, and optional items
18
+ - **Interactive Setup**: Easy configuration wizard
19
+
20
+ ## Prerequisites
21
+
22
+ - Node.js >= 18.0.0
23
+ - [GitHub CLI](https://cli.github.com/) installed and authenticated
24
+ - Anthropic API key (get one at [anthropic.com](https://www.anthropic.com))
25
+
26
+ ## Installation
27
+
28
+ ### Global Installation (Recommended)
29
+
30
+ ```bash
31
+ npm install -g claude-ticket-gen
32
+ ```
33
+
34
+ ### Local Installation
35
+
36
+ ```bash
37
+ npm install claude-ticket-gen
38
+ npx claude-ticket-gen --help
39
+ ```
40
+
41
+ ### From Source
42
+
43
+ ```bash
44
+ git clone https://github.com/brett-buskirk/claude-ticket-gen.git
45
+ cd claude-ticket-gen
46
+ npm install
47
+ npm run build
48
+ npm link
49
+ ```
50
+
51
+ ## Quick Start
52
+
53
+ 1. **Initialize configuration**
54
+
55
+ ```bash
56
+ claude-ticket-gen init
57
+ ```
58
+
59
+ This will guide you through setting up your API key and preferences.
60
+
61
+ 2. **Create a roadmap document**
62
+
63
+ Create a `ROADMAP.md` file in your project (see [example](examples/ROADMAP.example.md)).
64
+
65
+ 3. **Preview issues (dry run)**
66
+
67
+ ```bash
68
+ claude-ticket-gen generate --dry-run
69
+ ```
70
+
71
+ 4. **Generate issues**
72
+
73
+ ```bash
74
+ claude-ticket-gen generate
75
+ ```
76
+
77
+ ## Usage
78
+
79
+ ### Commands
80
+
81
+ #### `generate`
82
+
83
+ Parse a document and generate GitHub issues.
84
+
85
+ ```bash
86
+ claude-ticket-gen generate [file] [options]
87
+ ```
88
+
89
+ **Arguments:**
90
+ - `file` - Path to roadmap/planning document (default: ROADMAP.md)
91
+
92
+ **Options:**
93
+ - `--repo <owner/repo>` - Target GitHub repository (default: current repo)
94
+ - `--dry-run` - Preview without creating issues
95
+ - `--filter-phase <name>` - Filter by phase/section
96
+ - `--min-priority <level>` - Minimum priority level (P0-P3)
97
+ - `--include-optional` - Include optional items
98
+ - `--config <path>` - Use specific config file
99
+
100
+ **Examples:**
101
+
102
+ ```bash
103
+ # Generate from default ROADMAP.md
104
+ claude-ticket-gen generate
105
+
106
+ # Preview without creating
107
+ claude-ticket-gen generate --dry-run
108
+
109
+ # Use specific file
110
+ claude-ticket-gen generate docs/PLANNING.md
111
+
112
+ # Generate for different repo
113
+ claude-ticket-gen generate --repo owner/other-repo
114
+
115
+ # Filter by priority (P0 and P1 only)
116
+ claude-ticket-gen generate --min-priority P1
117
+
118
+ # Filter by phase
119
+ claude-ticket-gen generate --filter-phase "Phase 1"
120
+
121
+ # Include optional tasks
122
+ claude-ticket-gen generate --include-optional
123
+ ```
124
+
125
+ #### `config`
126
+
127
+ Manage configuration settings.
128
+
129
+ ```bash
130
+ # List all configuration
131
+ claude-ticket-gen config list
132
+
133
+ # Get specific value
134
+ claude-ticket-gen config get anthropicApiKey
135
+
136
+ # Set value
137
+ claude-ticket-gen config set anthropicApiKey sk-ant-...
138
+ claude-ticket-gen config set defaultRepo owner/repo
139
+
140
+ # Reset to defaults
141
+ claude-ticket-gen config reset
142
+ ```
143
+
144
+ #### `init`
145
+
146
+ Interactive setup wizard.
147
+
148
+ ```bash
149
+ claude-ticket-gen init
150
+ ```
151
+
152
+ ## Configuration
153
+
154
+ Configuration is stored in `~/.config/claude-ticket-gen/config.json`.
155
+
156
+ ### Configuration Options
157
+
158
+ ```json
159
+ {
160
+ "anthropicApiKey": "sk-ant-...",
161
+ "defaultRepo": "owner/repo",
162
+ "defaultDocPath": "ROADMAP.md",
163
+ "preferences": {
164
+ "dryRunByDefault": false,
165
+ "autoCreateLabels": true,
166
+ "checkDuplicates": true,
167
+ "duplicateThreshold": 0.8
168
+ },
169
+ "labelColors": {
170
+ "priority-critical": "B60205",
171
+ "priority-high": "D93F0B",
172
+ "priority-medium": "FBCA04",
173
+ "priority-low": "0E8A16",
174
+ "type-feature": "0075CA",
175
+ "type-bug": "D73A4A",
176
+ "type-tech-debt": "F9D0C4",
177
+ "type-documentation": "0E8A16",
178
+ "optional": "E4E669"
179
+ }
180
+ }
181
+ ```
182
+
183
+ ## Document Format
184
+
185
+ The tool is flexible and can parse various formats. Here's what it looks for:
186
+
187
+ ### Task Formats
188
+
189
+ ```markdown
190
+ - [ ] Task title (P1)
191
+ - [x] Completed task
192
+ ☐ Checkbox task
193
+ ✓ Completed checkbox
194
+ 1. Numbered task
195
+ * Bullet point task
196
+ We need to implement feature X (plain text)
197
+ ```
198
+
199
+ ### Priority Indicators
200
+
201
+ ```markdown
202
+ - [ ] Critical task (P0)
203
+ - [ ] High priority task (P1)
204
+ - [ ] Medium priority task (P2)
205
+ - [ ] Low priority task (P3)
206
+ - [ ] Urgent: fix this bug (keywords: urgent, critical)
207
+ - [ ] Nice to have feature (keywords: optional, nice-to-have)
208
+ ```
209
+
210
+ ### Task Types
211
+
212
+ The tool automatically detects task types based on context:
213
+ - `feature` - New functionality (default)
214
+ - `bug` - Bug fixes (keywords: bug, fix, issue)
215
+ - `tech-debt` - Technical debt (keywords: refactor, cleanup, tech-debt)
216
+ - `documentation` - Documentation tasks (keywords: docs, documentation)
217
+
218
+ ### Example Document
219
+
220
+ ```markdown
221
+ # Project Roadmap
222
+
223
+ ## Phase 1: Foundation
224
+
225
+ ### Authentication (Critical)
226
+ - [ ] Implement JWT authentication (P0)
227
+ - [ ] Add OAuth2 support (P1)
228
+ - [ ] Create user registration flow (P1)
229
+
230
+ ### Database
231
+ - [ ] Design schema (P0)
232
+ - [ ] Set up migrations (P1)
233
+
234
+ ## Phase 2: Features
235
+
236
+ ### User Dashboard
237
+ - [ ] Create dashboard UI (P1)
238
+ - [ ] Add analytics widgets (P2, optional)
239
+
240
+ ## Bug Fixes
241
+ - [ ] Fix login redirect (P0, bug)
242
+ - [ ] Resolve memory leak (P1, bug)
243
+ ```
244
+
245
+ See [examples/ROADMAP.example.md](examples/ROADMAP.example.md) for a complete example.
246
+
247
+ ## GitHub Labels
248
+
249
+ The tool automatically creates and applies these labels:
250
+
251
+ **Priority Labels:**
252
+ - `priority-critical` (P0) - Red
253
+ - `priority-high` (P1) - Orange
254
+ - `priority-medium` (P2) - Yellow
255
+ - `priority-low` (P3) - Green
256
+
257
+ **Type Labels:**
258
+ - `type-feature` - Blue
259
+ - `type-bug` - Red
260
+ - `type-tech-debt` - Pink
261
+ - `type-documentation` - Green
262
+
263
+ **Other Labels:**
264
+ - `optional` - Yellow
265
+
266
+ You can customize label colors in the configuration.
267
+
268
+ ## How It Works
269
+
270
+ 1. **Document Parsing**: Sends your document to Claude AI with instructions to extract structured task data
271
+ 2. **Task Extraction**: Claude identifies tasks regardless of format and extracts metadata
272
+ 3. **Filtering**: Applies your filter criteria (priority, phase, optional)
273
+ 4. **Duplicate Detection**: Searches existing issues to prevent duplicates
274
+ 5. **Label Creation**: Ensures required labels exist in the repository
275
+ 6. **Issue Creation**: Creates GitHub issues via the `gh` CLI
276
+
277
+ ## Duplicate Detection
278
+
279
+ The tool uses keyword-based similarity to detect duplicates:
280
+ - Searches existing open issues for similar titles
281
+ - Calculates similarity score (Jaccard similarity)
282
+ - Skips creation if similarity exceeds threshold (default: 80%)
283
+ - Configurable via `preferences.duplicateThreshold`
284
+
285
+ ## Troubleshooting
286
+
287
+ ### API Key Issues
288
+
289
+ ```bash
290
+ # Verify API key is set
291
+ claude-ticket-gen config get anthropicApiKey
292
+
293
+ # Set or update API key
294
+ claude-ticket-gen config set anthropicApiKey sk-ant-...
295
+ ```
296
+
297
+ ### GitHub CLI Issues
298
+
299
+ ```bash
300
+ # Check gh is installed
301
+ gh --version
302
+
303
+ # Check authentication
304
+ gh auth status
305
+
306
+ # Re-authenticate if needed
307
+ gh auth login
308
+ ```
309
+
310
+ ### Repository Detection
311
+
312
+ ```bash
313
+ # Check current repo
314
+ gh repo view
315
+
316
+ # Specify repo explicitly
317
+ claude-ticket-gen generate --repo owner/repo
318
+
319
+ # Set default repo
320
+ claude-ticket-gen config set defaultRepo owner/repo
321
+ ```
322
+
323
+ ### No Tasks Found
324
+
325
+ - Verify your document contains actionable items
326
+ - Check that tasks aren't all marked as completed
327
+ - Try with `--include-optional` if tasks are marked optional
328
+ - Use `--dry-run` to see what would be created
329
+
330
+ ## Examples
331
+
332
+ ### Basic Workflow
333
+
334
+ ```bash
335
+ # 1. Setup
336
+ claude-ticket-gen init
337
+
338
+ # 2. Create ROADMAP.md with your tasks
339
+
340
+ # 3. Preview
341
+ claude-ticket-gen generate --dry-run
342
+
343
+ # 4. Generate issues
344
+ claude-ticket-gen generate
345
+ ```
346
+
347
+ ### Advanced Usage
348
+
349
+ ```bash
350
+ # Generate from custom file for specific repo
351
+ claude-ticket-gen generate docs/sprint-plan.md --repo owner/repo
352
+
353
+ # Only create high-priority issues
354
+ claude-ticket-gen generate --min-priority P1
355
+
356
+ # Generate for specific phase
357
+ claude-ticket-gen generate --filter-phase "Phase 1: Foundation"
358
+
359
+ # Preview including optional tasks
360
+ claude-ticket-gen generate --dry-run --include-optional
361
+ ```
362
+
363
+ ## Development
364
+
365
+ ```bash
366
+ # Clone repository
367
+ git clone https://github.com/brett-buskirk/claude-ticket-gen.git
368
+ cd claude-ticket-gen
369
+
370
+ # Install dependencies
371
+ npm install
372
+
373
+ # Build
374
+ npm run build
375
+
376
+ # Run locally
377
+ npm run dev -- generate --dry-run
378
+
379
+ # Link globally for testing
380
+ npm link
381
+ ```
382
+
383
+ ## Contributing
384
+
385
+ Contributions are welcome! Please:
386
+
387
+ 1. Fork the repository
388
+ 2. Create a feature branch
389
+ 3. Make your changes
390
+ 4. Add tests if applicable
391
+ 5. Submit a pull request
392
+
393
+ ## License
394
+
395
+ MIT
396
+
397
+ ## Support
398
+
399
+ - Issues: [GitHub Issues](https://github.com/brett-buskirk/claude-ticket-gen/issues)
400
+ - Documentation: [README.md](README.md)
401
+
402
+ ## Acknowledgments
403
+
404
+ - Built with [Claude AI](https://www.anthropic.com/claude)
405
+ - Uses [GitHub CLI](https://cli.github.com/)
406
+ - Powered by [@anthropic-ai/sdk](https://www.npmjs.com/package/@anthropic-ai/sdk)
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+
3
+ import('../dist/cli/index.js').catch((err) => {
4
+ console.error('Failed to load CLI:', err.message);
5
+ process.exit(1);
6
+ });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Config command implementation
3
+ */
4
+ /**
5
+ * Config command handler
6
+ */
7
+ export declare function configCommand(action?: string, key?: string, value?: string): Promise<void>;
8
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAiFf"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Config command implementation
3
+ */
4
+ import { getConfigValue, setConfigValue, getAllConfig, resetConfig, getConfigPath, } from '../../core/config-manager.js';
5
+ import { logger } from '../../utils/logger.js';
6
+ import { displayConfig } from '../ui.js';
7
+ /**
8
+ * Config command handler
9
+ */
10
+ export async function configCommand(action, key, value) {
11
+ try {
12
+ if (!action || action === 'list') {
13
+ // List all config
14
+ const config = getAllConfig();
15
+ console.log();
16
+ logger.header('Configuration');
17
+ displayConfig(config);
18
+ console.log();
19
+ logger.dim(`Config file: ${getConfigPath()}`);
20
+ console.log();
21
+ return;
22
+ }
23
+ if (action === 'get') {
24
+ // Get specific value
25
+ if (!key) {
26
+ logger.error('Key is required for get action');
27
+ console.log('Usage: claude-ticket-gen config get <key>');
28
+ process.exit(1);
29
+ }
30
+ const val = getConfigValue(key);
31
+ if (val === undefined) {
32
+ logger.warning(`Key "${key}" not found`);
33
+ process.exit(1);
34
+ }
35
+ // Mask API key
36
+ if (key.includes('apiKey') && typeof val === 'string') {
37
+ const masked = val.substring(0, 12) + '...' + val.substring(val.length - 4);
38
+ console.log(masked);
39
+ }
40
+ else {
41
+ console.log(JSON.stringify(val, null, 2));
42
+ }
43
+ return;
44
+ }
45
+ if (action === 'set') {
46
+ // Set value
47
+ if (!key) {
48
+ logger.error('Key is required for set action');
49
+ console.log('Usage: claude-ticket-gen config set <key> <value>');
50
+ process.exit(1);
51
+ }
52
+ if (value === undefined) {
53
+ logger.error('Value is required for set action');
54
+ console.log('Usage: claude-ticket-gen config set <key> <value>');
55
+ process.exit(1);
56
+ }
57
+ try {
58
+ setConfigValue(key, value);
59
+ logger.success(`Set ${key} = ${key.includes('apiKey') ? '****' : value}`);
60
+ }
61
+ catch (error) {
62
+ logger.error(error.message);
63
+ process.exit(1);
64
+ }
65
+ return;
66
+ }
67
+ if (action === 'reset') {
68
+ // Reset to defaults
69
+ resetConfig();
70
+ logger.success('Configuration reset to defaults');
71
+ logger.warning('You will need to set your API key again');
72
+ return;
73
+ }
74
+ // Unknown action
75
+ logger.error(`Unknown action: ${action}`);
76
+ console.log('Available actions: get, set, list, reset');
77
+ process.exit(1);
78
+ }
79
+ catch (error) {
80
+ logger.error(`Config command failed: ${error.message}`);
81
+ process.exit(1);
82
+ }
83
+ }
84
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Generate command implementation
3
+ */
4
+ import { GenerateOptions } from '../../core/types.js';
5
+ /**
6
+ * Generate command handler
7
+ */
8
+ export declare function generateCommand(file?: string, options?: GenerateOptions): Promise<void>;
9
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAc,eAAe,EAA+B,MAAM,qBAAqB,CAAC;AAU/F;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0IjG"}