@bragduck/cli 2.29.2 โ 2.30.2
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 +138 -300
- package/dist/bin/bragduck.js +168 -579
- package/dist/bin/bragduck.js.map +1 -1
- package/dist/index.js +85 -83
- package/dist/index.js.map +1 -1
- package/package.json +3 -12
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Bragduck CLI
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Part of the [BragDuck monorepo](../../README.md). Run all commands from the monorepo root unless noted otherwise.
|
|
4
|
+
|
|
5
|
+
> Sync work items from GitHub, GitLab, Bitbucket, Jira, and Confluence into polished achievements with AI-powered refinement
|
|
4
6
|
|
|
5
7
|
[](https://www.npmjs.com/package/@bragduck/cli)
|
|
6
8
|
[](https://nodejs.org)
|
|
@@ -9,22 +11,22 @@
|
|
|
9
11
|
|
|
10
12
|
## Overview
|
|
11
13
|
|
|
12
|
-
Bragduck CLI
|
|
14
|
+
Bragduck CLI helps developers track and showcase their achievements by syncing work items from multiple sources (GitHub, GitLab, Bitbucket, Jira, Confluence) and refining them into polished "brags" using AI. Perfect for performance reviews, portfolio updates, or keeping track of accomplishments.
|
|
13
15
|
|
|
14
16
|
### Why Bragduck?
|
|
15
17
|
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
18
|
+
- **Multi-Source Sync**: Pull work items from GitHub, GitLab, Bitbucket, Jira, and Confluence
|
|
19
|
+
- **AI-Powered**: Automatically refines work items into professional achievements
|
|
20
|
+
- **Context-Aware**: Analyzes PRs, issues, and project data for meaningful brags
|
|
21
|
+
- **Secure**: OAuth and token-based authentication with encrypted credential storage
|
|
22
|
+
- **Beautiful UI**: Interactive terminal experience with colors and spinners
|
|
23
|
+
- **Cross-Platform**: Works on macOS, Windows, and Linux
|
|
22
24
|
|
|
23
25
|
## Prerequisites
|
|
24
26
|
|
|
25
27
|
Before installing Bragduck CLI, you need:
|
|
26
28
|
|
|
27
|
-
1. **Node.js
|
|
29
|
+
1. **Node.js >=18.0.0**
|
|
28
30
|
```bash
|
|
29
31
|
node --version # Should be v18.0.0 or higher
|
|
30
32
|
```
|
|
@@ -49,40 +51,56 @@ Before installing Bragduck CLI, you need:
|
|
|
49
51
|
|
|
50
52
|
## Installation
|
|
51
53
|
|
|
54
|
+
### As a global tool (end users)
|
|
55
|
+
|
|
52
56
|
```bash
|
|
53
57
|
npm install -g @bragduck/cli
|
|
54
58
|
```
|
|
55
59
|
|
|
60
|
+
### For development (monorepo)
|
|
61
|
+
|
|
62
|
+
From the monorepo root:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pnpm install
|
|
66
|
+
pnpm --filter @bragduck/cli build
|
|
67
|
+
```
|
|
68
|
+
|
|
56
69
|
## Usage
|
|
57
70
|
|
|
58
71
|
### Quick Start
|
|
59
72
|
|
|
60
|
-
1. **Install
|
|
73
|
+
1. **Install Bragduck CLI globally:**
|
|
61
74
|
```bash
|
|
62
|
-
|
|
63
|
-
brew install gh # macOS
|
|
64
|
-
|
|
65
|
-
# Authenticate with GitHub
|
|
66
|
-
gh auth login
|
|
75
|
+
npm install -g @bragduck/cli
|
|
67
76
|
```
|
|
68
77
|
|
|
69
|
-
2. **
|
|
78
|
+
2. **Authenticate with Bragduck:**
|
|
70
79
|
```bash
|
|
71
|
-
|
|
80
|
+
bragduck auth login
|
|
72
81
|
```
|
|
82
|
+
This opens your browser for OAuth authentication. Once completed, your credentials are securely stored.
|
|
73
83
|
|
|
74
|
-
3. **
|
|
84
|
+
3. **Connect your services** (optional, for GitHub/GitLab/Bitbucket/Jira/Confluence):
|
|
75
85
|
```bash
|
|
76
|
-
|
|
86
|
+
# GitHub: install and authenticate with GitHub CLI
|
|
87
|
+
brew install gh && gh auth login
|
|
88
|
+
|
|
89
|
+
# GitLab: authenticate with personal access token
|
|
90
|
+
bragduck auth gitlab
|
|
91
|
+
|
|
92
|
+
# Bitbucket: authenticate with API token
|
|
93
|
+
bragduck auth bitbucket
|
|
94
|
+
|
|
95
|
+
# Atlassian (Jira + Confluence): authenticate via OAuth
|
|
96
|
+
bragduck auth atlassian
|
|
77
97
|
```
|
|
78
|
-
This opens your browser for OAuth authentication. Once completed, your credentials are securely stored.
|
|
79
98
|
|
|
80
|
-
4. **
|
|
99
|
+
4. **Sync your work items:**
|
|
81
100
|
```bash
|
|
82
|
-
|
|
83
|
-
bragduck scan
|
|
101
|
+
bragduck sync
|
|
84
102
|
```
|
|
85
|
-
Select
|
|
103
|
+
Select services, review AI-refined brags, and create them.
|
|
86
104
|
|
|
87
105
|
5. **View your brags:**
|
|
88
106
|
```bash
|
|
@@ -91,56 +109,64 @@ npm install -g @bragduck/cli
|
|
|
91
109
|
|
|
92
110
|
### Commands
|
|
93
111
|
|
|
94
|
-
#### `bragduck
|
|
112
|
+
#### `bragduck auth [subcommand]`
|
|
95
113
|
|
|
96
|
-
|
|
114
|
+
Manage authentication for Bragduck and connected services.
|
|
97
115
|
|
|
98
116
|
```bash
|
|
99
|
-
|
|
117
|
+
# Login to Bragduck (default)
|
|
118
|
+
bragduck auth login
|
|
119
|
+
|
|
120
|
+
# Check authentication status for all services
|
|
121
|
+
bragduck auth status
|
|
122
|
+
|
|
123
|
+
# Authenticate with GitLab
|
|
124
|
+
bragduck auth gitlab
|
|
125
|
+
|
|
126
|
+
# Authenticate with Bitbucket
|
|
127
|
+
bragduck auth bitbucket
|
|
128
|
+
|
|
129
|
+
# Authenticate with Atlassian (Jira + Confluence)
|
|
130
|
+
bragduck auth atlassian
|
|
100
131
|
```
|
|
101
132
|
|
|
102
|
-
|
|
133
|
+
**Subcommands:**
|
|
134
|
+
- `login` - Authenticate with Bragduck (default if no subcommand)
|
|
135
|
+
- `status` - Show authentication status for all services
|
|
136
|
+
- `bitbucket` - Authenticate with Bitbucket using API token
|
|
137
|
+
- `gitlab` - Authenticate with GitLab using personal access token
|
|
138
|
+
- `atlassian` - Authenticate with Atlassian Cloud via OAuth 2.0
|
|
139
|
+
|
|
140
|
+
#### `bragduck sync`
|
|
103
141
|
|
|
104
|
-
|
|
142
|
+
Sync work items from authenticated services and create brags with AI-powered refinement.
|
|
105
143
|
|
|
106
144
|
```bash
|
|
107
|
-
#
|
|
108
|
-
bragduck
|
|
145
|
+
# Interactive sync (choose services and items)
|
|
146
|
+
bragduck sync
|
|
147
|
+
|
|
148
|
+
# Sync last 7 days
|
|
149
|
+
bragduck sync --days 7
|
|
150
|
+
|
|
151
|
+
# Sync last 24 hours
|
|
152
|
+
bragduck sync --today
|
|
109
153
|
|
|
110
|
-
#
|
|
111
|
-
bragduck
|
|
154
|
+
# Sync all services, skip prompts, auto-accept
|
|
155
|
+
bragduck sync --turbo
|
|
112
156
|
|
|
113
|
-
#
|
|
114
|
-
bragduck
|
|
157
|
+
# Sync all authenticated services
|
|
158
|
+
bragduck sync --all
|
|
115
159
|
|
|
116
|
-
#
|
|
117
|
-
bragduck
|
|
160
|
+
# Sync a specific source
|
|
161
|
+
bragduck sync --source github
|
|
118
162
|
```
|
|
119
163
|
|
|
120
164
|
**Options:**
|
|
121
|
-
- `-d, --days <number>` - Number of days to scan
|
|
122
|
-
- `-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
2. Fetches merged PRs in timeframe (filtered by author unless --all)
|
|
127
|
-
3. Displays PRs in format: `#123 PR Title [stats]`
|
|
128
|
-
4. Interactive checkbox selection
|
|
129
|
-
5. AI refines selected PRs (using title + description)
|
|
130
|
-
6. Preview refined brags in table format
|
|
131
|
-
7. Confirm and create brags
|
|
132
|
-
|
|
133
|
-
**What gets scanned:**
|
|
134
|
-
- โ
Merged Pull Requests only
|
|
135
|
-
- โ
PR title and description used for context
|
|
136
|
-
- โ
Aggregate PR statistics (files changed, insertions, deletions)
|
|
137
|
-
- โ
Filtered by PR author (person who created the PR)
|
|
138
|
-
- โ Draft or closed-without-merge PRs excluded
|
|
139
|
-
- โ Individual commits not scanned
|
|
140
|
-
|
|
141
|
-
**Requirements:**
|
|
142
|
-
- Must be in a GitHub repository (GitLab/Bitbucket not supported)
|
|
143
|
-
- GitHub CLI must be installed and authenticated (`gh auth login`)
|
|
165
|
+
- `-d, --days <number>` - Number of days to scan
|
|
166
|
+
- `-t, --today` - Scan the last 24 hours (shorthand for --days 1)
|
|
167
|
+
- `--turbo` - Skip all prompts, auto-select all items, auto-accept refinements
|
|
168
|
+
- `-a, --all` - Sync all authenticated services (skip service selection)
|
|
169
|
+
- `-s, --source <type>` - Explicit source type (github)
|
|
144
170
|
|
|
145
171
|
#### `bragduck list`
|
|
146
172
|
|
|
@@ -153,17 +179,11 @@ bragduck list
|
|
|
153
179
|
# Show 25 brags
|
|
154
180
|
bragduck list --limit 25
|
|
155
181
|
|
|
156
|
-
# Show next page (skip first 50)
|
|
157
|
-
bragduck list --offset 50
|
|
158
|
-
|
|
159
182
|
# Filter by tags
|
|
160
183
|
bragduck list --tags "feature,bugfix"
|
|
161
184
|
|
|
162
185
|
# Search by keyword
|
|
163
186
|
bragduck list --search "implemented authentication"
|
|
164
|
-
|
|
165
|
-
# Combine filters
|
|
166
|
-
bragduck list --tags "feature" --search "API" --limit 20
|
|
167
187
|
```
|
|
168
188
|
|
|
169
189
|
**Options:**
|
|
@@ -223,28 +243,27 @@ bragduck --help
|
|
|
223
243
|
## Features
|
|
224
244
|
|
|
225
245
|
### Core Features
|
|
226
|
-
-
|
|
227
|
-
-
|
|
228
|
-
-
|
|
229
|
-
-
|
|
230
|
-
-
|
|
231
|
-
-
|
|
246
|
+
- **Multi-Source Sync** - GitHub, GitLab, Bitbucket, Jira, Confluence
|
|
247
|
+
- **OAuth & Token Auth** - Secure authentication per service
|
|
248
|
+
- **AI-Powered Refinement** - Transforms work items into professional achievements
|
|
249
|
+
- **Interactive Selection** - Checkbox interface for selecting items
|
|
250
|
+
- **Rich Preview** - Table preview of refined brags before creation
|
|
251
|
+
- **Smart Filtering** - Filter brags by tags and search keywords
|
|
252
|
+
- **Turbo Mode** - Fully automated sync with no prompts
|
|
232
253
|
|
|
233
254
|
### Technical Features
|
|
234
|
-
-
|
|
235
|
-
-
|
|
236
|
-
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
239
|
-
-
|
|
240
|
-
- โจ **TypeScript** - Fully typed for better IDE support
|
|
255
|
+
- **Secure Storage** - Encrypted credential storage with AES-256-GCM
|
|
256
|
+
- **Beautiful UI** - Colorful terminal output with spinners and tables
|
|
257
|
+
- **Auto-Updates** - Automatic version checking with update notifications
|
|
258
|
+
- **Debug Mode** - Detailed logging for troubleshooting
|
|
259
|
+
- **Configurable** - Customize API URL, scan days, and more
|
|
260
|
+
- **TypeScript** - Fully typed for better IDE support
|
|
241
261
|
|
|
242
262
|
### Platform Support
|
|
243
|
-
-
|
|
244
|
-
-
|
|
245
|
-
-
|
|
246
|
-
-
|
|
247
|
-
- โ
GitHub repositories only (GitLab/Bitbucket not supported)
|
|
263
|
+
- macOS (Tested)
|
|
264
|
+
- Windows (Compatible)
|
|
265
|
+
- Linux (Compatible)
|
|
266
|
+
- Node.js >=18.0.0
|
|
248
267
|
|
|
249
268
|
## Configuration
|
|
250
269
|
|
|
@@ -276,19 +295,15 @@ Credentials are encrypted and stored at:
|
|
|
276
295
|
```bash
|
|
277
296
|
# Re-authenticate
|
|
278
297
|
bragduck logout
|
|
279
|
-
bragduck
|
|
298
|
+
bragduck auth login
|
|
280
299
|
```
|
|
281
300
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
**Problem**: "Not a git repository" error
|
|
301
|
+
**Problem**: Service not showing in sync
|
|
285
302
|
|
|
286
303
|
**Solution**:
|
|
287
304
|
```bash
|
|
288
|
-
#
|
|
289
|
-
|
|
290
|
-
git status # Verify it's a git repo
|
|
291
|
-
bragduck scan
|
|
305
|
+
# Check which services are authenticated
|
|
306
|
+
bragduck auth status
|
|
292
307
|
```
|
|
293
308
|
|
|
294
309
|
### GitHub CLI Not Authenticated
|
|
@@ -304,73 +319,17 @@ gh auth login
|
|
|
304
319
|
gh auth status
|
|
305
320
|
```
|
|
306
321
|
|
|
307
|
-
###
|
|
322
|
+
### No Work Items Found
|
|
308
323
|
|
|
309
|
-
**Problem**: "
|
|
310
|
-
|
|
311
|
-
**Solution**:
|
|
312
|
-
- Bragduck CLI currently only supports GitHub repositories
|
|
313
|
-
- Make sure you're in a repository with a GitHub remote:
|
|
314
|
-
```bash
|
|
315
|
-
git remote -v # Should show github.com URL
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
### No Merged PRs Found
|
|
319
|
-
|
|
320
|
-
**Problem**: "No merged PRs found in the last X days"
|
|
324
|
+
**Problem**: "No items found in the last X days"
|
|
321
325
|
|
|
322
326
|
**Solution**:
|
|
323
327
|
```bash
|
|
324
328
|
# Increase the scan days
|
|
325
|
-
bragduck
|
|
326
|
-
|
|
327
|
-
# Or include all PRs (not just yours)
|
|
328
|
-
bragduck scan --all
|
|
329
|
-
|
|
330
|
-
# Check if you have merged PRs on GitHub
|
|
331
|
-
gh pr list --state merged --limit 10
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
### GitHub CLI Not Installed
|
|
335
|
-
|
|
336
|
-
**Problem**: "GitHub CLI (gh) is not installed" error
|
|
337
|
-
|
|
338
|
-
**Solution**:
|
|
339
|
-
```bash
|
|
340
|
-
# macOS
|
|
341
|
-
brew install gh
|
|
329
|
+
bragduck sync --days 90
|
|
342
330
|
|
|
343
|
-
#
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
# Linux - see https://github.com/cli/cli#installation
|
|
347
|
-
|
|
348
|
-
# Verify installation
|
|
349
|
-
gh --version
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
### API Connection Issues
|
|
353
|
-
|
|
354
|
-
**Problem**: Network or API errors
|
|
355
|
-
|
|
356
|
-
**Solution**:
|
|
357
|
-
```bash
|
|
358
|
-
# Check your internet connection
|
|
359
|
-
# Try with debug mode to see detailed logs
|
|
360
|
-
bragduck --debug scan
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
### Version Check Failures
|
|
364
|
-
|
|
365
|
-
**Problem**: Version check taking too long or failing
|
|
366
|
-
|
|
367
|
-
**Solution**:
|
|
368
|
-
```bash
|
|
369
|
-
# Skip version check for this run
|
|
370
|
-
bragduck --skip-version-check scan
|
|
371
|
-
|
|
372
|
-
# Or disable it permanently
|
|
373
|
-
bragduck config set autoVersionCheck false
|
|
331
|
+
# Sync all authenticated services
|
|
332
|
+
bragduck sync --all
|
|
374
333
|
```
|
|
375
334
|
|
|
376
335
|
### Enable Debug Mode
|
|
@@ -381,136 +340,54 @@ For any issues, enable debug mode to see detailed logs:
|
|
|
381
340
|
bragduck --debug <command>
|
|
382
341
|
```
|
|
383
342
|
|
|
384
|
-
This shows:
|
|
385
|
-
- API requests and responses
|
|
386
|
-
- Authentication status
|
|
387
|
-
- Configuration reads/writes
|
|
388
|
-
- Internal operations
|
|
389
|
-
|
|
390
343
|
## Development
|
|
391
344
|
|
|
392
345
|
### Prerequisites
|
|
393
346
|
|
|
394
|
-
- Node.js
|
|
395
|
-
-
|
|
347
|
+
- Node.js >= 18.0.0
|
|
348
|
+
- pnpm (workspace package manager)
|
|
396
349
|
|
|
397
|
-
### Setup
|
|
350
|
+
### Setup (monorepo)
|
|
398
351
|
|
|
399
352
|
```bash
|
|
400
|
-
#
|
|
401
|
-
|
|
402
|
-
cd bragduck-cli
|
|
403
|
-
|
|
404
|
-
# Install dependencies
|
|
405
|
-
npm install
|
|
353
|
+
# From the monorepo root
|
|
354
|
+
pnpm install
|
|
406
355
|
|
|
407
|
-
# Build the
|
|
408
|
-
|
|
356
|
+
# Build the CLI
|
|
357
|
+
pnpm --filter @bragduck/cli build
|
|
409
358
|
|
|
410
359
|
# Run tests
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
# Run tests with coverage
|
|
414
|
-
npm run test:coverage
|
|
415
|
-
|
|
416
|
-
# Lint code
|
|
417
|
-
npm run lint
|
|
418
|
-
|
|
419
|
-
# Format code
|
|
420
|
-
npm run format
|
|
360
|
+
pnpm --filter @bragduck/cli test
|
|
421
361
|
```
|
|
422
362
|
|
|
423
363
|
### Project Structure
|
|
424
364
|
|
|
425
365
|
```
|
|
426
|
-
|
|
427
|
-
โโโ
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
โ โโโ cli.ts # CLI entry point
|
|
434
|
-
โโโ tests/ # Test files
|
|
435
|
-
โโโ dist/ # Built files
|
|
436
|
-
โโโ package.json
|
|
366
|
+
src/
|
|
367
|
+
โโโ commands/ # CLI commands
|
|
368
|
+
โโโ services/ # Business logic services
|
|
369
|
+
โโโ ui/ # Terminal UI components
|
|
370
|
+
โโโ types/ # TypeScript type definitions
|
|
371
|
+
โโโ utils/ # Utility functions
|
|
372
|
+
โโโ cli.ts # CLI entry point
|
|
437
373
|
```
|
|
438
374
|
|
|
439
375
|
### Scripts
|
|
440
376
|
|
|
441
377
|
| Script | Description |
|
|
442
378
|
|--------|-------------|
|
|
443
|
-
| `
|
|
444
|
-
| `
|
|
445
|
-
| `
|
|
446
|
-
| `
|
|
447
|
-
| `
|
|
448
|
-
| `
|
|
449
|
-
| `npm run lint:fix` | Lint and auto-fix issues |
|
|
450
|
-
| `npm run format` | Format code with Prettier |
|
|
451
|
-
| `npm run typecheck` | Type check without building |
|
|
452
|
-
|
|
453
|
-
### Testing
|
|
454
|
-
|
|
455
|
-
The project has comprehensive test coverage:
|
|
456
|
-
|
|
457
|
-
```bash
|
|
458
|
-
# Run all tests
|
|
459
|
-
npm test
|
|
460
|
-
|
|
461
|
-
# Run with coverage report
|
|
462
|
-
npm run test:coverage
|
|
463
|
-
|
|
464
|
-
# Run specific test file
|
|
465
|
-
npx vitest run tests/commands/config.test.ts
|
|
466
|
-
|
|
467
|
-
# Run in watch mode
|
|
468
|
-
npx vitest
|
|
469
|
-
```
|
|
470
|
-
|
|
471
|
-
**Test Stats:**
|
|
472
|
-
- โ
126 tests passing
|
|
473
|
-
- ๐ 50% code coverage (focused on core logic)
|
|
474
|
-
- ๐งช 8 test suites covering:
|
|
475
|
-
- Services (Storage, Git, API, GitHub)
|
|
476
|
-
- Commands (Config, List)
|
|
477
|
-
- Utilities (Version, Errors)
|
|
478
|
-
|
|
479
|
-
### Architecture
|
|
480
|
-
|
|
481
|
-
```
|
|
482
|
-
src/
|
|
483
|
-
โโโ commands/ # CLI command implementations
|
|
484
|
-
โ โโโ init.ts # OAuth authentication flow
|
|
485
|
-
โ โโโ scan.ts # Main feature - commit scanning
|
|
486
|
-
โ โโโ list.ts # List brags with filtering
|
|
487
|
-
โ โโโ config.ts # Configuration management
|
|
488
|
-
โ โโโ logout.ts # Credential cleanup
|
|
489
|
-
โโโ services/ # Business logic services
|
|
490
|
-
โ โโโ auth.service.ts # Authentication & token management
|
|
491
|
-
โ โโโ api.service.ts # Backend API client (ofetch)
|
|
492
|
-
โ โโโ git.service.ts # Git operations (simple-git)
|
|
493
|
-
โ โโโ github.service.ts # GitHub PR fetching (gh CLI)
|
|
494
|
-
โ โโโ storage.service.ts # Encrypted credential storage
|
|
495
|
-
โโโ ui/ # Terminal UI components
|
|
496
|
-
โ โโโ prompts.ts # Interactive prompts (Inquirer)
|
|
497
|
-
โ โโโ formatters.ts # Output formatting (chalk, cli-table3)
|
|
498
|
-
โ โโโ spinners.ts # Loading indicators (ora)
|
|
499
|
-
โโโ utils/ # Utility functions
|
|
500
|
-
โ โโโ errors.ts # Custom error classes
|
|
501
|
-
โ โโโ logger.ts # Logging utility
|
|
502
|
-
โ โโโ version.ts # Version checking & comparison
|
|
503
|
-
โ โโโ validators.ts # Input validation
|
|
504
|
-
โ โโโ browser.ts # Cross-platform browser opening
|
|
505
|
-
โ โโโ oauth-server.ts # Local OAuth callback server
|
|
506
|
-
โโโ types/ # TypeScript type definitions
|
|
507
|
-
```
|
|
379
|
+
| `pnpm --filter @bragduck/cli build` | Build the project with tsup |
|
|
380
|
+
| `pnpm --filter @bragduck/cli dev` | Build in watch mode for development |
|
|
381
|
+
| `pnpm --filter @bragduck/cli test` | Run test suite |
|
|
382
|
+
| `pnpm --filter @bragduck/cli test:coverage` | Run tests with coverage report |
|
|
383
|
+
| `pnpm --filter @bragduck/cli lint` | Lint code with ESLint |
|
|
384
|
+
| `pnpm --filter @bragduck/cli lint:fix` | Lint and auto-fix issues |
|
|
508
385
|
|
|
509
386
|
### Tech Stack
|
|
510
387
|
|
|
511
388
|
**Core:**
|
|
512
389
|
- TypeScript 5.x
|
|
513
|
-
- Node.js
|
|
390
|
+
- Node.js >=18.0.0
|
|
514
391
|
- Commander.js (CLI framework)
|
|
515
392
|
|
|
516
393
|
**Build & Test:**
|
|
@@ -530,61 +407,22 @@ src/
|
|
|
530
407
|
|
|
531
408
|
## Contributing
|
|
532
409
|
|
|
533
|
-
Contributions are welcome
|
|
410
|
+
Contributions are welcome.
|
|
534
411
|
|
|
535
412
|
### Quick Contribution Guide
|
|
536
413
|
|
|
537
414
|
1. Fork the repository
|
|
538
415
|
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
539
416
|
3. Make your changes
|
|
540
|
-
4. Run tests (`
|
|
541
|
-
5. Commit your changes
|
|
542
|
-
6. Push to the branch
|
|
417
|
+
4. Run tests (`pnpm --filter @bragduck/cli test`)
|
|
418
|
+
5. Commit your changes
|
|
419
|
+
6. Push to the branch
|
|
543
420
|
7. Open a Pull Request
|
|
544
421
|
|
|
545
|
-
### Development Guidelines
|
|
546
|
-
|
|
547
|
-
- Write tests for new features
|
|
548
|
-
- Follow existing code style (ESLint + Prettier)
|
|
549
|
-
- Update documentation for user-facing changes
|
|
550
|
-
- Keep commits atomic and well-described
|
|
551
|
-
|
|
552
|
-
## Support
|
|
553
|
-
|
|
554
|
-
### Getting Help
|
|
555
|
-
|
|
556
|
-
- ๐ **Documentation**: Read this README and [TESTING_GUIDE.md](TESTING_GUIDE.md)
|
|
557
|
-
- ๐ **Issues**: [GitHub Issues](https://github.com/medhatdawoud/bragduck-cli/issues)
|
|
558
|
-
- ๐ฌ **Discussions**: [GitHub Discussions](https://github.com/medhatdawoud/bragduck-cli/discussions)
|
|
559
|
-
|
|
560
|
-
### Reporting Issues
|
|
561
|
-
|
|
562
|
-
When reporting issues, please include:
|
|
563
|
-
|
|
564
|
-
1. **Environment**: OS, Node.js version, npm version
|
|
565
|
-
2. **Steps to reproduce**: Clear steps to reproduce the issue
|
|
566
|
-
3. **Expected behavior**: What you expected to happen
|
|
567
|
-
4. **Actual behavior**: What actually happened
|
|
568
|
-
5. **Debug output**: Run with `--debug` flag and include output
|
|
569
|
-
|
|
570
|
-
Example:
|
|
571
|
-
```bash
|
|
572
|
-
bragduck --debug scan
|
|
573
|
-
```
|
|
574
|
-
|
|
575
422
|
## License
|
|
576
423
|
|
|
577
424
|
MIT License - see [LICENSE](LICENSE) file for details
|
|
578
425
|
|
|
579
|
-
## Acknowledgments
|
|
580
|
-
|
|
581
|
-
Built with โค๏ธ using:
|
|
582
|
-
- [Commander.js](https://github.com/tj/commander.js) - CLI framework
|
|
583
|
-
- [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) - Interactive prompts
|
|
584
|
-
- [simple-git](https://github.com/steveukx/git-js) - Git operations
|
|
585
|
-
- [Vitest](https://vitest.dev) - Testing framework
|
|
586
|
-
- And many other great open-source projects
|
|
587
|
-
|
|
588
426
|
---
|
|
589
427
|
|
|
590
428
|
**Made by [Medhat Dawoud](https://github.com/medhatdawoud)** | **Powered by AI**
|