@bretwardjames/ghp-cli 0.1.4 → 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.
- package/README.md +63 -11
- package/dist/branch-linker.d.ts +32 -21
- package/dist/branch-linker.d.ts.map +1 -1
- package/dist/branch-linker.js +94 -64
- package/dist/branch-linker.js.map +1 -1
- package/dist/commands/config.d.ts +7 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +164 -23
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/link-branch.d.ts.map +1 -1
- package/dist/commands/link-branch.js +7 -3
- package/dist/commands/link-branch.js.map +1 -1
- package/dist/commands/open.d.ts.map +1 -1
- package/dist/commands/open.js +12 -2
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +8 -4
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +9 -6
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +8 -3
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/switch.d.ts.map +1 -1
- package/dist/commands/switch.js +20 -17
- package/dist/commands/switch.js.map +1 -1
- package/dist/commands/sync.js +2 -2
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/unlink-branch.d.ts.map +1 -1
- package/dist/commands/unlink-branch.js +14 -3
- package/dist/commands/unlink-branch.js.map +1 -1
- package/dist/commands/work.d.ts.map +1 -1
- package/dist/commands/work.js +28 -1
- package/dist/commands/work.js.map +1 -1
- package/dist/config.d.ts +77 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +396 -20
- package/dist/config.js.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/table.d.ts +1 -1
- package/dist/table.d.ts.map +1 -1
- package/dist/table.js +8 -1
- package/dist/table.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/commands/work.js
CHANGED
|
@@ -3,6 +3,7 @@ import { api } from '../github-api.js';
|
|
|
3
3
|
import { detectRepository } from '../git-utils.js';
|
|
4
4
|
import { getConfig } from '../config.js';
|
|
5
5
|
import { displayTable, parseColumns, DEFAULT_COLUMNS, calculateColumnWidths, displayTableWithWidths } from '../table.js';
|
|
6
|
+
import { getBranchForIssue } from '../branch-linker.js';
|
|
6
7
|
export async function workCommand(options) {
|
|
7
8
|
// Detect repository
|
|
8
9
|
const repo = await detectRepository();
|
|
@@ -131,10 +132,12 @@ export async function workCommand(options) {
|
|
|
131
132
|
}
|
|
132
133
|
return;
|
|
133
134
|
}
|
|
135
|
+
// Populate branch link info for display
|
|
136
|
+
await populateBranchLinks(repo, filteredItems);
|
|
134
137
|
// Flat table output
|
|
135
138
|
if (options.flat) {
|
|
136
139
|
const columnsConfig = getConfig('columns');
|
|
137
|
-
const defaultWithStatus = ['number', 'type', 'title', 'status', 'assignees', 'priority', 'size', 'labels'];
|
|
140
|
+
const defaultWithStatus = ['number', 'branch', 'type', 'title', 'status', 'assignees', 'priority', 'size', 'labels'];
|
|
138
141
|
const columns = columnsConfig ? parseColumns(columnsConfig) : defaultWithStatus;
|
|
139
142
|
displayTable(filteredItems, columns);
|
|
140
143
|
return;
|
|
@@ -305,4 +308,28 @@ function getStatusColor(status) {
|
|
|
305
308
|
return chalk.white;
|
|
306
309
|
}
|
|
307
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* Populate branch link info for items by fetching from issue bodies.
|
|
313
|
+
* Sets item.fields['linkedBranch'] if a branch is linked.
|
|
314
|
+
*/
|
|
315
|
+
async function populateBranchLinks(repo, items) {
|
|
316
|
+
// Only check items that have issue numbers (not drafts)
|
|
317
|
+
const itemsWithNumbers = items.filter(item => item.number !== null);
|
|
318
|
+
// Fetch in parallel with a concurrency limit to avoid rate limiting
|
|
319
|
+
const BATCH_SIZE = 10;
|
|
320
|
+
for (let i = 0; i < itemsWithNumbers.length; i += BATCH_SIZE) {
|
|
321
|
+
const batch = itemsWithNumbers.slice(i, i + BATCH_SIZE);
|
|
322
|
+
await Promise.all(batch.map(async (item) => {
|
|
323
|
+
try {
|
|
324
|
+
const linkedBranch = await getBranchForIssue(repo, item.number);
|
|
325
|
+
if (linkedBranch) {
|
|
326
|
+
item.fields['linkedBranch'] = linkedBranch;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
catch {
|
|
330
|
+
// Silently ignore errors fetching branch links
|
|
331
|
+
}
|
|
332
|
+
}));
|
|
333
|
+
}
|
|
334
|
+
}
|
|
308
335
|
//# sourceMappingURL=work.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -24,22 +24,95 @@ export interface Config {
|
|
|
24
24
|
[name: string]: PlanShortcut;
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Get the workspace config file path (in repo root)
|
|
29
|
+
*/
|
|
30
|
+
export declare function getWorkspaceConfigPath(): string | null;
|
|
31
|
+
/**
|
|
32
|
+
* Load merged config: defaults → workspace → user
|
|
33
|
+
* User settings override workspace, workspace overrides defaults
|
|
34
|
+
*/
|
|
27
35
|
export declare function loadConfig(): Config;
|
|
28
|
-
export
|
|
36
|
+
export type ConfigScope = 'user' | 'workspace';
|
|
37
|
+
/**
|
|
38
|
+
* Save config to the specified scope
|
|
39
|
+
* @param config The config values to save
|
|
40
|
+
* @param scope 'user' (default) or 'workspace'
|
|
41
|
+
*/
|
|
42
|
+
export declare function saveConfig(config: Partial<Config>, scope?: ConfigScope): void;
|
|
29
43
|
export declare function getConfig<K extends keyof Config>(key: K): Config[K];
|
|
30
|
-
export declare function setConfig<K extends keyof Config>(key: K, value: Config[K]): void;
|
|
44
|
+
export declare function setConfig<K extends keyof Config>(key: K, value: Config[K], scope?: ConfigScope): void;
|
|
31
45
|
export declare function getShortcut(name: string): PlanShortcut | undefined;
|
|
32
46
|
export declare function setShortcut(name: string, shortcut: PlanShortcut): void;
|
|
33
47
|
export declare function deleteShortcut(name: string): void;
|
|
34
48
|
export declare function listShortcuts(): Record<string, PlanShortcut>;
|
|
35
49
|
export declare function getPlanDefaults(): PlanShortcut;
|
|
36
50
|
export declare function setPlanDefaults(defaults: PlanShortcut): void;
|
|
37
|
-
export declare function getConfigPath(): string;
|
|
51
|
+
export declare function getConfigPath(scope?: ConfigScope): string;
|
|
52
|
+
export declare function getUserConfigPath(): string;
|
|
38
53
|
export declare function getAddIssueDefaults(): {
|
|
39
54
|
template?: string;
|
|
40
55
|
project?: string;
|
|
41
56
|
status?: string;
|
|
42
57
|
};
|
|
43
|
-
export declare const CONFIG_KEYS: readonly ["mainBranch", "branchPattern", "startWorkingStatus", "doneStatus"];
|
|
58
|
+
export declare const CONFIG_KEYS: readonly ["mainBranch", "branchPattern", "startWorkingStatus", "doneStatus", "columns"];
|
|
59
|
+
export type ConfigSource = 'default' | 'workspace' | 'user';
|
|
60
|
+
export interface ConfigValueWithSource {
|
|
61
|
+
value: string | undefined;
|
|
62
|
+
source: ConfigSource;
|
|
63
|
+
}
|
|
44
64
|
export declare function listConfig(): Record<string, string | undefined>;
|
|
65
|
+
/**
|
|
66
|
+
* List simple config values with their source (default, workspace, or user)
|
|
67
|
+
*/
|
|
68
|
+
export declare function listConfigWithSources(): Record<string, ConfigValueWithSource>;
|
|
69
|
+
export interface FullConfigWithSources {
|
|
70
|
+
settings: Record<string, ConfigValueWithSource>;
|
|
71
|
+
defaults: {
|
|
72
|
+
plan: {
|
|
73
|
+
value: PlanShortcut;
|
|
74
|
+
source: ConfigSource;
|
|
75
|
+
};
|
|
76
|
+
addIssue: {
|
|
77
|
+
value: {
|
|
78
|
+
template?: string;
|
|
79
|
+
project?: string;
|
|
80
|
+
status?: string;
|
|
81
|
+
};
|
|
82
|
+
source: ConfigSource;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
shortcuts: Record<string, {
|
|
86
|
+
value: PlanShortcut;
|
|
87
|
+
source: ConfigSource;
|
|
88
|
+
}>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get full config with sources for all sections
|
|
92
|
+
*/
|
|
93
|
+
export declare function getFullConfigWithSources(): FullConfigWithSources;
|
|
94
|
+
export interface VSCodeSettingsResult {
|
|
95
|
+
workspace: Record<string, unknown>;
|
|
96
|
+
user: Record<string, unknown>;
|
|
97
|
+
errors: string[];
|
|
98
|
+
}
|
|
99
|
+
export interface SyncResult {
|
|
100
|
+
synced: Array<{
|
|
101
|
+
key: string;
|
|
102
|
+
value: string;
|
|
103
|
+
source: 'workspace' | 'user';
|
|
104
|
+
}>;
|
|
105
|
+
skipped: string[];
|
|
106
|
+
errors: string[];
|
|
107
|
+
editor: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Sync VS Code/Cursor settings to CLI config
|
|
111
|
+
*/
|
|
112
|
+
export declare function syncFromVSCode(targetScope?: ConfigScope): SyncResult;
|
|
113
|
+
export declare function getVSCodeSettingsPaths(): {
|
|
114
|
+
workspace: string | null;
|
|
115
|
+
cursorUser: string;
|
|
116
|
+
codeUser: string;
|
|
117
|
+
};
|
|
45
118
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
|
|
2
|
-
import { homedir } from 'os';
|
|
2
|
+
import { homedir, platform } from 'os';
|
|
3
3
|
import { join } from 'path';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { execSync } from 'child_process';
|
|
5
|
+
// User config (personal overrides)
|
|
6
|
+
const USER_CONFIG_DIR = join(homedir(), '.config', 'ghp-cli');
|
|
7
|
+
const USER_CONFIG_FILE = join(USER_CONFIG_DIR, 'config.json');
|
|
8
|
+
// Workspace config filename (in repo root)
|
|
9
|
+
const WORKSPACE_CONFIG_DIR = '.ghp';
|
|
10
|
+
const WORKSPACE_CONFIG_FILE = 'config.json';
|
|
6
11
|
const DEFAULT_CONFIG = {
|
|
7
12
|
mainBranch: 'main',
|
|
8
13
|
branchPattern: '{user}/{number}-{title}',
|
|
@@ -11,32 +16,132 @@ const DEFAULT_CONFIG = {
|
|
|
11
16
|
defaults: {},
|
|
12
17
|
shortcuts: {},
|
|
13
18
|
};
|
|
14
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Get the git repository root directory
|
|
21
|
+
*/
|
|
22
|
+
function getRepoRoot() {
|
|
23
|
+
try {
|
|
24
|
+
return execSync('git rev-parse --show-toplevel', { encoding: 'utf-8' }).trim();
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get the workspace config file path (in repo root)
|
|
32
|
+
*/
|
|
33
|
+
export function getWorkspaceConfigPath() {
|
|
34
|
+
const repoRoot = getRepoRoot();
|
|
35
|
+
if (!repoRoot)
|
|
36
|
+
return null;
|
|
37
|
+
return join(repoRoot, WORKSPACE_CONFIG_DIR, WORKSPACE_CONFIG_FILE);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Load workspace config from .ghp/config.json in repo root
|
|
41
|
+
*/
|
|
42
|
+
function loadWorkspaceConfig() {
|
|
43
|
+
const configPath = getWorkspaceConfigPath();
|
|
44
|
+
if (!configPath)
|
|
45
|
+
return {};
|
|
15
46
|
try {
|
|
16
|
-
if (existsSync(
|
|
17
|
-
const data = readFileSync(
|
|
18
|
-
return
|
|
47
|
+
if (existsSync(configPath)) {
|
|
48
|
+
const data = readFileSync(configPath, 'utf-8');
|
|
49
|
+
return JSON.parse(data);
|
|
19
50
|
}
|
|
20
51
|
}
|
|
21
52
|
catch {
|
|
22
|
-
// Ignore errors
|
|
53
|
+
// Ignore errors
|
|
23
54
|
}
|
|
24
|
-
return {
|
|
55
|
+
return {};
|
|
25
56
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Load user config from ~/.config/ghp-cli/config.json
|
|
59
|
+
*/
|
|
60
|
+
function loadUserConfig() {
|
|
61
|
+
try {
|
|
62
|
+
if (existsSync(USER_CONFIG_FILE)) {
|
|
63
|
+
const data = readFileSync(USER_CONFIG_FILE, 'utf-8');
|
|
64
|
+
return JSON.parse(data);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// Ignore errors
|
|
69
|
+
}
|
|
70
|
+
return {};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Deep merge two config objects (right overwrites left, but nested objects are merged)
|
|
74
|
+
*/
|
|
75
|
+
function deepMerge(base, override) {
|
|
76
|
+
const result = { ...base };
|
|
77
|
+
for (const [key, overrideValue] of Object.entries(override)) {
|
|
78
|
+
if (overrideValue === undefined)
|
|
79
|
+
continue;
|
|
80
|
+
const baseValue = result[key];
|
|
81
|
+
if (typeof overrideValue === 'object' &&
|
|
82
|
+
overrideValue !== null &&
|
|
83
|
+
!Array.isArray(overrideValue) &&
|
|
84
|
+
typeof baseValue === 'object' &&
|
|
85
|
+
baseValue !== null &&
|
|
86
|
+
!Array.isArray(baseValue)) {
|
|
87
|
+
// Deep merge nested objects (defaults, shortcuts)
|
|
88
|
+
result[key] = { ...baseValue, ...overrideValue };
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// Direct override for primitives and arrays
|
|
92
|
+
result[key] = overrideValue;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Load merged config: defaults → workspace → user
|
|
99
|
+
* User settings override workspace, workspace overrides defaults
|
|
100
|
+
*/
|
|
101
|
+
export function loadConfig() {
|
|
102
|
+
const workspaceConfig = loadWorkspaceConfig();
|
|
103
|
+
const userConfig = loadUserConfig();
|
|
104
|
+
// Merge: defaults → workspace → user
|
|
105
|
+
const merged = deepMerge(deepMerge(DEFAULT_CONFIG, workspaceConfig), userConfig);
|
|
106
|
+
return merged;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Save config to the specified scope
|
|
110
|
+
* @param config The config values to save
|
|
111
|
+
* @param scope 'user' (default) or 'workspace'
|
|
112
|
+
*/
|
|
113
|
+
export function saveConfig(config, scope = 'user') {
|
|
114
|
+
if (scope === 'workspace') {
|
|
115
|
+
const repoRoot = getRepoRoot();
|
|
116
|
+
if (!repoRoot) {
|
|
117
|
+
throw new Error('Not in a git repository');
|
|
118
|
+
}
|
|
119
|
+
const configDir = join(repoRoot, WORKSPACE_CONFIG_DIR);
|
|
120
|
+
const configPath = join(configDir, WORKSPACE_CONFIG_FILE);
|
|
121
|
+
// Load existing workspace config and merge
|
|
122
|
+
const existing = loadWorkspaceConfig();
|
|
123
|
+
const merged = deepMerge(existing, config);
|
|
124
|
+
if (!existsSync(configDir)) {
|
|
125
|
+
mkdirSync(configDir, { recursive: true });
|
|
126
|
+
}
|
|
127
|
+
writeFileSync(configPath, JSON.stringify(merged, null, 2));
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// User config
|
|
131
|
+
const existing = loadUserConfig();
|
|
132
|
+
const merged = deepMerge(existing, config);
|
|
133
|
+
if (!existsSync(USER_CONFIG_DIR)) {
|
|
134
|
+
mkdirSync(USER_CONFIG_DIR, { recursive: true });
|
|
135
|
+
}
|
|
136
|
+
writeFileSync(USER_CONFIG_FILE, JSON.stringify(merged, null, 2));
|
|
31
137
|
}
|
|
32
|
-
writeFileSync(CONFIG_FILE, JSON.stringify(merged, null, 2));
|
|
33
138
|
}
|
|
34
139
|
export function getConfig(key) {
|
|
35
140
|
const config = loadConfig();
|
|
36
141
|
return config[key];
|
|
37
142
|
}
|
|
38
|
-
export function setConfig(key, value) {
|
|
39
|
-
saveConfig({ [key]: value });
|
|
143
|
+
export function setConfig(key, value, scope = 'user') {
|
|
144
|
+
saveConfig({ [key]: value }, scope);
|
|
40
145
|
}
|
|
41
146
|
export function getShortcut(name) {
|
|
42
147
|
const config = loadConfig();
|
|
@@ -68,14 +173,21 @@ export function setPlanDefaults(defaults) {
|
|
|
68
173
|
defaults: { ...config.defaults, plan: defaults }
|
|
69
174
|
});
|
|
70
175
|
}
|
|
71
|
-
export function getConfigPath() {
|
|
72
|
-
|
|
176
|
+
export function getConfigPath(scope) {
|
|
177
|
+
if (scope === 'workspace') {
|
|
178
|
+
const path = getWorkspaceConfigPath();
|
|
179
|
+
return path || '(not in a git repository)';
|
|
180
|
+
}
|
|
181
|
+
return USER_CONFIG_FILE;
|
|
182
|
+
}
|
|
183
|
+
export function getUserConfigPath() {
|
|
184
|
+
return USER_CONFIG_FILE;
|
|
73
185
|
}
|
|
74
186
|
export function getAddIssueDefaults() {
|
|
75
187
|
const config = loadConfig();
|
|
76
188
|
return config.defaults?.addIssue || {};
|
|
77
189
|
}
|
|
78
|
-
export const CONFIG_KEYS = ['mainBranch', 'branchPattern', 'startWorkingStatus', 'doneStatus'];
|
|
190
|
+
export const CONFIG_KEYS = ['mainBranch', 'branchPattern', 'startWorkingStatus', 'doneStatus', 'columns'];
|
|
79
191
|
export function listConfig() {
|
|
80
192
|
const config = loadConfig();
|
|
81
193
|
return {
|
|
@@ -85,4 +197,268 @@ export function listConfig() {
|
|
|
85
197
|
doneStatus: config.doneStatus,
|
|
86
198
|
};
|
|
87
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* List simple config values with their source (default, workspace, or user)
|
|
202
|
+
*/
|
|
203
|
+
export function listConfigWithSources() {
|
|
204
|
+
const userConfig = loadUserConfig();
|
|
205
|
+
const workspaceConfig = loadWorkspaceConfig();
|
|
206
|
+
const result = {};
|
|
207
|
+
for (const key of CONFIG_KEYS) {
|
|
208
|
+
if (userConfig[key] !== undefined) {
|
|
209
|
+
result[key] = { value: userConfig[key], source: 'user' };
|
|
210
|
+
}
|
|
211
|
+
else if (workspaceConfig[key] !== undefined) {
|
|
212
|
+
result[key] = { value: workspaceConfig[key], source: 'workspace' };
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
result[key] = { value: DEFAULT_CONFIG[key], source: 'default' };
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return result;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Get full config with sources for all sections
|
|
222
|
+
*/
|
|
223
|
+
export function getFullConfigWithSources() {
|
|
224
|
+
const userConfig = loadUserConfig();
|
|
225
|
+
const workspaceConfig = loadWorkspaceConfig();
|
|
226
|
+
const mergedConfig = loadConfig();
|
|
227
|
+
// Simple settings
|
|
228
|
+
const settings = {};
|
|
229
|
+
for (const key of CONFIG_KEYS) {
|
|
230
|
+
if (userConfig[key] !== undefined) {
|
|
231
|
+
settings[key] = { value: userConfig[key], source: 'user' };
|
|
232
|
+
}
|
|
233
|
+
else if (workspaceConfig[key] !== undefined) {
|
|
234
|
+
settings[key] = { value: workspaceConfig[key], source: 'workspace' };
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
settings[key] = { value: DEFAULT_CONFIG[key], source: 'default' };
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// Defaults - plan
|
|
241
|
+
let planSource = 'default';
|
|
242
|
+
if (userConfig.defaults?.plan)
|
|
243
|
+
planSource = 'user';
|
|
244
|
+
else if (workspaceConfig.defaults?.plan)
|
|
245
|
+
planSource = 'workspace';
|
|
246
|
+
// Defaults - addIssue
|
|
247
|
+
let addIssueSource = 'default';
|
|
248
|
+
if (userConfig.defaults?.addIssue)
|
|
249
|
+
addIssueSource = 'user';
|
|
250
|
+
else if (workspaceConfig.defaults?.addIssue)
|
|
251
|
+
addIssueSource = 'workspace';
|
|
252
|
+
// Shortcuts - track source per shortcut
|
|
253
|
+
const shortcuts = {};
|
|
254
|
+
const allShortcutNames = new Set([
|
|
255
|
+
...Object.keys(workspaceConfig.shortcuts || {}),
|
|
256
|
+
...Object.keys(userConfig.shortcuts || {}),
|
|
257
|
+
]);
|
|
258
|
+
for (const name of allShortcutNames) {
|
|
259
|
+
// User overrides workspace
|
|
260
|
+
if (userConfig.shortcuts?.[name]) {
|
|
261
|
+
shortcuts[name] = { value: userConfig.shortcuts[name], source: 'user' };
|
|
262
|
+
}
|
|
263
|
+
else if (workspaceConfig.shortcuts?.[name]) {
|
|
264
|
+
shortcuts[name] = { value: workspaceConfig.shortcuts[name], source: 'workspace' };
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return {
|
|
268
|
+
settings,
|
|
269
|
+
defaults: {
|
|
270
|
+
plan: { value: mergedConfig.defaults?.plan || {}, source: planSource },
|
|
271
|
+
addIssue: { value: mergedConfig.defaults?.addIssue || {}, source: addIssueSource },
|
|
272
|
+
},
|
|
273
|
+
shortcuts,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
// VS Code / Cursor settings paths
|
|
277
|
+
function getVSCodeUserSettingsPath(editor = 'code') {
|
|
278
|
+
const home = homedir();
|
|
279
|
+
const appName = editor === 'cursor' ? 'Cursor' : 'Code';
|
|
280
|
+
switch (platform()) {
|
|
281
|
+
case 'darwin':
|
|
282
|
+
return join(home, 'Library', 'Application Support', appName, 'User', 'settings.json');
|
|
283
|
+
case 'win32':
|
|
284
|
+
return join(process.env.APPDATA || join(home, 'AppData', 'Roaming'), appName, 'User', 'settings.json');
|
|
285
|
+
default: // linux
|
|
286
|
+
return join(home, '.config', appName, 'User', 'settings.json');
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
function getVSCodeWorkspaceSettingsPath() {
|
|
290
|
+
const repoRoot = getRepoRoot();
|
|
291
|
+
if (!repoRoot)
|
|
292
|
+
return null;
|
|
293
|
+
return join(repoRoot, '.vscode', 'settings.json');
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Strip JSON comments (single-line // and multi-line) to parse JSONC
|
|
297
|
+
*/
|
|
298
|
+
function stripJsonComments(jsonc) {
|
|
299
|
+
let result = '';
|
|
300
|
+
let inString = false;
|
|
301
|
+
let inSingleLineComment = false;
|
|
302
|
+
let inMultiLineComment = false;
|
|
303
|
+
for (let i = 0; i < jsonc.length; i++) {
|
|
304
|
+
const char = jsonc[i];
|
|
305
|
+
const next = jsonc[i + 1];
|
|
306
|
+
if (inSingleLineComment) {
|
|
307
|
+
if (char === '\n') {
|
|
308
|
+
inSingleLineComment = false;
|
|
309
|
+
result += char;
|
|
310
|
+
}
|
|
311
|
+
continue;
|
|
312
|
+
}
|
|
313
|
+
if (inMultiLineComment) {
|
|
314
|
+
if (char === '*' && next === '/') {
|
|
315
|
+
inMultiLineComment = false;
|
|
316
|
+
i++; // skip the /
|
|
317
|
+
}
|
|
318
|
+
continue;
|
|
319
|
+
}
|
|
320
|
+
if (inString) {
|
|
321
|
+
result += char;
|
|
322
|
+
if (char === '\\' && next) {
|
|
323
|
+
result += next;
|
|
324
|
+
i++;
|
|
325
|
+
}
|
|
326
|
+
else if (char === '"') {
|
|
327
|
+
inString = false;
|
|
328
|
+
}
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
if (char === '"') {
|
|
332
|
+
inString = true;
|
|
333
|
+
result += char;
|
|
334
|
+
continue;
|
|
335
|
+
}
|
|
336
|
+
if (char === '/' && next === '/') {
|
|
337
|
+
inSingleLineComment = true;
|
|
338
|
+
i++;
|
|
339
|
+
continue;
|
|
340
|
+
}
|
|
341
|
+
if (char === '/' && next === '*') {
|
|
342
|
+
inMultiLineComment = true;
|
|
343
|
+
i++;
|
|
344
|
+
continue;
|
|
345
|
+
}
|
|
346
|
+
result += char;
|
|
347
|
+
}
|
|
348
|
+
return result;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Read VS Code/Cursor settings and extract ghProjects.* values
|
|
352
|
+
*/
|
|
353
|
+
function readVSCodeSettings(editor = 'code') {
|
|
354
|
+
const result = {
|
|
355
|
+
workspace: {},
|
|
356
|
+
user: {},
|
|
357
|
+
errors: [],
|
|
358
|
+
};
|
|
359
|
+
// Read workspace settings
|
|
360
|
+
const workspacePath = getVSCodeWorkspaceSettingsPath();
|
|
361
|
+
if (workspacePath && existsSync(workspacePath)) {
|
|
362
|
+
try {
|
|
363
|
+
const content = readFileSync(workspacePath, 'utf-8');
|
|
364
|
+
const parsed = JSON.parse(stripJsonComments(content));
|
|
365
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
366
|
+
if (key.startsWith('ghProjects.')) {
|
|
367
|
+
result.workspace[key.replace('ghProjects.', '')] = value;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
catch (err) {
|
|
372
|
+
result.errors.push(`Failed to parse workspace settings: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
// Read user settings
|
|
376
|
+
const userPath = getVSCodeUserSettingsPath(editor);
|
|
377
|
+
if (existsSync(userPath)) {
|
|
378
|
+
try {
|
|
379
|
+
const content = readFileSync(userPath, 'utf-8');
|
|
380
|
+
const parsed = JSON.parse(stripJsonComments(content));
|
|
381
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
382
|
+
if (key.startsWith('ghProjects.')) {
|
|
383
|
+
result.user[key.replace('ghProjects.', '')] = value;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
catch (err) {
|
|
388
|
+
result.errors.push(`Failed to parse ${editor} user settings: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
return result;
|
|
392
|
+
}
|
|
393
|
+
// Mapping from VS Code setting names to CLI config keys
|
|
394
|
+
const VSCODE_TO_CLI_MAP = {
|
|
395
|
+
'mainBranch': 'mainBranch',
|
|
396
|
+
'branchNamePattern': 'branchPattern',
|
|
397
|
+
'startWorkingStatus': 'startWorkingStatus',
|
|
398
|
+
'prMergedStatus': 'doneStatus',
|
|
399
|
+
};
|
|
400
|
+
/**
|
|
401
|
+
* Sync VS Code/Cursor settings to CLI config
|
|
402
|
+
*/
|
|
403
|
+
export function syncFromVSCode(targetScope = 'user') {
|
|
404
|
+
// Try Cursor first, fall back to Code
|
|
405
|
+
let editor = 'cursor';
|
|
406
|
+
let vscodeSettings = readVSCodeSettings('cursor');
|
|
407
|
+
const allErrors = [...vscodeSettings.errors];
|
|
408
|
+
// If no Cursor settings found, try VS Code
|
|
409
|
+
if (Object.keys(vscodeSettings.workspace).length === 0 && Object.keys(vscodeSettings.user).length === 0) {
|
|
410
|
+
editor = 'code';
|
|
411
|
+
vscodeSettings = readVSCodeSettings('code');
|
|
412
|
+
allErrors.push(...vscodeSettings.errors);
|
|
413
|
+
}
|
|
414
|
+
const result = {
|
|
415
|
+
synced: [],
|
|
416
|
+
skipped: [],
|
|
417
|
+
errors: allErrors,
|
|
418
|
+
editor: editor === 'cursor' ? 'Cursor' : 'VS Code',
|
|
419
|
+
};
|
|
420
|
+
// Merge workspace and user (user overrides workspace, like VS Code does)
|
|
421
|
+
const merged = { ...vscodeSettings.workspace, ...vscodeSettings.user };
|
|
422
|
+
// Track sources for reporting
|
|
423
|
+
const sources = {};
|
|
424
|
+
for (const key of Object.keys(vscodeSettings.workspace)) {
|
|
425
|
+
sources[key] = 'workspace';
|
|
426
|
+
}
|
|
427
|
+
for (const key of Object.keys(vscodeSettings.user)) {
|
|
428
|
+
sources[key] = 'user';
|
|
429
|
+
}
|
|
430
|
+
// Map and save each setting
|
|
431
|
+
const configUpdates = {};
|
|
432
|
+
for (const [vscodeKey, cliKey] of Object.entries(VSCODE_TO_CLI_MAP)) {
|
|
433
|
+
if (merged[vscodeKey] !== undefined) {
|
|
434
|
+
const value = merged[vscodeKey];
|
|
435
|
+
if (typeof value === 'string') {
|
|
436
|
+
configUpdates[cliKey] = value;
|
|
437
|
+
result.synced.push({
|
|
438
|
+
key: cliKey,
|
|
439
|
+
value,
|
|
440
|
+
source: sources[vscodeKey],
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
// Report skipped settings (VS Code settings that don't map to CLI)
|
|
446
|
+
for (const key of Object.keys(merged)) {
|
|
447
|
+
if (!VSCODE_TO_CLI_MAP[key]) {
|
|
448
|
+
result.skipped.push(key);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
// Save to CLI config
|
|
452
|
+
if (Object.keys(configUpdates).length > 0) {
|
|
453
|
+
saveConfig(configUpdates, targetScope);
|
|
454
|
+
}
|
|
455
|
+
return result;
|
|
456
|
+
}
|
|
457
|
+
export function getVSCodeSettingsPaths() {
|
|
458
|
+
return {
|
|
459
|
+
workspace: getVSCodeWorkspaceSettingsPath(),
|
|
460
|
+
cursorUser: getVSCodeUserSettingsPath('cursor'),
|
|
461
|
+
codeUser: getVSCodeUserSettingsPath('code'),
|
|
462
|
+
};
|
|
463
|
+
}
|
|
88
464
|
//# sourceMappingURL=config.js.map
|