@bretwardjames/ghp-cli 0.1.1 → 0.1.3

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 (49) hide show
  1. package/dist/branch-linker.d.ts +31 -9
  2. package/dist/branch-linker.d.ts.map +1 -1
  3. package/dist/branch-linker.js +61 -35
  4. package/dist/branch-linker.js.map +1 -1
  5. package/dist/commands/link-branch.d.ts.map +1 -1
  6. package/dist/commands/link-branch.js +20 -0
  7. package/dist/commands/link-branch.js.map +1 -1
  8. package/dist/commands/plan.d.ts.map +1 -1
  9. package/dist/commands/plan.js +235 -95
  10. package/dist/commands/plan.js.map +1 -1
  11. package/dist/commands/set-field.d.ts.map +1 -1
  12. package/dist/commands/set-field.js +25 -1
  13. package/dist/commands/set-field.js.map +1 -1
  14. package/dist/commands/start.d.ts.map +1 -1
  15. package/dist/commands/start.js +21 -0
  16. package/dist/commands/start.js.map +1 -1
  17. package/dist/commands/switch.d.ts.map +1 -1
  18. package/dist/commands/switch.js +20 -0
  19. package/dist/commands/switch.js.map +1 -1
  20. package/dist/commands/sync.d.ts +2 -0
  21. package/dist/commands/sync.d.ts.map +1 -0
  22. package/dist/commands/sync.js +77 -0
  23. package/dist/commands/sync.js.map +1 -0
  24. package/dist/commands/work.d.ts +5 -0
  25. package/dist/commands/work.d.ts.map +1 -1
  26. package/dist/commands/work.js +226 -36
  27. package/dist/commands/work.js.map +1 -1
  28. package/dist/config.d.ts +1 -0
  29. package/dist/config.d.ts.map +1 -1
  30. package/dist/config.js.map +1 -1
  31. package/dist/git-utils.d.ts +6 -52
  32. package/dist/git-utils.d.ts.map +1 -1
  33. package/dist/git-utils.js +7 -137
  34. package/dist/git-utils.js.map +1 -1
  35. package/dist/github-api.d.ts +17 -108
  36. package/dist/github-api.d.ts.map +1 -1
  37. package/dist/github-api.js +48 -579
  38. package/dist/github-api.js.map +1 -1
  39. package/dist/index.js +16 -2
  40. package/dist/index.js.map +1 -1
  41. package/dist/table.d.ts +16 -0
  42. package/dist/table.d.ts.map +1 -0
  43. package/dist/table.js +230 -0
  44. package/dist/table.js.map +1 -0
  45. package/dist/types.d.ts +6 -36
  46. package/dist/types.d.ts.map +1 -1
  47. package/dist/types.js +5 -0
  48. package/dist/types.js.map +1 -1
  49. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -17,11 +17,12 @@ import { setFieldCommand } from './commands/set-field.js';
17
17
  import { sliceCommand } from './commands/slice.js';
18
18
  import { openCommand } from './commands/open.js';
19
19
  import { commentCommand } from './commands/comment.js';
20
+ import { syncCommand } from './commands/sync.js';
20
21
  const program = new Command();
21
22
  program
22
23
  .name('ghp')
23
24
  .description('GitHub Projects CLI - manage project boards from your terminal')
24
- .version('0.1.0');
25
+ .version('0.1.3');
25
26
  // Authentication
26
27
  program
27
28
  .command('auth')
@@ -46,6 +47,11 @@ program
46
47
  .option('-s, --status <status>', 'Filter by status')
47
48
  .option('--hide-done', 'Hide completed items')
48
49
  .option('-l, --list', 'Output as simple list (one item per line, for pickers)')
