geeto 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +152 -0
- package/lib/api/copilot-adapter.d.ts +11 -0
- package/lib/api/copilot-adapter.d.ts.map +1 -0
- package/lib/api/copilot-adapter.js +41 -0
- package/lib/api/copilot-adapter.js.map +1 -0
- package/lib/api/copilot-sdk.d.ts +48 -0
- package/lib/api/copilot-sdk.d.ts.map +1 -0
- package/lib/api/copilot-sdk.js +451 -0
- package/lib/api/copilot-sdk.js.map +1 -0
- package/lib/api/copilot.d.ts +21 -0
- package/lib/api/copilot.d.ts.map +1 -0
- package/lib/api/copilot.js +87 -0
- package/lib/api/copilot.js.map +1 -0
- package/lib/api/gemini-sdk.d.ts +24 -0
- package/lib/api/gemini-sdk.d.ts.map +1 -0
- package/lib/api/gemini-sdk.js +245 -0
- package/lib/api/gemini-sdk.js.map +1 -0
- package/lib/api/gemini.d.ts +21 -0
- package/lib/api/gemini.d.ts.map +1 -0
- package/lib/api/gemini.js +87 -0
- package/lib/api/gemini.js.map +1 -0
- package/lib/api/openrouter-sdk.d.ts +58 -0
- package/lib/api/openrouter-sdk.d.ts.map +1 -0
- package/lib/api/openrouter-sdk.js +341 -0
- package/lib/api/openrouter-sdk.js.map +1 -0
- package/lib/api/openrouter.d.ts +17 -0
- package/lib/api/openrouter.d.ts.map +1 -0
- package/lib/api/openrouter.js +111 -0
- package/lib/api/openrouter.js.map +1 -0
- package/lib/api/trello.d.ts +17 -0
- package/lib/api/trello.d.ts.map +1 -0
- package/lib/api/trello.js +72 -0
- package/lib/api/trello.js.map +1 -0
- package/lib/cli/input.d.ts +39 -0
- package/lib/cli/input.d.ts.map +1 -0
- package/lib/cli/input.js +119 -0
- package/lib/cli/input.js.map +1 -0
- package/lib/cli/menu.d.ts +9 -0
- package/lib/cli/menu.d.ts.map +1 -0
- package/lib/cli/menu.js +201 -0
- package/lib/cli/menu.js.map +1 -0
- package/lib/core/constants.d.ts +22 -0
- package/lib/core/constants.d.ts.map +1 -0
- package/lib/core/constants.js +24 -0
- package/lib/core/constants.js.map +1 -0
- package/lib/core/copilot-setup.d.ts +13 -0
- package/lib/core/copilot-setup.d.ts.map +1 -0
- package/lib/core/copilot-setup.js +447 -0
- package/lib/core/copilot-setup.js.map +1 -0
- package/lib/core/gemini-setup.d.ts +8 -0
- package/lib/core/gemini-setup.d.ts.map +1 -0
- package/lib/core/gemini-setup.js +84 -0
- package/lib/core/gemini-setup.js.map +1 -0
- package/lib/core/menu-constants.d.ts +24 -0
- package/lib/core/menu-constants.d.ts.map +1 -0
- package/lib/core/menu-constants.js +22 -0
- package/lib/core/menu-constants.js.map +1 -0
- package/lib/core/openrouter-setup.d.ts +8 -0
- package/lib/core/openrouter-setup.d.ts.map +1 -0
- package/lib/core/openrouter-setup.js +73 -0
- package/lib/core/openrouter-setup.js.map +1 -0
- package/lib/core/setup.d.ts +21 -0
- package/lib/core/setup.d.ts.map +1 -0
- package/lib/core/setup.js +88 -0
- package/lib/core/setup.js.map +1 -0
- package/lib/core/trello-setup.d.ts +8 -0
- package/lib/core/trello-setup.d.ts.map +1 -0
- package/lib/core/trello-setup.js +107 -0
- package/lib/core/trello-setup.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +250 -0
- package/lib/index.js.map +1 -0
- package/lib/types/index.d.ts +78 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +2 -0
- package/lib/types/index.js.map +1 -0
- package/lib/utils/branch-naming.d.ts +11 -0
- package/lib/utils/branch-naming.d.ts.map +1 -0
- package/lib/utils/branch-naming.js +396 -0
- package/lib/utils/branch-naming.js.map +1 -0
- package/lib/utils/colors.d.ts +14 -0
- package/lib/utils/colors.d.ts.map +1 -0
- package/lib/utils/colors.js +14 -0
- package/lib/utils/colors.js.map +1 -0
- package/lib/utils/commit-helpers.d.ts +53 -0
- package/lib/utils/commit-helpers.d.ts.map +1 -0
- package/lib/utils/commit-helpers.js +177 -0
- package/lib/utils/commit-helpers.js.map +1 -0
- package/lib/utils/config.d.ts +87 -0
- package/lib/utils/config.d.ts.map +1 -0
- package/lib/utils/config.js +326 -0
- package/lib/utils/config.js.map +1 -0
- package/lib/utils/display.d.ts +27 -0
- package/lib/utils/display.d.ts.map +1 -0
- package/lib/utils/display.js +116 -0
- package/lib/utils/display.js.map +1 -0
- package/lib/utils/error-helpers.d.ts +27 -0
- package/lib/utils/error-helpers.d.ts.map +1 -0
- package/lib/utils/error-helpers.js +102 -0
- package/lib/utils/error-helpers.js.map +1 -0
- package/lib/utils/exec.d.ts +18 -0
- package/lib/utils/exec.d.ts.map +1 -0
- package/lib/utils/exec.js +96 -0
- package/lib/utils/exec.js.map +1 -0
- package/lib/utils/git-ai-errors.d.ts +10 -0
- package/lib/utils/git-ai-errors.d.ts.map +1 -0
- package/lib/utils/git-ai-errors.js +71 -0
- package/lib/utils/git-ai-errors.js.map +1 -0
- package/lib/utils/git-ai.d.ts +26 -0
- package/lib/utils/git-ai.d.ts.map +1 -0
- package/lib/utils/git-ai.js +603 -0
- package/lib/utils/git-ai.js.map +1 -0
- package/lib/utils/git-commands.d.ts +21 -0
- package/lib/utils/git-commands.d.ts.map +1 -0
- package/lib/utils/git-commands.js +58 -0
- package/lib/utils/git-commands.js.map +1 -0
- package/lib/utils/git-errors.d.ts +76 -0
- package/lib/utils/git-errors.d.ts.map +1 -0
- package/lib/utils/git-errors.js +565 -0
- package/lib/utils/git-errors.js.map +1 -0
- package/lib/utils/git.d.ts +61 -0
- package/lib/utils/git.d.ts.map +1 -0
- package/lib/utils/git.js +245 -0
- package/lib/utils/git.js.map +1 -0
- package/lib/utils/logging.d.ts +25 -0
- package/lib/utils/logging.d.ts.map +1 -0
- package/lib/utils/logging.js +71 -0
- package/lib/utils/logging.js.map +1 -0
- package/lib/utils/menu-builders.d.ts +47 -0
- package/lib/utils/menu-builders.d.ts.map +1 -0
- package/lib/utils/menu-builders.js +34 -0
- package/lib/utils/menu-builders.js.map +1 -0
- package/lib/utils/platform.d.ts +13 -0
- package/lib/utils/platform.d.ts.map +1 -0
- package/lib/utils/platform.js +32 -0
- package/lib/utils/platform.js.map +1 -0
- package/lib/utils/spinner-wrapper.d.ts +16 -0
- package/lib/utils/spinner-wrapper.d.ts.map +1 -0
- package/lib/utils/spinner-wrapper.js +56 -0
- package/lib/utils/spinner-wrapper.js.map +1 -0
- package/lib/utils/state.d.ts +22 -0
- package/lib/utils/state.d.ts.map +1 -0
- package/lib/utils/state.js +75 -0
- package/lib/utils/state.js.map +1 -0
- package/lib/utils/time.d.ts +4 -0
- package/lib/utils/time.d.ts.map +1 -0
- package/lib/utils/time.js +29 -0
- package/lib/utils/time.js.map +1 -0
- package/lib/utils/type-guards.d.ts +10 -0
- package/lib/utils/type-guards.d.ts.map +1 -0
- package/lib/utils/type-guards.js +29 -0
- package/lib/utils/type-guards.js.map +1 -0
- package/lib/workflows/ai-provider.d.ts +13 -0
- package/lib/workflows/ai-provider.d.ts.map +1 -0
- package/lib/workflows/ai-provider.js +55 -0
- package/lib/workflows/ai-provider.js.map +1 -0
- package/lib/workflows/author.d.ts +4 -0
- package/lib/workflows/author.d.ts.map +1 -0
- package/lib/workflows/author.js +80 -0
- package/lib/workflows/author.js.map +1 -0
- package/lib/workflows/branch-helpers.d.ts +9 -0
- package/lib/workflows/branch-helpers.d.ts.map +1 -0
- package/lib/workflows/branch-helpers.js +406 -0
- package/lib/workflows/branch-helpers.js.map +1 -0
- package/lib/workflows/branch-utils.d.ts +9 -0
- package/lib/workflows/branch-utils.d.ts.map +1 -0
- package/lib/workflows/branch-utils.js +61 -0
- package/lib/workflows/branch-utils.js.map +1 -0
- package/lib/workflows/branch.d.ts +12 -0
- package/lib/workflows/branch.d.ts.map +1 -0
- package/lib/workflows/branch.js +555 -0
- package/lib/workflows/branch.js.map +1 -0
- package/lib/workflows/cleanup.d.ts +10 -0
- package/lib/workflows/cleanup.d.ts.map +1 -0
- package/lib/workflows/cleanup.js +287 -0
- package/lib/workflows/cleanup.js.map +1 -0
- package/lib/workflows/commit.d.ts +10 -0
- package/lib/workflows/commit.d.ts.map +1 -0
- package/lib/workflows/commit.js +771 -0
- package/lib/workflows/commit.js.map +1 -0
- package/lib/workflows/main-steps.d.ts +12 -0
- package/lib/workflows/main-steps.d.ts.map +1 -0
- package/lib/workflows/main-steps.js +407 -0
- package/lib/workflows/main-steps.js.map +1 -0
- package/lib/workflows/main.d.ts +8 -0
- package/lib/workflows/main.d.ts.map +1 -0
- package/lib/workflows/main.js +720 -0
- package/lib/workflows/main.js.map +1 -0
- package/lib/workflows/security-gate.d.ts +8 -0
- package/lib/workflows/security-gate.d.ts.map +1 -0
- package/lib/workflows/security-gate.js +447 -0
- package/lib/workflows/security-gate.js.map +1 -0
- package/lib/workflows/settings.d.ts +15 -0
- package/lib/workflows/settings.d.ts.map +1 -0
- package/lib/workflows/settings.js +438 -0
- package/lib/workflows/settings.js.map +1 -0
- package/lib/workflows/trello-menu.d.ts +16 -0
- package/lib/workflows/trello-menu.d.ts.map +1 -0
- package/lib/workflows/trello-menu.js +361 -0
- package/lib/workflows/trello-menu.js.map +1 -0
- package/package.json +112 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive branch cleanup workflow
|
|
3
|
+
* Allows users to select and delete local and remote branches
|
|
4
|
+
*/
|
|
5
|
+
import { askQuestion, confirm } from '../cli/input.js';
|
|
6
|
+
import { colors } from '../utils/colors.js';
|
|
7
|
+
import { exec, execSilent } from '../utils/exec.js';
|
|
8
|
+
import { getCurrentBranch } from '../utils/git.js';
|
|
9
|
+
import { log } from '../utils/logging.js';
|
|
10
|
+
/**
|
|
11
|
+
* Get unified list of branches with location info
|
|
12
|
+
*/
|
|
13
|
+
const getUnifiedBranchList = () => {
|
|
14
|
+
const current = getCurrentBranch();
|
|
15
|
+
const protectedBranches = new Set(['main', 'master', 'development', 'develop', 'dev', current]);
|
|
16
|
+
// Get local branches
|
|
17
|
+
const localBranches = new Set();
|
|
18
|
+
try {
|
|
19
|
+
const branches = execSilent('git branch --format="%(refname:short)"')
|
|
20
|
+
.split('\n')
|
|
21
|
+
.filter(Boolean);
|
|
22
|
+
for (const branch of branches) {
|
|
23
|
+
if (!protectedBranches.has(branch.toLowerCase())) {
|
|
24
|
+
localBranches.add(branch);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// Ignore error
|
|
30
|
+
}
|
|
31
|
+
// Get remote branches
|
|
32
|
+
const remoteBranches = new Set();
|
|
33
|
+
try {
|
|
34
|
+
const branches = execSilent('git branch -r --format="%(refname:short)"')
|
|
35
|
+
.split('\n')
|
|
36
|
+
.filter(Boolean)
|
|
37
|
+
.filter((branch) => !branch.includes('HEAD')) // Exclude HEAD pointer
|
|
38
|
+
.filter((branch) => branch.startsWith('origin/')); // Must have origin/ prefix
|
|
39
|
+
for (const branch of branches) {
|
|
40
|
+
const branchName = branch.replace('origin/', '');
|
|
41
|
+
// Skip if empty or just "origin" or protected
|
|
42
|
+
if (branchName &&
|
|
43
|
+
branchName !== 'origin' &&
|
|
44
|
+
!protectedBranches.has(branchName.toLowerCase())) {
|
|
45
|
+
remoteBranches.add(branchName);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// Ignore error
|
|
51
|
+
}
|
|
52
|
+
// Merge and create unified list
|
|
53
|
+
const allBranchNames = new Set([...localBranches, ...remoteBranches]);
|
|
54
|
+
const branchList = [];
|
|
55
|
+
for (const name of allBranchNames) {
|
|
56
|
+
const hasLocal = localBranches.has(name);
|
|
57
|
+
const hasRemote = remoteBranches.has(name);
|
|
58
|
+
let label = '';
|
|
59
|
+
if (hasLocal && hasRemote) {
|
|
60
|
+
label = ''; // Both - no label needed
|
|
61
|
+
}
|
|
62
|
+
else if (hasLocal) {
|
|
63
|
+
label = `${colors.yellow}(local only)${colors.reset}`;
|
|
64
|
+
}
|
|
65
|
+
else if (hasRemote) {
|
|
66
|
+
label = `${colors.cyan}(remote only)${colors.reset}`;
|
|
67
|
+
}
|
|
68
|
+
branchList.push({
|
|
69
|
+
name,
|
|
70
|
+
hasLocal,
|
|
71
|
+
hasRemote,
|
|
72
|
+
label,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
// Sort by location: remote-only first, then both, then local-only; within each group sort alphabetically
|
|
76
|
+
const rank = (br) => br.hasRemote && !br.hasLocal ? 0 : br.hasRemote && br.hasLocal ? 1 : 2;
|
|
77
|
+
branchList.sort((a, b) => {
|
|
78
|
+
const ra = rank(a);
|
|
79
|
+
const rb = rank(b);
|
|
80
|
+
if (ra !== rb)
|
|
81
|
+
return ra - rb;
|
|
82
|
+
return a.name.localeCompare(b.name);
|
|
83
|
+
});
|
|
84
|
+
return branchList;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Interactive branch cleanup
|
|
88
|
+
* Allows users to select and delete local and remote branches
|
|
89
|
+
*/
|
|
90
|
+
export const handleInteractiveCleanup = () => {
|
|
91
|
+
log.banner();
|
|
92
|
+
log.step(`${colors.cyan}Branch Cleanup${colors.reset}\n`);
|
|
93
|
+
// Check if in git repo
|
|
94
|
+
try {
|
|
95
|
+
exec('git rev-parse --is-inside-work-tree', true);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
log.error('Not a git repository!');
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
101
|
+
const current = getCurrentBranch();
|
|
102
|
+
log.info(`Current branch: ${colors.cyan}${current}${colors.reset}\n`);
|
|
103
|
+
// Get unified branch list
|
|
104
|
+
const branches = getUnifiedBranchList();
|
|
105
|
+
if (branches.length === 0) {
|
|
106
|
+
log.info('No branches available for cleanup.');
|
|
107
|
+
log.info('All branches are either protected or currently checked out.');
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
// Show summary
|
|
111
|
+
const localCount = branches.filter((b) => b.hasLocal).length;
|
|
112
|
+
const remoteCount = branches.filter((b) => b.hasRemote).length;
|
|
113
|
+
const bothCount = branches.filter((b) => b.hasLocal && b.hasRemote).length;
|
|
114
|
+
console.log(`${colors.cyan}Available branches for cleanup:${colors.reset}`);
|
|
115
|
+
console.log(` Total: ${colors.yellow}${branches.length}${colors.reset} unique branches (${bothCount} in both locations)`);
|
|
116
|
+
console.log(` Local: ${colors.yellow}${localCount}${colors.reset} branches`);
|
|
117
|
+
console.log(` Remote: ${colors.yellow}${remoteCount}${colors.reset} branches`);
|
|
118
|
+
console.log('');
|
|
119
|
+
// Show branches with numbering
|
|
120
|
+
console.log(`${colors.cyan}Select branches to delete:${colors.reset}`);
|
|
121
|
+
for (const [i, branch] of branches.entries()) {
|
|
122
|
+
const num = `${i + 1}`;
|
|
123
|
+
const label = branch.label ? ` ${branch.label}` : '';
|
|
124
|
+
console.log(` ${colors.gray}[${num}]${colors.reset} ${branch.name}${label}`);
|
|
125
|
+
}
|
|
126
|
+
console.log('');
|
|
127
|
+
// Get user selection
|
|
128
|
+
console.log(`${colors.yellow}Instructions:${colors.reset}`);
|
|
129
|
+
console.log(' • Type "all" to delete all branches');
|
|
130
|
+
console.log(' • Type "none" or "cancel" to cancel');
|
|
131
|
+
console.log(' • Type numbers separated by space (e.g., "1 3 5 7")');
|
|
132
|
+
console.log(' • Type ranges with dash (e.g., "1-5 8 10-12")');
|
|
133
|
+
console.log('');
|
|
134
|
+
const input = askQuestion('Select branches: ').trim().toLowerCase();
|
|
135
|
+
if (!input || input === 'none' || input === 'cancel') {
|
|
136
|
+
log.info('Cleanup cancelled.');
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
let selectedIndices = [];
|
|
140
|
+
if (input === 'all') {
|
|
141
|
+
selectedIndices = branches.map((_, i) => i);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
// Parse input
|
|
145
|
+
const parts = input.split(/\s+/);
|
|
146
|
+
for (const part of parts) {
|
|
147
|
+
if (part.includes('-')) {
|
|
148
|
+
// Range like "1-5"
|
|
149
|
+
const rangeParts = part.split('-').map((s) => Number.parseInt(s.trim(), 10));
|
|
150
|
+
const start = rangeParts[0];
|
|
151
|
+
const end = rangeParts[1];
|
|
152
|
+
if (start !== undefined &&
|
|
153
|
+
end !== undefined &&
|
|
154
|
+
!Number.isNaN(start) &&
|
|
155
|
+
!Number.isNaN(end) &&
|
|
156
|
+
start > 0 &&
|
|
157
|
+
end <= branches.length) {
|
|
158
|
+
for (let i = start - 1; i < end; i++) {
|
|
159
|
+
if (!selectedIndices.includes(i)) {
|
|
160
|
+
selectedIndices.push(i);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// Single number
|
|
167
|
+
const num = Number.parseInt(part, 10);
|
|
168
|
+
if (!Number.isNaN(num) && num > 0 && num <= branches.length) {
|
|
169
|
+
const idx = num - 1;
|
|
170
|
+
if (!selectedIndices.includes(idx)) {
|
|
171
|
+
selectedIndices.push(idx);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (selectedIndices.length === 0) {
|
|
178
|
+
log.warn('No valid branches selected.');
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
// Sort indices for ordered display
|
|
182
|
+
selectedIndices.sort((a, b) => a - b);
|
|
183
|
+
const selectedBranches = selectedIndices
|
|
184
|
+
.map((i) => branches[i])
|
|
185
|
+
.filter((b) => b !== undefined);
|
|
186
|
+
// Show summary
|
|
187
|
+
console.log(`\n${colors.yellow}Selected ${selectedBranches.length} branches:${colors.reset}`);
|
|
188
|
+
for (const branch of selectedBranches) {
|
|
189
|
+
const locations = [];
|
|
190
|
+
if (branch.hasLocal)
|
|
191
|
+
locations.push('local');
|
|
192
|
+
if (branch.hasRemote)
|
|
193
|
+
locations.push('remote');
|
|
194
|
+
console.log(` • ${branch.name} ${colors.gray}(will delete: ${locations.join(' & ')})${colors.reset}`);
|
|
195
|
+
}
|
|
196
|
+
console.log('');
|
|
197
|
+
const finalConfirm = confirm(`${colors.red}Delete ${selectedBranches.length} branches? This cannot be undone.${colors.reset}`);
|
|
198
|
+
console.log('');
|
|
199
|
+
if (!finalConfirm) {
|
|
200
|
+
log.warn('Cleanup cancelled.');
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
// Delete branches
|
|
204
|
+
let localSuccessCount = 0;
|
|
205
|
+
let localFailCount = 0;
|
|
206
|
+
let remoteSuccessCount = 0;
|
|
207
|
+
let remoteFailCount = 0;
|
|
208
|
+
for (const branch of selectedBranches) {
|
|
209
|
+
// Delete local if exists
|
|
210
|
+
if (branch.hasLocal) {
|
|
211
|
+
try {
|
|
212
|
+
// Try normal delete first with spinner
|
|
213
|
+
const spinner = log.spinner();
|
|
214
|
+
spinner.start(`Deleting local: ${branch.name}`);
|
|
215
|
+
try {
|
|
216
|
+
exec(`git branch -d "${branch.name}"`, true);
|
|
217
|
+
spinner.succeed(`Deleted local: ${branch.name}`);
|
|
218
|
+
localSuccessCount++;
|
|
219
|
+
}
|
|
220
|
+
catch {
|
|
221
|
+
// Stop spinner and clear line before interactive prompt
|
|
222
|
+
spinner.fail(`Branch '${branch.name}' is not fully merged`);
|
|
223
|
+
console.log('');
|
|
224
|
+
const forceDelete = confirm(`Force delete local?`);
|
|
225
|
+
console.log('');
|
|
226
|
+
if (forceDelete) {
|
|
227
|
+
const spinner2 = log.spinner();
|
|
228
|
+
spinner2.start(`Force deleting local: ${branch.name}`);
|
|
229
|
+
try {
|
|
230
|
+
exec(`git branch -D "${branch.name}"`, true);
|
|
231
|
+
spinner2.succeed(`Force deleted local: ${branch.name}`);
|
|
232
|
+
localSuccessCount++;
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
spinner2.fail(`Failed to force delete local: ${branch.name}`);
|
|
236
|
+
localFailCount++;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
localFailCount++;
|
|
241
|
+
log.warn(`Skipped local: ${branch.name}`);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
localFailCount++;
|
|
247
|
+
log.error(`Failed to delete local: ${branch.name}`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// Delete remote if exists
|
|
251
|
+
if (branch.hasRemote) {
|
|
252
|
+
try {
|
|
253
|
+
const spinner = log.spinner();
|
|
254
|
+
spinner.start(`Deleting remote: ${branch.name}`);
|
|
255
|
+
try {
|
|
256
|
+
exec(`git push origin --delete "${branch.name}"`, true);
|
|
257
|
+
spinner.succeed(`Deleted remote: ${branch.name}`);
|
|
258
|
+
remoteSuccessCount++;
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
spinner.fail(`Failed to delete remote: ${branch.name}`);
|
|
262
|
+
remoteFailCount++;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
remoteFailCount++;
|
|
267
|
+
log.error(`Failed to delete remote: ${branch.name}`);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
// Final summary
|
|
272
|
+
console.log(`\n${colors.cyan}═══ Cleanup Summary ═══${colors.reset}`);
|
|
273
|
+
const localTotal = selectedBranches.filter((b) => b.hasLocal).length;
|
|
274
|
+
const remoteTotal = selectedBranches.filter((b) => b.hasRemote).length;
|
|
275
|
+
if (localTotal > 0) {
|
|
276
|
+
console.log(` Local: ${colors.green}${localSuccessCount}/${localTotal}${colors.reset}${localFailCount > 0 ? ` (${colors.red}${localFailCount} failed${colors.reset})` : ''}`);
|
|
277
|
+
}
|
|
278
|
+
if (remoteTotal > 0) {
|
|
279
|
+
console.log(` Remote: ${colors.green}${remoteSuccessCount}/${remoteTotal} deleted${colors.reset}${remoteFailCount > 0 ? `, ${colors.red}${remoteFailCount} failed${colors.reset}` : ''}`);
|
|
280
|
+
}
|
|
281
|
+
if (remoteFailCount > 0) {
|
|
282
|
+
log.info(' Try prune with: git remote prune origin');
|
|
283
|
+
}
|
|
284
|
+
console.log('');
|
|
285
|
+
log.success('Cleanup complete!');
|
|
286
|
+
};
|
|
287
|
+
//# sourceMappingURL=cleanup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/workflows/cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Commit workflow - handles commit-related operations
|
|
3
|
+
*/
|
|
4
|
+
import type { GeetoState } from '../types/index.js';
|
|
5
|
+
export declare const getDefaultCommitTool: (aiProvider: "gemini" | "copilot" | "openrouter" | "manual") => string;
|
|
6
|
+
export declare const handleCommitWorkflow: (state: GeetoState, opts?: {
|
|
7
|
+
suppressStep?: boolean;
|
|
8
|
+
suppressConfirm?: boolean;
|
|
9
|
+
}) => Promise<boolean>;
|
|
10
|
+
//# sourceMappingURL=commit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/workflows/commit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAmBnD,eAAO,MAAM,oBAAoB,GAC/B,YAAY,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,KACzD,MAeF,CAAA;AAqFD,eAAO,MAAM,oBAAoB,GAC/B,OAAO,UAAU,EACjB,OAAO;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,KAC3D,OAAO,CAAC,OAAO,CAyyBjB,CAAA"}
|