@dongowu/git-ai-cli 1.0.21 → 2.0.1

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 (82) hide show
  1. package/README.md +200 -157
  2. package/bin/git-ai.cjs +57 -0
  3. package/install.cjs +107 -0
  4. package/package.json +27 -28
  5. package/.claude/settings.local.json +0 -17
  6. package/CHANGELOG.md +0 -46
  7. package/README_EN.md +0 -264
  8. package/dist/cli.d.ts +0 -3
  9. package/dist/cli.d.ts.map +0 -1
  10. package/dist/cli.js +0 -17
  11. package/dist/cli.js.map +0 -1
  12. package/dist/cli_main.d.ts +0 -2
  13. package/dist/cli_main.d.ts.map +0 -1
  14. package/dist/cli_main.js +0 -255
  15. package/dist/cli_main.js.map +0 -1
  16. package/dist/commands/branch.d.ts +0 -11
  17. package/dist/commands/branch.d.ts.map +0 -1
  18. package/dist/commands/branch.js +0 -279
  19. package/dist/commands/branch.js.map +0 -1
  20. package/dist/commands/commit.d.ts +0 -9
  21. package/dist/commands/commit.d.ts.map +0 -1
  22. package/dist/commands/commit.js +0 -326
  23. package/dist/commands/commit.js.map +0 -1
  24. package/dist/commands/config.d.ts +0 -2
  25. package/dist/commands/config.d.ts.map +0 -1
  26. package/dist/commands/config.js +0 -164
  27. package/dist/commands/config.js.map +0 -1
  28. package/dist/commands/config_manage.d.ts +0 -14
  29. package/dist/commands/config_manage.d.ts.map +0 -1
  30. package/dist/commands/config_manage.js +0 -394
  31. package/dist/commands/config_manage.js.map +0 -1
  32. package/dist/commands/hook.d.ts +0 -5
  33. package/dist/commands/hook.d.ts.map +0 -1
  34. package/dist/commands/hook.js +0 -528
  35. package/dist/commands/hook.js.map +0 -1
  36. package/dist/commands/msg.d.ts +0 -20
  37. package/dist/commands/msg.d.ts.map +0 -1
  38. package/dist/commands/msg.js +0 -148
  39. package/dist/commands/msg.js.map +0 -1
  40. package/dist/commands/pr.d.ts +0 -8
  41. package/dist/commands/pr.d.ts.map +0 -1
  42. package/dist/commands/pr.js +0 -96
  43. package/dist/commands/pr.js.map +0 -1
  44. package/dist/commands/release.d.ts +0 -8
  45. package/dist/commands/release.d.ts.map +0 -1
  46. package/dist/commands/release.js +0 -95
  47. package/dist/commands/release.js.map +0 -1
  48. package/dist/commands/report.d.ts +0 -9
  49. package/dist/commands/report.d.ts.map +0 -1
  50. package/dist/commands/report.js +0 -162
  51. package/dist/commands/report.js.map +0 -1
  52. package/dist/types.d.ts +0 -46
  53. package/dist/types.d.ts.map +0 -1
  54. package/dist/types.js +0 -86
  55. package/dist/types.js.map +0 -1
  56. package/dist/utils/agent.d.ts +0 -5
  57. package/dist/utils/agent.d.ts.map +0 -1
  58. package/dist/utils/agent.js +0 -308
  59. package/dist/utils/agent.js.map +0 -1
  60. package/dist/utils/agent_lite.d.ts +0 -5
  61. package/dist/utils/agent_lite.d.ts.map +0 -1
  62. package/dist/utils/agent_lite.js +0 -263
  63. package/dist/utils/agent_lite.js.map +0 -1
  64. package/dist/utils/ai.d.ts +0 -43
  65. package/dist/utils/ai.d.ts.map +0 -1
  66. package/dist/utils/ai.js +0 -1103
  67. package/dist/utils/ai.js.map +0 -1
  68. package/dist/utils/config.d.ts +0 -11
  69. package/dist/utils/config.d.ts.map +0 -1
  70. package/dist/utils/config.js +0 -239
  71. package/dist/utils/config.js.map +0 -1
  72. package/dist/utils/git.d.ts +0 -42
  73. package/dist/utils/git.d.ts.map +0 -1
  74. package/dist/utils/git.js +0 -456
  75. package/dist/utils/git.js.map +0 -1
  76. package/dist/utils/update.d.ts +0 -4
  77. package/dist/utils/update.d.ts.map +0 -1
  78. package/dist/utils/update.js +0 -122
  79. package/dist/utils/update.js.map +0 -1
  80. package/release_notes.md +0 -9
  81. package/scripts/release.sh +0 -34
  82. package/test_agent_feature.ts +0 -1