50
+ .option('-f, --flat', 'Output as flat table instead of grouped by status')
51
+ .option('-g, --group <field>', 'Group items by field (status, type, assignee, priority, size, labels)')
52
+ .option('--sort <fields>', 'Sort by fields (comma-separated, prefix with - for ascending)')
53
+ .option('--slice <field=value>', 'Filter by field (repeatable)', (val, acc) => { acc.push(val); return acc; }, [])
54
+ .option('-F, --filter <field=value>', 'Filter by field (repeatable, e.g., --filter state=open)', (val, acc) => { acc.push(val); return acc; }, [])
49
55
  .action(workCommand);
50
56
  program
51
57
  .command('plan [shortcut]')
@@ -53,11 +59,14 @@ program
53
59
  .description('Show project board or filtered list view (use shortcut name from config)')
54
60
  .option('-p, --project <project>', 'Filter by project name')
55
61
  .option('-s, --status <status>', 'Show only items in this status (list view)')
62
+ .option('-a, --all', 'Show all items in table view (overrides board view)')
56
63
  .option('-m, --mine', 'Show only items assigned to me')
57
64
  .option('-u, --unassigned', 'Show only unassigned items')
58
- .option('-l, --list', 'Output as simple list (one item per line, for pickers)')
65
+ .option('-l, --list', 'Output as table view')
66
+ .option('-g, --group <field>', 'Group items by field (status, type, assignee, priority, size, labels)')
59
67
  .option('--sort <fields>', 'Sort by fields (comma-separated, prefix with - for ascending, e.g., "status,-title")')
60
68
  .option('--slice <field=value>', 'Filter by field (repeatable: --slice label=bug --slice Priority=High)', (val, acc) => { acc.push(val); return acc; }, [])
69
+ .option('--view <name>', 'Filter to items in a specific project view')
61
70
  .action(planCommand);
62
71
  // Workflow commands
63
72
  program
@@ -145,5 +154,10 @@ program
145
154
  .description('Add a comment to an issue')
146
155
  .option('-m, --message <text>', 'Comment text (opens editor if not provided)')
147
156
  .action(commentCommand);
157
+ // Active label sync
158
+ program
159
+ .command('sync')
160
+ .description('Sync active label to match current branch')
161
+ .action(syncCommand);
148
162
  program.parse();
149
163
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ProjectItem } from './types.js';
2
+ export type ColumnName = 'number' | 'type' | 'title' | 'assignees' | 'status' | 'priority' | 'size' | 'labels' | 'project' | 'repository';
3
+ export declare const DEFAULT_COLUMNS: ColumnName[];
4
+ export declare function displayTable(items: ProjectItem[], columns: ColumnName[], options?: {
5
+ filterEmptyColumns?: boolean;
6
+ }): void;
7
+ export declare function parseColumns(columnsStr: string): ColumnName[];
8
+ /**
9
+ * Calculate column widths based on all items (for consistent widths across grouped tables)
10
+ */
11
+ export declare function calculateColumnWidths(items: ProjectItem[], columns: ColumnName[]): Record<string, number>;
12
+ /**
13
+ * Display table with pre-calculated column widths (for consistent alignment across groups)
14
+ */
15
+ export declare function displayTableWithWidths(items: ProjectItem[], columns: ColumnName[], widths: Record<string, number>): void;
16
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,UAAU,GAChB,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,QAAQ,GACR,UAAU,GACV,MAAM,GACN,QAAQ,GACR,SAAS,GACT,YAAY,CAAC;AAyEnB,eAAO,MAAM,eAAe,EAAE,UAAU,EAA2E,CAAC;AAWpH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA6F1H;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,EAAE,CAM7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BzG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAmDxH"}
package/dist/table.js ADDED
@@ -0,0 +1,230 @@
1
+ import chalk from 'chalk';
2
+ const COLUMN_DEFS = {
3
+ number: {
4
+ header: '#',
5
+ getValue: (item) => item.number ? `#${item.number}` : 'draft',
6
+ color: (v) => v === 'draft' ? chalk.dim(v) : chalk.cyan(v),
7
+ minWidth: 5,
8
+ },
9
+ type: {
10
+ header: 'Type',
11
+ getValue: (item) => item.issueType || '',
12
+ color: (v) => chalk.yellow(v),
13
+ },
14
+ title: {
15
+ header: 'Title',
16
+ getValue: (item) => item.title,
17
+ minWidth: 20,
18
+ maxWidth: 60,
19
+ },
20
+ assignees: {
21
+ header: 'Assignee',
22
+ getValue: (item) => item.assignees.map(a => '@' + a).join(' '),
23
+ color: (v) => chalk.cyan(v),
24
+ },
25
+ status: {
26
+ header: 'Status',
27
+ getValue: (item) => item.status || '',
28
+ color: (v) => {
29
+ const lower = v.toLowerCase();
30
+ if (lower === 'in progress')
31
+ return chalk.yellow(v);
32
+ if (lower === 'done' || lower === 'closed' || lower === 'completed')
33
+ return chalk.green(v);
34
+ if (lower === 'todo' || lower === 'backlog')
35
+ return chalk.blue(v);
36
+ if (lower === 'in review')
37
+ return chalk.magenta(v);
38
+ return v;
39
+ },
40
+ },
41
+ priority: {
42
+ header: 'Priority',
43
+ getValue: (item) => item.fields['Priority'] || item.fields['priority'] || '',
44
+ color: (v) => chalk.magenta(v),
45
+ },
46
+ size: {
47
+ header: 'Size',
48
+ getValue: (item) => item.fields['Size'] || item.fields['size'] || item.fields['Estimate'] || item.fields['estimate'] || '',
49
+ color: (v) => chalk.blue(v),
50
+ },
51
+ labels: {
52
+ header: 'Labels',
53
+ getValue: (item) => item.labels.map(l => l.name).join(', '),
54
+ // Labels get special rendering, handled separately
55
+ },
56
+ project: {
57
+ header: 'Project',
58
+ getValue: (item) => item.projectTitle,
59
+ color: (v) => chalk.dim(v),
60
+ },
61
+ repository: {
62
+ header: 'Repo',
63
+ getValue: (item) => item.repository || '',
64
+ color: (v) => chalk.dim(v),
65
+ },
66
+ };
67
+ // Default column order
68
+ export const DEFAULT_COLUMNS = ['number', 'type', 'title', 'assignees', 'priority', 'size', 'labels'];
69
+ function hexToChalk(hex) {
70
+ const r = parseInt(hex.slice(0, 2), 16);
71
+ const g = parseInt(hex.slice(2, 4), 16);
72
+ const b = parseInt(hex.slice(4, 6), 16);
73
+ const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
74
+ const textColor = luminance > 0.5 ? chalk.black : chalk.white;
75
+ return (text) => textColor.bgRgb(r, g, b)(text);
76
+ }
77
+ export function displayTable(items, columns, options) {
78
+ if (items.length === 0) {
79
+ console.log(chalk.dim('No items found.'));
80
+ return;
81
+ }
82
+ // Optionally filter to only columns that have data (default: show all columns)
83
+ const activeColumns = options?.filterEmptyColumns
84
+ ? columns.filter(col => {
85
+ if (col === 'title' || col === 'number')
86
+ return true; // Always show these
87
+ const def = COLUMN_DEFS[col];
88
+ return items.some(item => def.getValue(item) !== '');
89
+ })
90
+ : columns;
91
+ // Build rows with raw data
92
+ const rows = items.map(item => {
93
+ const row = {};
94
+ for (const col of activeColumns) {
95
+ row[col] = COLUMN_DEFS[col].getValue(item);
96
+ }
97
+ // Keep labels separate for special rendering
98
+ row._labels = JSON.stringify(item.labels);
99
+ return row;
100
+ });
101
+ // Calculate column widths
102
+ const widths = {};
103
+ const termWidth = process.stdout.columns || 120;
104
+ let fixedWidth = 0;
105
+ for (const col of activeColumns) {
106
+ const def = COLUMN_DEFS[col];
107
+ if (col === 'title')
108
+ continue; // Calculate title last
109
+ const maxContent = Math.max(def.header.length, ...rows.map(r => r[col].length));
110
+ const width = Math.max(def.minWidth || 0, Math.min(def.maxWidth || 999, maxContent));
111
+ widths[col] = width;
112
+ fixedWidth += width + 2; // +2 for spacing
113
+ }
114
+ // Title gets remaining space
115
+ const titleDef = COLUMN_DEFS.title;
116
+ widths.title = Math.max(titleDef.minWidth || 20, Math.min(titleDef.maxWidth || 60, termWidth - fixedWidth - 4));
117
+ // Print header
118
+ const headerParts = [];
119
+ for (const col of activeColumns) {
120
+ const def = COLUMN_DEFS[col];
121
+ headerParts.push(chalk.dim(def.header.padEnd(widths[col])));
122
+ }
123
+ console.log(` ${headerParts.join(' ')}`);
124
+ console.log(chalk.dim(' ' + '─'.repeat(Math.min(termWidth - 4, Object.values(widths).reduce((a, b) => a + b, 0) + (activeColumns.length - 1) * 2))));
125
+ // Print rows
126
+ for (let i = 0; i < rows.length; i++) {
127
+ const row = rows[i];
128
+ const item = items[i];
129
+ const parts = [];
130
+ for (const col of activeColumns) {
131
+ const def = COLUMN_DEFS[col];
132
+ let value = row[col];
133
+ // Handle title truncation
134
+ if (col === 'title' && value.length > widths[col]) {
135
+ value = value.substring(0, widths[col] - 1) + '…';
136
+ }
137
+ // Apply color if defined (except labels which are special)
138
+ if (col !== 'labels') {
139
+ const padded = value.padEnd(widths[col]);
140
+ parts.push(def.color ? def.color(padded) : padded);
141
+ }
142
+ }
143
+ // Handle labels separately with colored backgrounds
144
+ if (activeColumns.includes('labels') && item.labels.length > 0) {
145
+ const labelStr = item.labels.map(l => {
146
+ const bg = hexToChalk(l.color);
147
+ return bg(` ${l.name} `);
148
+ }).join(' ');
149
+ parts.push(labelStr);
150
+ }
151
+ console.log(` ${parts.join(' ')}`);
152
+ }
153
+ }
154
+ export function parseColumns(columnsStr) {
155
+ const validColumns = Object.keys(COLUMN_DEFS);
156
+ return columnsStr
157
+ .split(',')
158
+ .map(c => c.trim().toLowerCase())
159
+ .filter(c => validColumns.includes(c));
160
+ }
161
+ /**
162
+ * Calculate column widths based on all items (for consistent widths across grouped tables)
163
+ */
164
+ export function calculateColumnWidths(items, columns) {
165
+ const widths = {};
166
+ const termWidth = process.stdout.columns || 120;
167
+ let fixedWidth = 0;
168
+ for (const col of columns) {
169
+ const def = COLUMN_DEFS[col];
170
+ if (col === 'title')
171
+ continue; // Calculate title last
172
+ const maxContent = Math.max(def.header.length, ...items.map(item => def.getValue(item).length));
173
+ const width = Math.max(def.minWidth || 0, Math.min(def.maxWidth || 999, maxContent));
174
+ widths[col] = width;
175
+ fixedWidth += width + 2; // +2 for spacing
176
+ }
177
+ // Title gets remaining space
178
+ const titleDef = COLUMN_DEFS.title;
179
+ widths.title = Math.max(titleDef.minWidth || 20, Math.min(titleDef.maxWidth || 60, termWidth - fixedWidth - 4));
180
+ return widths;
181
+ }
182
+ /**
183
+ * Display table with pre-calculated column widths (for consistent alignment across groups)
184
+ */
185
+ export function displayTableWithWidths(items, columns, widths) {
186
+ if (items.length === 0) {
187
+ console.log(chalk.dim('No items found.'));
188
+ return;
189
+ }
190
+ const termWidth = process.stdout.columns || 120;
191
+ // Print header
192
+ const headerParts = [];
193
+ for (const col of columns) {
194
+ const def = COLUMN_DEFS[col];
195
+ headerParts.push(chalk.dim(def.header.padEnd(widths[col])));
196
+ }
197
+ console.log(` ${headerParts.join(' ')}`);
198
+ console.log(chalk.dim(' ' + '─'.repeat(Math.min(termWidth - 4, Object.values(widths).reduce((a, b) => a + b, 0) + (columns.length - 1) * 2))));
199
+ // Print rows
200
+ for (const item of items) {
201
+ const parts = [];
202
+ for (const col of columns) {
203
+ const def = COLUMN_DEFS[col];
204
+ let value = def.getValue(item);
205
+ // Handle title truncation
206
+ if (col === 'title' && value.length > widths[col]) {
207
+ value = value.substring(0, widths[col] - 1) + '…';
208
+ }
209
+ // Apply color if defined (except labels which are special)
210
+ if (col !== 'labels') {
211
+ const padded = value.padEnd(widths[col]);
212
+ parts.push(def.color ? def.color(padded) : padded);
213
+ }
214
+ }
215
+ // Handle labels separately with colored backgrounds
216
+ if (columns.includes('labels') && item.labels.length > 0) {
217
+ const labelStr = item.labels.map(l => {
218
+ const bg = hexToChalk(l.color);
219
+ return bg(` ${l.name} `);
220
+ }).join(' ');
221
+ parts.push(labelStr);
222
+ }
223
+ else if (columns.includes('labels')) {
224
+ // Empty labels column - add padding
225
+ parts.push(''.padEnd(widths['labels'] || 0));
226
+ }
227
+ console.log(` ${parts.join(' ')}`);
228
+ }
229
+ }
230
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,37 +1,7 @@
1
- export interface RepoInfo {
2
- owner: string;
3
- name: string;
4
- fullName: string;
5
- }
6
- export interface ProjectItem {
7
- id: string;
8
- title: string;
9
- number: number | null;
10
- type: 'issue' | 'pull_request' | 'draft';
11
- issueType: string | null;
12
- status: string | null;
13
- assignees: string[];
14
- labels: Array<{
15
- name: string;
16
- color: string;
17
- }>;
18
- repository: string | null;
19
- url: string | null;
20
- projectId: string;
21
- projectTitle: string;
22
- fields: Record<string, string>;
23
- }
24
- export interface Project {
25
- id: string;
26
- title: string;
27
- number: number;
28
- url: string;
29
- }
30
- export interface StatusField {
31
- fieldId: string;
32
- options: Array<{
33
- id: string;
34
- name: string;
35
- }>;
36
- }
1
+ /**
2
+ * Types re-exported from core library.
3
+ *
4
+ * This file maintains backwards compatibility for imports.
5
+ */
6
+ export type { RepoInfo, ProjectItem, Project, StatusField, IssueDetails, Collaborator, IssueReference, BranchLink, } from '@bretwardjames/ghp-core';
37
7
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,OAAO,CAAC;IACzC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACN"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACR,QAAQ,EACR,WAAW,EACX,OAAO,EACP,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,GACb,MAAM,yBAAyB,CAAC"}
package/dist/types.js CHANGED
@@ -1,2 +1,7 @@
1
+ /**
2
+ * Types re-exported from core library.
3
+ *
4
+ * This file maintains backwards compatibility for imports.
5
+ */
1
6
  export {};
2
7
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bretwardjames/ghp-cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "GitHub Projects CLI - manage project boards from your terminal",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
@@ -37,7 +37,7 @@
37
37
  "node": ">=18.0.0"
38
38
  },
39
39
  "dependencies": {
40
- "@octokit/graphql": "^7.0.2",
40
+ "@bretwardjames/ghp-core": "^0.1.0",
41
41
  "commander": "^12.0.0",
42
42
  "chalk": "^5.3.0"
43
43
  },