package/dist/cli_main.js DELETED
@@ -1,255 +0,0 @@
1
- import { cac } from 'cac';
2
- import chalk from 'chalk';
3
- import { createRequire } from 'node:module';
4
- import { runConfig } from './commands/config.js';
5
- import { runConfigDescribe, runConfigGet, runConfigSet } from './commands/config_manage.js';
6
- import { runCommit } from './commands/commit.js';
7
- import { runMsg } from './commands/msg.js';
8
- import { runHook } from './commands/hook.js';
9
- import { runReport } from './commands/report.js';
10
- import { runPr } from './commands/pr.js';
11
- import { runRelease } from './commands/release.js';
12
- import { runBranch } from './commands/branch.js';
13
- import { checkUpdate } from './utils/update.js';
14
- const require = createRequire(import.meta.url);
15
- const pkg = require('../package.json');
16
- const cli = cac('git-ai');
17
- function shouldAllowUpdateCheck(argv) {
18
- const args = argv.slice(2);
19
- const hasFlag = (flag) => args.includes(flag) || args.some((arg) => arg.startsWith(`${flag}=`));
20
- // Avoid polluting machine-readable output or hooks.
21
- if (hasFlag('--json') || hasFlag('--quiet') || hasFlag('--hook'))
22
- return false;
23
- if (hasFlag('--help') || hasFlag('-h') || hasFlag('--version') || hasFlag('-v'))
24
- return false;
25
- // Avoid noisy output for message-only command.
26
- const cmd = args.find((arg) => !arg.startsWith('-'));
27
- if (cmd === 'msg')
28
- return false;
29
- return true;
30
- }
31
- // Default command (backward compatible) - interactive commit
32
- cli
33
- .command('', 'Generate AI-powered commit message (interactive)')
34
- .option('-y, --yes', 'Skip confirmation and commit directly')
35
- .option('-n, --num <count>', 'Generate multiple commit messages to choose from', { default: 1 })
36
- .option('-l, --locale <locale>', 'Override locale (zh/en)')
37
- .option('-a, --agent', 'Use Agent mode for deep analysis and impact checking')
38
- .option('--hook', '[deprecated] Use `git-ai msg` instead')
39
- .action(async (options) => {
40
- try {
41
- // Deprecated --hook redirects to msg command behavior
42
- if (options.hook) {
43
- const { runMsg } = await import('./commands/msg.js');
44
- await runMsg({ quiet: true, locale: options.locale });
45
- return;
46
- }
47
- await runCommit({
48
- autoCommit: options.yes ?? false,
49
- numChoices: Math.min(Math.max(Number(options.num) || 1, 1), 5),
50
- locale: options.locale,
51
- agentMode: options.agent,
52
- });
53
- }
54
- catch (error) {
55
- const message = error instanceof Error ? error.message : 'Unknown error';
56
- console.error(chalk.red(`\n❌ Error: ${message}\n`));
57
- process.exit(1);
58
- }
59
- });
60
- // Explicit commit subcommand
61
- cli
62
- .command('commit', 'Generate and commit with AI message (interactive)')
63
- .option('-y, --yes', 'Skip confirmation and commit directly')
64
- .option('-n, --num <count>', 'Generate multiple commit messages to choose from', { default: 1 })
65
- .option('-l, --locale <locale>', 'Override locale (zh/en)')
66
- .option('-a, --agent', 'Use Agent mode for deep analysis and impact checking')
67
- .action(async (options) => {
68
- try {
69
- await runCommit({
70
- autoCommit: options.yes ?? false,
71
- numChoices: Math.min(Math.max(Number(options.num) || 1, 1), 5),
72
- locale: options.locale,
73
- agentMode: options.agent,
74
- });
75
- }
76
- catch (error) {
77
- const message = error instanceof Error ? error.message : 'Unknown error';
78
- console.error(chalk.red(`\n❌ Error: ${message}\n`));
79
- process.exit(1);
80
- }
81
- });
82
- // Message-only command (for hooks and scripts)
83
- cli
84
- .command('msg', 'Generate commit message only (stdout, for hooks/scripts)')
85
- .option('-n, --num <count>', 'Generate multiple messages', { default: 1 })
86
- .option('--json', 'Output as JSON')
87
- .option('--quiet', 'Suppress spinner and colors')
88
- .option('-l, --locale <locale>', 'Override locale (zh/en)')
89
- .action(async (options) => {
90
- try {
91
- await runMsg({
92
- num: Math.min(Math.max(Number(options.num) || 1, 1), 5),
93
- json: options.json ?? false,
94
- quiet: options.quiet ?? false,
95
- locale: options.locale,
96
- });
97
- }
98
- catch (error) {
99
- if (options.json) {
100
- console.log(JSON.stringify({ success: false, error: String(error) }));
101
- }
102
- else if (!options.quiet) {
103
- const message = error instanceof Error ? error.message : 'Unknown error';
104
- console.error(chalk.red(`\n❌ Error: ${message}\n`));
105
- }
106
- process.exit(1);
107
- }
108
- });
109
- cli
110
- .command('config [action] [key] [value]', 'Configure AI provider settings')
111
- .alias('init')
112
- .option('--json', 'Output as JSON (for get/set/describe)')
113
- .option('--local', 'Use local .git-ai.json (for get/set)')
114
- .action(async (action, key, value, options) => {
115
- try {
116
- const act = (action || '').trim();
117
- if (!act) {
118
- await runConfig();
119
- return;
120
- }
121
- if (act === 'get') {
122
- runConfigGet({ json: options?.json, local: options?.local });
123
- return;
124
- }
125
- if (act === 'describe') {
126
- runConfigDescribe({ json: options?.json });
127
- return;
128
- }
129
- if (act === 'set') {
130
- if (!key || value === undefined) {
131
- throw new Error('Usage: git-ai config set <key> <value>');
132
- }
133
- runConfigSet(key, value, { json: options?.json, local: options?.local });
134
- return;
135
- }
136
- throw new Error(`Unknown config action: ${act}`);
137
- }
138
- catch (error) {
139
- const message = error instanceof Error ? error.message : 'Unknown error';
140
- console.error(chalk.red(`\n? Error: ${message}\n`));
141
- process.exit(1);
142
- }
143
- });
144
- cli
145
- .command('hook <action>', 'Manage Git hooks (install/remove/status)')
146
- .option('-g, --global', 'Apply to global Git hooks (all repositories)')
147
- .action(async (action, options) => {
148
- try {
149
- await runHook(action, { global: options.global });
150
- }
151
- catch (error) {
152
- const message = error instanceof Error ? error.message : 'Unknown error';
153
- console.error(chalk.red(`\n❌ Error: ${message}\n`));
154
- process.exit(1);
155
- }
156
- });
157
- cli
158
- .command('report', 'Generate AI-powered weekly/daily reports from git history')
159
- .option('--days <number>', 'Number of days to analyze')
160
- .option('--from <date>', 'Start date (YYYY-MM-DD)')
161
- .option('--to <date>', 'End date (YYYY-MM-DD)')
162
- .option('--json', 'Output as JSON')
163
- .action(async (options) => {
164
- try {
165
- await runReport({
166
- days: options.days ? Number(options.days) : undefined,
167
- from: options.from,
168
- to: options.to,
169
- json: options.json,
170
- });
171
- }
172
- catch (error) {
173
- const message = error instanceof Error ? error.message : 'Unknown error';
174
- console.error(chalk.red(`\n❌ Error: ${message}\n`));
175
- process.exit(1);
176
- }
177
- });
178
- cli
179
- .command('pr', 'Generate AI-powered pull request description')
180
- .option('--base <ref>', 'Base branch or ref (e.g., main)')
181
- .option('--head <ref>', 'Head ref (default: HEAD)')
182
- .option('--json', 'Output as JSON')
183
- .action(async (options) => {
184
- try {
185
- await runPr({
186
- base: options.base,
187
- head: options.head,
188
- json: options.json,
189
- });
190
- }
191
- catch (error) {
192
- const message = error instanceof Error ? error.message : 'Unknown error';
193
- console.error(chalk.red(`\n❌ Error: ${message}\n`));
194
- process.exit(1);
195
- }
196
- });
197
- cli
198
- .command('release', 'Generate AI-powered release notes from git history')
199
- .option('--from <ref>', 'Start ref (default: last tag)')
200
- .option('--to <ref>', 'End ref (default: HEAD)')
201
- .option('--json', 'Output as JSON')
202
- .action(async (options) => {
203
- try {
204
- await runRelease({
205
- from: options.from,
206
- to: options.to,
207
- json: options.json,
208
- });
209
- }
210
- catch (error) {
211
- const message = error instanceof Error ? error.message : 'Unknown error';
212
- console.error(chalk.red(`\n❌ Error: ${message}\n`));
213
- process.exit(1);
214
- }
215
- });
216
- cli
217
- .command('branch', 'Create a new branch with guided naming')
218
- .option('--type <type>', 'Branch type (feat/fix/docs/...)')
219
- .option('--name <name>', 'Branch name/slug')
220
- .option('--issue <id>', 'Issue ID (e.g., PROJ-123)')
221
- .option('--pattern <pattern>', 'Override branch pattern (e.g., {type}/{issue?}{name})')
222
- .option('--dry-run', 'Preview branch name without creating')
223
- .option('--json', 'Output as JSON')
224
- .action(async (options) => {
225
- try {
226
- await runBranch({
227
- type: options.type,
228
- name: options.name,
229
- issue: options.issue,
230
- pattern: options.pattern,
231
- dryRun: options.dryRun,
232
- json: options.json,
233
- });
234
- }
235
- catch (error) {
236
- const message = error instanceof Error ? error.message : 'Unknown error';
237
- console.error(chalk.red(`\n❌ Error: ${message}\n`));
238
- process.exit(1);
239
- }
240
- });
241
- cli.help();
242
- cli.version(pkg.version || '0.0.0');
243
- const allowUpdateCheck = shouldAllowUpdateCheck(process.argv);
244
- cli.parse();
245
- // Check for updates asynchronously after command execution.
246
- if (allowUpdateCheck) {
247
- let updateScheduled = false;
248
- process.on('beforeExit', () => {
249
- if (updateScheduled)
250
- return;
251
- updateScheduled = true;
252
- void checkUpdate({ allow: true });
253
- });
254
- }
255
- //# sourceMappingURL=cli_main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli_main.js","sourceRoot":"","sources":["../src/cli_main.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- type BranchOptions = {
2
- type?: string;
3
- name?: string;
4
- issue?: string;
5
- pattern?: string;
6
- dryRun?: boolean;
7
- json?: boolean;
8
- };
9
- export declare function runBranch(options?: BranchOptions): Promise<void>;
10
- export {};
11
- //# sourceMappingURL=branch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/commands/branch.ts"],"names":[],"mappings":"AAaA,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAsFF,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuO1E"}
@@ -1,279 +0,0 @@
1
- import inquirer from 'inquirer';
2
- import chalk from 'chalk';
3
- import { getMergedConfig, getLocalConfigError } from '../utils/config.js';
4
- import { isGitInstalled, isInGitRepo, isValidBranchName, branchExists, checkoutBranch, createBranch, } from '../utils/git.js';
5
- const DEFAULT_BRANCH_TYPES = ['feat', 'fix', 'docs', 'refactor', 'perf', 'test', 'chore', 'build', 'ci'];
6
- const DEFAULT_PATTERN = '{type}/{issue?}{name}';
7
- const DEFAULT_ISSUE_SEPARATOR = '-';
8
- const DEFAULT_NAME_MAXLEN = 50;
9
- function normalizeType(input) {
10
- const trimmed = input.trim().toLowerCase();
11
- if (trimmed === 'doc')
12
- return 'docs';
13
- return trimmed;
14
- }
15
- function extractIssue(input, pattern) {
16
- if (!input)
17
- return null;
18
- const match = input.match(pattern);
19
- return match ? match[0] : null;
20
- }
21
- function stripIssueFromName(name, issue) {
22
- const escaped = issue.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
23
- return name
24
- .replace(new RegExp(escaped, 'g'), '')
25
- .replace(/[-_]+/g, ' ')
26
- .replace(/\s+/g, ' ')
27
- .trim();
28
- }
29
- function sanitizeName(input, maxLen) {
30
- let out = input.trim();
31
- out = out.replace(/\s+/g, '-');
32
- out = out.replace(/[~^:?*[\]\\]/g, '-');
33
- out = out.replace(/@{/g, '-');
34
- out = out.replace(/\.{2,}/g, '.');
35
- out = out.replace(/\/{2,}/g, '/');
36
- out = out.replace(/^-+/, '').replace(/-+$/, '');
37
- if (out.length > maxLen) {
38
- out = out.slice(0, maxLen).replace(/-+$/g, '');
39
- }
40
- return out;
41
- }
42
- function renderPattern(pattern, tokens, sep) {
43
- let out = pattern;
44
- const issuePrefix = tokens.issue ? `${tokens.issue}${sep}` : '';
45
- out = out.replace('{issue?}', issuePrefix);
46
- out = out.replace('{issue}', tokens.issue || '');
47
- out = out.replace('{type}', tokens.type);
48
- out = out.replace('{name}', tokens.name);
49
- out = out.replace(/\/{2,}/g, '/');
50
- out = out.replace(/-+/g, '-');
51
- return out.replace(/\/$/, '');
52
- }
53
- function buildBranchName(input) {
54
- const type = normalizeType(input.type);
55
- const name = sanitizeName(input.name, input.maxLen);
56
- const issue = input.issue ? input.issue.trim() : '';
57
- return renderPattern(input.pattern, { type, name, issue: issue || undefined }, input.issueSeparator);
58
- }
59
- function resolveBranchTypes(config) {
60
- const branchTypes = Array.isArray(config.branch?.types) && config.branch?.types?.length
61
- ? config.branch.types
62
- : Array.isArray(config.rules?.types) && config.rules?.types?.length
63
- ? config.rules.types
64
- : DEFAULT_BRANCH_TYPES;
65
- return branchTypes.map((t) => normalizeType(String(t))).filter(Boolean);
66
- }
67
- export async function runBranch(options = {}) {
68
- if (!(await isGitInstalled())) {
69
- const msg = 'Git is not installed.';
70
- if (options.json) {
71
- console.log(JSON.stringify({ success: false, error: msg }, null, 2));
72
- return;
73
- }
74
- console.error(chalk.red(`❌ ${msg}`));
75
- process.exit(1);
76
- }
77
- if (!(await isInGitRepo())) {
78
- const msg = 'Not in a git repository.';
79
- if (options.json) {
80
- console.log(JSON.stringify({ success: false, error: msg }, null, 2));
81
- return;
82
- }
83
- console.error(chalk.red(`❌ ${msg}`));
84
- process.exit(1);
85
- }
86
- const config = getMergedConfig();
87
- const warnings = [];
88
- const localConfigError = getLocalConfigError();
89
- if (localConfigError) {
90
- const warning = `Failed to parse ${localConfigError.path}: ${localConfigError.error}`;
91
- warnings.push(warning);
92
- if (!options.json) {
93
- console.log(chalk.yellow(`⚠️ ${warning}`));
94
- }
95
- }
96
- const branchTypes = resolveBranchTypes(config);
97
- const issuePatternRaw = typeof config.rules?.issuePattern === 'string' && config.rules.issuePattern.trim()
98
- ? config.rules.issuePattern.trim()
99
- : '[A-Z]+-\\d+|#\\d+';
100
- let issuePattern = /([A-Z]+-\d+|#\d+)/;
101
- try {
102
- issuePattern = new RegExp(issuePatternRaw);
103
- }
104
- catch {
105
- // keep default
106
- }
107
- const pattern = options.pattern || config.branch?.pattern || DEFAULT_PATTERN;
108
- const issueSeparator = config.branch?.issueSeparator || DEFAULT_ISSUE_SEPARATOR;
109
- const maxLen = config.branch?.nameMaxLength || DEFAULT_NAME_MAXLEN;
110
- let type = options.type ? normalizeType(options.type) : '';
111
- let name = options.name || '';
112
- let issue = options.issue || '';
113
- if (options.json && (!type || !name)) {
114
- const msg = 'Missing required options for JSON mode. Provide --type and --name.';
115
- console.log(JSON.stringify({ success: false, error: msg, warnings }, null, 2));
116
- return;
117
- }
118
- if (!type) {
119
- const answer = await inquirer.prompt([
120
- {
121
- type: 'list',
122
- name: 'type',
123
- message: 'Select branch type:',
124
- choices: branchTypes,
125
- },
126
- ]);
127
- type = normalizeType(answer.type);
128
- }
129
- else if (!branchTypes.includes(type)) {
130
- const msg = `Invalid branch type: ${type}`;
131
- if (options.json) {
132
- console.log(JSON.stringify({ success: false, error: msg, warnings }, null, 2));
133
- return;
134
- }
135
- console.error(chalk.red(`❌ ${msg}`));
136
- process.exit(1);
137
- }
138
- if (!name) {
139
- const answer = await inquirer.prompt([
140
- {
141
- type: 'input',
142
- name: 'name',
143
- message: 'Enter feature/module name:',
144
- validate: (input) => (input.trim() ? true : 'Name is required'),
145
- },
146
- ]);
147
- name = answer.name;
148
- }
149
- const issueFromName = extractIssue(name, issuePattern);
150
- if (!issue && issueFromName) {
151
- issue = issueFromName;
152
- name = stripIssueFromName(name, issueFromName);
153
- }
154
- if (!issue && !options.json) {
155
- const answer = await inquirer.prompt([
156
- {
157
- type: 'input',
158
- name: 'issue',
159
- message: 'Issue ID (optional, e.g. PROJ-123):',
160
- },
161
- ]);
162
- issue = answer.issue.trim();
163
- }
164
- if (issue) {
165
- const issueMatch = extractIssue(issue, issuePattern);
166
- if (!issueMatch) {
167
- const msg = `Issue ID does not match pattern: ${issuePatternRaw}`;
168
- if (options.json) {
169
- console.log(JSON.stringify({ success: false, error: msg, warnings }, null, 2));
170
- return;
171
- }
172
- console.error(chalk.red(`❌ ${msg}`));
173
- process.exit(1);
174
- }
175
- issue = issueMatch;
176
- }
177
- let branchName = buildBranchName({
178
- type,
179
- name,
180
- issue: issue || undefined,
181
- pattern,
182
- issueSeparator,
183
- maxLen,
184
- });
185
- if (branchName.includes('/')) {
186
- const prefix = branchName.split('/')[0];
187
- if (prefix && (await branchExists(prefix))) {
188
- const altName = buildBranchName({
189
- type,
190
- name,
191
- issue: issue || undefined,
192
- pattern: '{type}-{issue?}{name}',
193
- issueSeparator,
194
- maxLen,
195
- });
196
- const msg = `Branch prefix '${prefix}' already exists.`;
197
- if (options.json) {
198
- console.log(JSON.stringify({
199
- success: false,
200
- error: `${msg} Try --pattern \"{type}-{issue?}{name}\" (e.g., ${altName}).`,
201
- warnings,
202
- }, null, 2));
203
- return;
204
- }
205
- const { useAlt } = await inquirer.prompt([
206
- {
207
- type: 'confirm',
208
- name: 'useAlt',
209
- message: `${msg} Use alternative '${altName}'?`,
210
- default: true,
211
- },
212
- ]);
213
- if (useAlt) {
214
- branchName = altName;
215
- }
216
- else {
217
- console.log(chalk.gray('Skipped.'));
218
- return;
219
- }
220
- }
221
- }
222
- if (!(await isValidBranchName(branchName))) {
223
- const msg = `Invalid branch name: ${branchName}`;
224
- if (options.json) {
225
- console.log(JSON.stringify({ success: false, error: msg, warnings }, null, 2));
226
- return;
227
- }
228
- console.error(chalk.red(`❌ ${msg}`));
229
- process.exit(1);
230
- }
231
- if (options.dryRun) {
232
- const result = { success: true, branch: branchName, action: 'dry_run', warnings };
233
- if (options.json) {
234
- console.log(JSON.stringify(result, null, 2));
235
- }
236
- else {
237
- console.log(chalk.green(`✅ Branch preview: ${branchName}`));
238
- }
239
- return;
240
- }
241
- const exists = await branchExists(branchName);
242
- if (exists) {
243
- if (options.json) {
244
- const result = {
245
- success: true,
246
- branch: branchName,
247
- action: 'checked_out',
248
- warnings,
249
- };
250
- await checkoutBranch(branchName);
251
- console.log(JSON.stringify(result, null, 2));
252
- return;
253
- }
254
- const { checkout } = await inquirer.prompt([
255
- {
256
- type: 'confirm',
257
- name: 'checkout',
258
- message: `Branch already exists. Checkout ${branchName}?`,
259
- default: true,
260
- },
261
- ]);
262
- if (checkout) {
263
- await checkoutBranch(branchName);
264
- console.log(chalk.green(`✅ Switched to existing branch: ${branchName}`));
265
- }
266
- else {
267
- console.log(chalk.gray('Skipped.'));
268
- }
269
- return;
270
- }
271
- await createBranch(branchName);
272
- if (options.json) {
273
- const result = { success: true, branch: branchName, action: 'created', warnings };
274
- console.log(JSON.stringify(result, null, 2));
275
- return;
276
- }
277
- console.log(chalk.green(`✅ Created and switched to branch: ${branchName}`));
278
- }
279
- //# sourceMappingURL=branch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/commands/branch.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export interface CommitOptions {
2
- autoCommit?: boolean;
3
- numChoices?: number;
4
- hookMode?: boolean;
5
- locale?: string;
6
- agentMode?: boolean;
7
- }
8
- export declare function runCommit(options?: CommitOptions): Promise<void>;
9
- //# sourceMappingURL=commit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAYD,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsQ1E"}