geeto 0.6.6 → 0.9.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.
Files changed (198) hide show
  1. package/README.md +23 -9
  2. package/lib/api/copilot-adapter.d.ts +14 -5
  3. package/lib/api/copilot-adapter.d.ts.map +1 -1
  4. package/lib/api/copilot-adapter.js +15 -21
  5. package/lib/api/copilot-adapter.js.map +1 -1
  6. package/lib/api/copilot-sdk.d.ts +3 -16
  7. package/lib/api/copilot-sdk.d.ts.map +1 -1
  8. package/lib/api/copilot-sdk.js +166 -456
  9. package/lib/api/copilot-sdk.js.map +1 -1
  10. package/lib/api/copilot.d.ts +3 -4
  11. package/lib/api/copilot.d.ts.map +1 -1
  12. package/lib/api/copilot.js +28 -28
  13. package/lib/api/copilot.js.map +1 -1
  14. package/lib/api/gemini-sdk.d.ts.map +1 -1
  15. package/lib/api/gemini-sdk.js +11 -77
  16. package/lib/api/gemini-sdk.js.map +1 -1
  17. package/lib/api/gemini.d.ts +2 -2
  18. package/lib/api/gemini.d.ts.map +1 -1
  19. package/lib/api/gemini.js +24 -19
  20. package/lib/api/gemini.js.map +1 -1
  21. package/lib/api/gitlab.d.ts +80 -0
  22. package/lib/api/gitlab.d.ts.map +1 -0
  23. package/lib/api/gitlab.js +192 -0
  24. package/lib/api/gitlab.js.map +1 -0
  25. package/lib/api/openrouter-sdk.d.ts.map +1 -1
  26. package/lib/api/openrouter-sdk.js +11 -76
  27. package/lib/api/openrouter-sdk.js.map +1 -1
  28. package/lib/api/openrouter.d.ts.map +1 -1
  29. package/lib/api/openrouter.js +2 -16
  30. package/lib/api/openrouter.js.map +1 -1
  31. package/lib/api/platform.d.ts +78 -0
  32. package/lib/api/platform.d.ts.map +1 -0
  33. package/lib/api/platform.js +218 -0
  34. package/lib/api/platform.js.map +1 -0
  35. package/lib/cli/input.d.ts +2 -2
  36. package/lib/cli/input.d.ts.map +1 -1
  37. package/lib/cli/input.js +23 -27
  38. package/lib/cli/input.js.map +1 -1
  39. package/lib/cli/menu.d.ts +1 -1
  40. package/lib/cli/menu.d.ts.map +1 -1
  41. package/lib/cli/menu.js +123 -100
  42. package/lib/cli/menu.js.map +1 -1
  43. package/lib/core/copilot-setup.d.ts +8 -7
  44. package/lib/core/copilot-setup.d.ts.map +1 -1
  45. package/lib/core/copilot-setup.js +59 -230
  46. package/lib/core/copilot-setup.js.map +1 -1
  47. package/lib/core/gemini-setup.js +7 -7
  48. package/lib/core/gemini-setup.js.map +1 -1
  49. package/lib/core/gitlab-setup.d.ts +5 -0
  50. package/lib/core/gitlab-setup.d.ts.map +1 -0
  51. package/lib/core/gitlab-setup.js +85 -0
  52. package/lib/core/gitlab-setup.js.map +1 -0
  53. package/lib/core/openrouter-setup.d.ts.map +1 -1
  54. package/lib/core/openrouter-setup.js +17 -0
  55. package/lib/core/openrouter-setup.js.map +1 -1
  56. package/lib/index.js +501 -704
  57. package/lib/index.js.map +1 -1
  58. package/lib/types/index.d.ts +10 -6
  59. package/lib/types/index.d.ts.map +1 -1
  60. package/lib/utils/ai-provider-helpers.d.ts +5 -0
  61. package/lib/utils/ai-provider-helpers.d.ts.map +1 -0
  62. package/lib/utils/ai-provider-helpers.js +23 -0
  63. package/lib/utils/ai-provider-helpers.js.map +1 -0
  64. package/lib/utils/ai-text.d.ts +23 -0
  65. package/lib/utils/ai-text.d.ts.map +1 -0
  66. package/lib/utils/ai-text.js +57 -0
  67. package/lib/utils/ai-text.js.map +1 -0
  68. package/lib/utils/ai-workflow.d.ts +18 -0
  69. package/lib/utils/ai-workflow.d.ts.map +1 -0
  70. package/lib/utils/ai-workflow.js +66 -0
  71. package/lib/utils/ai-workflow.js.map +1 -0
  72. package/lib/utils/branch-naming.d.ts.map +1 -1
  73. package/lib/utils/branch-naming.js +1 -3
  74. package/lib/utils/branch-naming.js.map +1 -1
  75. package/lib/utils/config.d.ts +13 -1
  76. package/lib/utils/config.d.ts.map +1 -1
  77. package/lib/utils/config.js +38 -1
  78. package/lib/utils/config.js.map +1 -1
  79. package/lib/utils/display.d.ts.map +1 -1
  80. package/lib/utils/display.js +4 -3
  81. package/lib/utils/display.js.map +1 -1
  82. package/lib/utils/git-ai.js +13 -13
  83. package/lib/utils/git-ai.js.map +1 -1
  84. package/lib/utils/git-errors.d.ts.map +1 -1
  85. package/lib/utils/git-errors.js +2 -6
  86. package/lib/utils/git-errors.js.map +1 -1
  87. package/lib/utils/git.d.ts.map +1 -1
  88. package/lib/utils/git.js +5 -0
  89. package/lib/utils/git.js.map +1 -1
  90. package/lib/utils/github-helpers.d.ts +33 -0
  91. package/lib/utils/github-helpers.d.ts.map +1 -0
  92. package/lib/utils/github-helpers.js +101 -0
  93. package/lib/utils/github-helpers.js.map +1 -0
  94. package/lib/utils/prompt-loader.d.ts +9 -0
  95. package/lib/utils/prompt-loader.d.ts.map +1 -0
  96. package/lib/utils/prompt-loader.js +42 -0
  97. package/lib/utils/prompt-loader.js.map +1 -0
  98. package/lib/utils/prompts-embedded.d.ts +2 -0
  99. package/lib/utils/prompts-embedded.d.ts.map +1 -0
  100. package/lib/utils/prompts-embedded.js +255 -0
  101. package/lib/utils/prompts-embedded.js.map +1 -0
  102. package/lib/utils/scramble.d.ts +9 -86
  103. package/lib/utils/scramble.d.ts.map +1 -1
  104. package/lib/utils/scramble.js +27 -279
  105. package/lib/utils/scramble.js.map +1 -1
  106. package/lib/version.d.ts +1 -1
  107. package/lib/version.js +1 -1
  108. package/lib/workflows/alias.d.ts.map +1 -1
  109. package/lib/workflows/alias.js +1 -0
  110. package/lib/workflows/alias.js.map +1 -1
  111. package/lib/workflows/amend.d.ts.map +1 -1
  112. package/lib/workflows/amend.js +1 -5
  113. package/lib/workflows/amend.js.map +1 -1
  114. package/lib/workflows/branch-helpers.d.ts.map +1 -1
  115. package/lib/workflows/branch-helpers.js +0 -1
  116. package/lib/workflows/branch-helpers.js.map +1 -1
  117. package/lib/workflows/commit.d.ts.map +1 -1
  118. package/lib/workflows/commit.js +160 -187
  119. package/lib/workflows/commit.js.map +1 -1
  120. package/lib/workflows/doctor.d.ts +7 -0
  121. package/lib/workflows/doctor.d.ts.map +1 -0
  122. package/lib/workflows/doctor.js +284 -0
  123. package/lib/workflows/doctor.js.map +1 -0
  124. package/lib/workflows/issue.d.ts +1 -1
  125. package/lib/workflows/issue.d.ts.map +1 -1
  126. package/lib/workflows/issue.js +28 -115
  127. package/lib/workflows/issue.js.map +1 -1
  128. package/lib/workflows/main-helpers.d.ts +34 -0
  129. package/lib/workflows/main-helpers.d.ts.map +1 -0
  130. package/lib/workflows/main-helpers.js +346 -0
  131. package/lib/workflows/main-helpers.js.map +1 -0
  132. package/lib/workflows/main-steps.d.ts.map +1 -1
  133. package/lib/workflows/main-steps.js +9 -134
  134. package/lib/workflows/main-steps.js.map +1 -1
  135. package/lib/workflows/main.d.ts +2 -6
  136. package/lib/workflows/main.d.ts.map +1 -1
  137. package/lib/workflows/main.js +44 -381
  138. package/lib/workflows/main.js.map +1 -1
  139. package/lib/workflows/pr.d.ts +2 -2
  140. package/lib/workflows/pr.d.ts.map +1 -1
  141. package/lib/workflows/pr.js +49 -137
  142. package/lib/workflows/pr.js.map +1 -1
  143. package/lib/workflows/prune.d.ts.map +1 -1
  144. package/lib/workflows/prune.js +2 -10
  145. package/lib/workflows/prune.js.map +1 -1
  146. package/lib/workflows/pull.d.ts.map +1 -1
  147. package/lib/workflows/pull.js +2 -24
  148. package/lib/workflows/pull.js.map +1 -1
  149. package/lib/workflows/release-merge.d.ts +12 -0
  150. package/lib/workflows/release-merge.d.ts.map +1 -0
  151. package/lib/workflows/release-merge.js +569 -0
  152. package/lib/workflows/release-merge.js.map +1 -0
  153. package/lib/workflows/release-notes.d.ts +13 -0
  154. package/lib/workflows/release-notes.d.ts.map +1 -0
  155. package/lib/workflows/release-notes.js +141 -0
  156. package/lib/workflows/release-notes.js.map +1 -0
  157. package/lib/workflows/release-recover.d.ts +5 -0
  158. package/lib/workflows/release-recover.d.ts.map +1 -0
  159. package/lib/workflows/release-recover.js +137 -0
  160. package/lib/workflows/release-recover.js.map +1 -0
  161. package/lib/workflows/release-sync.d.ts +7 -0
  162. package/lib/workflows/release-sync.d.ts.map +1 -0
  163. package/lib/workflows/release-sync.js +321 -0
  164. package/lib/workflows/release-sync.js.map +1 -0
  165. package/lib/workflows/release-utils.d.ts +36 -0
  166. package/lib/workflows/release-utils.d.ts.map +1 -0
  167. package/lib/workflows/release-utils.js +150 -0
  168. package/lib/workflows/release-utils.js.map +1 -0
  169. package/lib/workflows/release.d.ts.map +1 -1
  170. package/lib/workflows/release.js +92 -719
  171. package/lib/workflows/release.js.map +1 -1
  172. package/lib/workflows/repo-settings.d.ts +2 -2
  173. package/lib/workflows/repo-settings.d.ts.map +1 -1
  174. package/lib/workflows/repo-settings.js +33 -24
  175. package/lib/workflows/repo-settings.js.map +1 -1
  176. package/lib/workflows/reword.d.ts.map +1 -1
  177. package/lib/workflows/reword.js +154 -151
  178. package/lib/workflows/reword.js.map +1 -1
  179. package/lib/workflows/security-gate.d.ts.map +1 -1
  180. package/lib/workflows/security-gate.js +15 -75
  181. package/lib/workflows/security-gate.js.map +1 -1
  182. package/lib/workflows/settings.d.ts +2 -1
  183. package/lib/workflows/settings.d.ts.map +1 -1
  184. package/lib/workflows/settings.js +289 -19
  185. package/lib/workflows/settings.js.map +1 -1
  186. package/lib/workflows/trello-menu.d.ts +2 -5
  187. package/lib/workflows/trello-menu.d.ts.map +1 -1
  188. package/lib/workflows/trello-menu.js +67 -228
  189. package/lib/workflows/trello-menu.js.map +1 -1
  190. package/package.json +3 -6
  191. package/prompts/branch-name-prompt.md +4 -0
  192. package/prompts/commit-message-prompt.md +12 -0
  193. package/prompts/issue-prompt.md +19 -0
  194. package/prompts/issue-review.with-context.prompt.yml +77 -0
  195. package/prompts/pr-prompt.md +14 -0
  196. package/prompts/release-notes-prompt.md +35 -0
  197. package/prompts/repo-description-prompt.md +1 -0
  198. package/prompts/security-gate-prompt.md +80 -0
@@ -10,6 +10,7 @@ import { exec } from '../utils/exec.js';
10
10
  import { generateCommitMessageWithProvider } from '../utils/git-ai.js';
11
11
  import { getCurrentBranch, getStagedFiles } from '../utils/git.js';
12
12
  import { log } from '../utils/logging.js';
13
+ import { loadPromptWithVars } from '../utils/prompt-loader.js';
13
14
  import { loadState } from '../utils/state.js';
14
15
  /**
15
16
  * Collect data for security analysis
@@ -109,79 +110,12 @@ function getRecentCommits(count = 30) {
109
110
  */
110
111
  function buildSecurityPrompt(data) {
111
112
  const { diff, files, hasDependencies } = data;
112
- const prompt = `You are an AI Security Reviewer for application code.
113
-
114
- **Context:**
115
- - Files changed: ${files.length}
116
- - Changed files: ${files.slice(0, 10).join(', ')}${files.length > 10 ? ' ...' : ''}
117
- - Dependency changes: ${hasDependencies ? 'Yes' : 'No'}
118
-
119
- **Code Changes (diff):**
120
- \`\`\`diff
121
- ${diff}
122
- \`\`\`
123
-
124
- **Your Task:**
125
- Analyze the code for potential security and quality issues.
126
-
127
- **Security Analysis - Look for:**
128
- 1. Hardcoded secrets (API keys, passwords, tokens)
129
- 2. Exposed credentials or sensitive data
130
- 3. Risky dependencies or known vulnerabilities
131
- 4. Vulnerable code patterns:
132
- - SQL injection risks
133
- - XSS (Cross-Site Scripting) vulnerabilities
134
- - Command injection
135
- - Path traversal
136
- - Insecure random number generation
137
- - Weak cryptography
138
- - Authentication/authorization bypasses
139
- 5. Configuration issues (exposed debug mode, unsafe CORS, etc.)
140
-
141
- **Quality Analysis - Look for:**
142
- 1. Overly complex logic (nested loops, deep conditionals)
143
- 2. Code duplication
144
- 3. Violations of common best practices
145
- 4. Missing error handling
146
- 5. Inconsistent naming or patterns
147
-
148
- **Important:**
149
- - Focus on REAL issues, not theoretical ones
150
- - Provide practical explanations: WHY is it dangerous or problematic?
151
- - Suggest realistic, actionable fixes
152
- - Do NOT block the workflow - focus on education and risk mitigation
153
- - If no issues found, say so clearly
154
-
155
- **Output Format (use this exact structure):**
156
-
157
- SECURITY_WARNINGS:
158
- [If found, list each warning as:]
159
- - SEVERITY: [high/medium/low]
160
- - TITLE: [short title]
161
- - DESCRIPTION: [why is this dangerous?]
162
- - LOCATION: [file:line or general area]
163
- - SUGGESTION: [how to fix it]
164
-
165
- [If no security warnings:]
166
- - None detected
167
-
168
- QUALITY_ISSUES:
169
- [If found, list each issue as:]
170
- - SEVERITY: [high/medium/low]
171
- - TITLE: [short title]
172
- - DESCRIPTION: [what's the problem?]
173
- - LOCATION: [file:line or general area]
174
- - SUGGESTION: [how to improve it]
175
-
176
- [If no quality issues:]
177
- - None detected
178
-
179
- OVERALL_RISK: [high/medium/low/none]
180
-
181
- SUMMARY:
182
- [1-2 sentence summary of findings]
183
- `;
184
- return prompt;
113
+ return loadPromptWithVars('security-gate-prompt.md', {
114
+ filesCount: String(files.length),
115
+ changedFiles: files.slice(0, 10).join(', ') + (files.length > 10 ? ' ...' : ''),
116
+ hasDependencies: hasDependencies ? 'Yes' : 'No',
117
+ diff,
118
+ });
185
119
  }
186
120
  /**
187
121
  * Parse AI response into structured security result
@@ -422,6 +356,12 @@ export async function showSecurityGateMenu() {
422
356
  return;
423
357
  }
424
358
  }
359
+ // Reload state after potential AI provider setup
360
+ const currentState = loadState();
361
+ if (!currentState?.aiProvider) {
362
+ log.error('AI provider not configured.');
363
+ return;
364
+ }
425
365
  const currentBranch = getCurrentBranch();
426
366
  log.info(`Current branch: ${colors.cyan}${currentBranch}${colors.reset}`);
427
367
  // Choose what to analyze
@@ -470,10 +410,10 @@ export async function showSecurityGateMenu() {
470
410
  }
471
411
  log.info(`Files to analyze: ${scanData.files.length}`);
472
412
  if (scanData.hasDependencies) {
473
- log.warn('Dependency changes detected - will check for known vulnerabilities');
413
+ log.warn('Dependency changes detected - will check for known vulnerabilities');
474
414
  }
475
415
  // Run security scan
476
- const aiResponse = await runSecurityScan(scanData, state.aiProvider, state.copilotModel ?? state.openrouterModel ?? state.geminiModel);
416
+ const aiResponse = await runSecurityScan(scanData, currentState.aiProvider, currentState.copilotModel ?? currentState.openrouterModel ?? currentState.geminiModel);
477
417
  if (!aiResponse) {
478
418
  log.error('Failed to complete security analysis');
479
419
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"security-gate.js","sourceRoot":"","sources":["../../src/workflows/security-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security-gate.js","sourceRoot":"","sources":["../../src/workflows/security-gate.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Settings workflow - handles all settings menu interactions
3
3
  */
4
+ declare const handlePrefixFormatSetting: () => Promise<boolean | void>;
4
5
  declare const handleSeparatorSetting: () => Promise<boolean | void>;
5
6
  /**
6
7
  * Handle protected branches configuration
@@ -15,5 +16,5 @@ declare const handleGeminiSetting: () => Promise<boolean | void>;
15
16
  declare const handleTrelloSetting: () => Promise<boolean | void>;
16
17
  declare const handleOpenRouterSetting: () => Promise<boolean | void>;
17
18
  export declare const showSettingsMenu: () => Promise<void>;
18
- export { handleSeparatorSetting, handleProtectedBranchesSetting, handleModelResetSetting, handleChangeModelSetting, handleGeminiSetting, handleOpenRouterSetting, handleTrelloSetting, };
19
+ export { handlePrefixFormatSetting, handleSeparatorSetting, handleProtectedBranchesSetting, handleModelResetSetting, handleChangeModelSetting, handleGeminiSetting, handleOpenRouterSetting, handleTrelloSetting, };
19
20
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/workflows/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8DH,QAAA,MAAM,sBAAsB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CAuB9D,CAAA;AAED;;GAEG;AACH,QAAA,MAAM,8BAA8B,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CA0DtE,CAAA;AA0GD,QAAA,MAAM,uBAAuB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CAuB/D,CAAA;AAED;;GAEG;AACH,QAAA,MAAM,wBAAwB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CAiFhE,CAAA;AACD,QAAA,MAAM,mBAAmB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CAiD3D,CAAA;AAED,QAAA,MAAM,mBAAmB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CA+C3D,CAAA;AAED,QAAA,MAAM,uBAAuB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CA0C/D,CAAA;AAED,eAAO,MAAM,gBAAgB,qBAsE5B,CAAA;AAED,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,GACpB,CAAA"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/workflows/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+DH,QAAA,MAAM,yBAAyB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CAuBjE,CAAA;AAED,QAAA,MAAM,sBAAsB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CAuB9D,CAAA;AAED;;GAEG;AACH,QAAA,MAAM,8BAA8B,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CA0DtE,CAAA;AAyWD,QAAA,MAAM,uBAAuB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CA8B/D,CAAA;AAED;;GAEG;AACH,QAAA,MAAM,wBAAwB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CAiFhE,CAAA;AACD,QAAA,MAAM,mBAAmB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CAiD3D,CAAA;AAED,QAAA,MAAM,mBAAmB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CA+C3D,CAAA;AAED,QAAA,MAAM,uBAAuB,QAAa,OAAO,CAAC,OAAO,GAAG,IAAI,CA0C/D,CAAA;AAED,eAAO,MAAM,gBAAgB,qBA8F5B,CAAA;AAED,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,GACpB,CAAA"}
@@ -4,10 +4,11 @@
4
4
  import { existsSync, unlinkSync } from 'node:fs';
5
5
  import path from 'node:path';
6
6
  import { askQuestion, confirm } from '../cli/input.js';
7
- import { select } from '../cli/menu.js';
7
+ import { multiSelect, select } from '../cli/menu.js';
8
8
  import { colors } from '../utils/colors.js';
9
9
  import { getBranchStrategyConfig, getProtectedBranches, hasGeminiConfig, hasTrelloConfig, saveBranchStrategyConfig, } from '../utils/config.js';
10
10
  import { log } from '../utils/logging.js';
11
+ import { ScrambleProgress } from '../utils/scramble.js';
11
12
  const configDirPath = () => path.join(process.cwd(), '.geeto');
12
13
  const configFilePath = (name) => path.join(configDirPath(), `${name}.toml`);
13
14
  const removeConfigFile = (name) => {
@@ -50,6 +51,25 @@ const runInteractiveSetup = async (name) => {
50
51
  log.warn('OpenRouter setup failed or cancelled.');
51
52
  }
52
53
  };
54
+ const handlePrefixFormatSetting = async () => {
55
+ const config = getBranchStrategyConfig();
56
+ const current = config?.prefixSeparator ?? '(auto-detect)';
57
+ const choice = await select(`Branch prefix format (current: ${current}):`, [
58
+ { label: 'Hash: dev#branch-name', value: '#' },
59
+ { label: 'Slash: dev/branch-name', value: '/' },
60
+ { label: 'Auto-detect from existing branches', value: 'auto' },
61
+ { label: 'Back to settings menu', value: 'back' },
62
+ ]);
63
+ if (choice === 'back')
64
+ return true;
65
+ const updated = config ?? { separator: '-' };
66
+ updated.prefixSeparator = choice === 'auto' ? undefined : choice;
67
+ saveBranchStrategyConfig(updated);
68
+ log.success(choice === 'auto'
69
+ ? 'Prefix format set to auto-detect'
70
+ : `Prefix format set to: ${choice === '#' ? 'dev#name' : 'dev/name'}`);
71
+ return false;
72
+ };
53
73
  const handleSeparatorSetting = async () => {
54
74
  const separatorChoice = await select('Choose branch name separator:', [
55
75
  { label: 'Hyphen (kebab-case): my-branch-name', value: 'hyphen' },
@@ -141,20 +161,72 @@ const syncOpenRouterModels = async () => {
141
161
  await fs.promises.mkdir(outDir, { recursive: true });
142
162
  if (sdk && typeof sdk.getAvailableModelChoices === 'function') {
143
163
  try {
164
+ const spinner = new ScrambleProgress();
165
+ spinner.start(['Fetching OpenRouter models...']);
144
166
  const detailed = (await sdk.getAvailableModelChoices());
167
+ spinner.stop();
145
168
  if (Array.isArray(detailed) && detailed.length > 0) {
146
169
  // Persist detailed sync file
147
170
  const syncFile = path.join(outDir, 'openrouter-model-live-sample.json');
148
171
  await fs.promises.writeFile(syncFile, JSON.stringify(detailed, null, 2));
149
- const filtered = detailed.filter((d) => d.value === 'microsoft/wizardlm-2-8x22b' ||
150
- d.value === 'allenai/olmo-3-32b-think' ||
151
- d.value === 'allenai/molmo-2-8b' ||
152
- d.value === 'meta-llama/llama-3.2-3b-instruct' ||
153
- d.value === 'anthropic/claude-sonnet-4.5' ||
154
- d.value === 'anthropic/claude-sonnet-4' ||
155
- d.value === 'anthropic/claude-haiku-4.5' ||
156
- d.value === 'openai/gpt-5' ||
157
- d.value === 'openai/gpt-5.2-codex');
172
+ // Filter out image-generation-only models (geeto is for text/code tasks)
173
+ const imageOnlyPrefixes = [
174
+ 'stabilityai/',
175
+ 'black-forest-labs/',
176
+ 'ideogram/',
177
+ 'recraft/',
178
+ 'aura-',
179
+ ];
180
+ const imageOnlyKeywords = [
181
+ 'dall-e',
182
+ 'flux',
183
+ 'midjourney',
184
+ 'imagen',
185
+ 'sdxl',
186
+ 'stable-diffusion',
187
+ ];
188
+ const textModels = detailed.filter((d) => {
189
+ const val = String(d.value).toLowerCase();
190
+ if (imageOnlyPrefixes.some((p) => val.includes(p)))
191
+ return false;
192
+ if (imageOnlyKeywords.some((k) => val.includes(k)))
193
+ return false;
194
+ return true;
195
+ });
196
+ // Show multiselect for user to pick favorite models
197
+ const choices = textModels.map((d) => ({
198
+ label: String(d.label ??
199
+ d.name ??
200
+ d.value),
201
+ value: String(d.value),
202
+ }));
203
+ // Pre-select: use currently saved models if available, else recommended defaults
204
+ const savedModelFile = path.join(outDir, 'openrouter-model.json');
205
+ let defaults = [];
206
+ try {
207
+ const saved = JSON.parse(await fs.promises.readFile(savedModelFile, 'utf8'));
208
+ defaults = saved.map((m) => String(m.value ?? '')).filter(Boolean);
209
+ }
210
+ catch {
211
+ // No saved models — use recommended defaults
212
+ const recommended = [
213
+ 'anthropic/claude-sonnet-4',
214
+ 'anthropic/claude-haiku-4.5',
215
+ 'openai/gpt-4o',
216
+ 'openai/gpt-4.1',
217
+ 'openai/gpt-5-mini',
218
+ 'google/gemini-2.5-flash',
219
+ ];
220
+ defaults = choices
221
+ .filter((c) => recommended.some((r) => c.value.includes(r)))
222
+ .map((c) => c.value);
223
+ }
224
+ const selected = await multiSelect('Pick your favorite OpenRouter models:', choices, defaults);
225
+ if (!selected || selected.length === 0) {
226
+ log.info('No models selected. Sync cancelled.');
227
+ return;
228
+ }
229
+ const filtered = detailed.filter((d) => selected.includes(String(d.value)));
158
230
  // Renumber auto-numbered labels sequentially
159
231
  const hasAutoNumber = filtered.some((d) => /^\s*\d+\./.test(String(d.label ?? d.name ?? d.value)));
160
232
  const simple = filtered.map((d, idx) => {
@@ -167,9 +239,9 @@ const syncOpenRouterModels = async () => {
167
239
  value: d.value,
168
240
  };
169
241
  });
170
- const modelFile = path.join(outDir, 'openrouter-model.json');
171
- await fs.promises.writeFile(modelFile, JSON.stringify(simple, null, 2));
172
- log.info(`Synced ${detailed.length} OpenRouter model(s) to .geeto/openrouter-model.json ` +
242
+ const outModelFile = path.join(outDir, 'openrouter-model.json');
243
+ await fs.promises.writeFile(outModelFile, JSON.stringify(simple, null, 2));
244
+ log.info(`Saved ${simple.length} OpenRouter model(s) to .geeto/openrouter-model.json ` +
173
245
  '(and _live-sample.json).');
174
246
  return;
175
247
  }
@@ -207,9 +279,178 @@ const syncOpenRouterModels = async () => {
207
279
  log.warn(`OpenRouter model sync failed: ${msg}`);
208
280
  }
209
281
  };
282
+ // Sync Gemini models (fetch from SDK & persist user favorites)
283
+ const syncGeminiModels = async () => {
284
+ try {
285
+ let sdkModule = null;
286
+ try {
287
+ sdkModule = await import('../api/gemini-sdk.js');
288
+ }
289
+ catch {
290
+ log.warn('Gemini SDK unavailable. Configure Gemini first with --setup-gemini.');
291
+ return;
292
+ }
293
+ const sdk = sdkModule;
294
+ if (!sdk || typeof sdk.getAvailableModelChoices !== 'function') {
295
+ log.warn('Gemini SDK unavailable. Configure Gemini first with --setup-gemini.');
296
+ return;
297
+ }
298
+ const spinner = new ScrambleProgress();
299
+ spinner.start(['Fetching Gemini models...']);
300
+ const detailed = (await sdk.getAvailableModelChoices());
301
+ spinner.stop();
302
+ if (!Array.isArray(detailed) || detailed.length === 0) {
303
+ log.warn('No Gemini models found. Check your Gemini API key.');
304
+ return;
305
+ }
306
+ // Filter out image-generation-only models
307
+ const imageKeywords = ['imagen', 'veo', 'lyria'];
308
+ const textModels = detailed.filter((d) => {
309
+ const val = String(d.value ?? d.id).toLowerCase();
310
+ return !imageKeywords.some((k) => val.includes(k));
311
+ });
312
+ if (textModels.length === 0) {
313
+ log.warn('No text Gemini models found. Check your Gemini API key.');
314
+ return;
315
+ }
316
+ const choices = textModels.map((d) => ({
317
+ label: String(d.label ?? d.name ?? d.value),
318
+ value: String(d.value ?? d.id),
319
+ }));
320
+ // Pre-select: use currently saved models if available, else recommended defaults
321
+ const fsModule = await import('node:fs');
322
+ const savedGeminiFile = path.join(process.cwd(), '.geeto', 'gemini-model.json');
323
+ let defaults = [];
324
+ try {
325
+ const saved = JSON.parse(fsModule.readFileSync(savedGeminiFile, 'utf8'));
326
+ defaults = saved.map((m) => String(m.value ?? '')).filter(Boolean);
327
+ }
328
+ catch {
329
+ // No saved models — use recommended defaults
330
+ const recommended = new Set([
331
+ 'gemini-2.5-flash',
332
+ 'gemini-2.5-pro',
333
+ 'gemini-3-flash-preview',
334
+ 'gemini-3-pro-preview',
335
+ 'gemini-flash-latest',
336
+ 'gemini-pro-latest',
337
+ ]);
338
+ defaults = choices
339
+ .filter((c) => {
340
+ const stripped = c.value.toLowerCase().replace('models/', '');
341
+ return recommended.has(stripped);
342
+ })
343
+ .map((c) => c.value);
344
+ }
345
+ const selected = await multiSelect('Pick your favorite Gemini models:', choices, defaults);
346
+ if (!selected || selected.length === 0) {
347
+ log.info('No models selected. Sync cancelled.');
348
+ return;
349
+ }
350
+ // Build model list — keep full labels, just re-number
351
+ const simple = selected.map((val, idx) => {
352
+ const detail = detailed.find((d) => String(d.value ?? d.id) === val);
353
+ const rawLabel = String(detail?.label ?? detail?.name ?? val);
354
+ const label = rawLabel.replace(/^\s*\d+\.\s*/, `${idx + 1}. `);
355
+ return {
356
+ label,
357
+ value: val,
358
+ };
359
+ });
360
+ // Save to gemini-model.json
361
+ const outDir = path.join(process.cwd(), '.geeto');
362
+ await fsModule.promises.mkdir(outDir, { recursive: true });
363
+ const outGeminiFile = path.join(outDir, 'gemini-model.json');
364
+ await fsModule.promises.writeFile(outGeminiFile, JSON.stringify(simple, null, 2));
365
+ log.success(`Saved ${simple.length} Gemini model(s) to .geeto/gemini-model.json`);
366
+ }
367
+ catch (error) {
368
+ const msg = error instanceof Error ? error.message : String(error);
369
+ log.warn(`Gemini model sync failed: ${msg}`);
370
+ }
371
+ };
372
+ // Sync Copilot models (fetch from SDK & persist user favorites)
373
+ const syncCopilotModels = async () => {
374
+ try {
375
+ let sdkModule = null;
376
+ try {
377
+ sdkModule = await import('../api/copilot-sdk.js');
378
+ }
379
+ catch {
380
+ log.warn('Copilot SDK unavailable. Configure Copilot first with --setup-copilot.');
381
+ return;
382
+ }
383
+ const sdk = sdkModule;
384
+ if (!sdk || typeof sdk.getAvailableModelChoices !== 'function') {
385
+ log.warn('Copilot SDK unavailable. Configure Copilot first with --setup-copilot.');
386
+ return;
387
+ }
388
+ if (typeof sdk.isAvailable === 'function') {
389
+ const ok = await sdk.isAvailable();
390
+ if (!ok) {
391
+ log.warn('Copilot is not available. Run --setup-copilot first.');
392
+ return;
393
+ }
394
+ }
395
+ const spinner = new ScrambleProgress();
396
+ spinner.start(['Fetching Copilot models...']);
397
+ const detailed = (await sdk.getAvailableModelChoices());
398
+ spinner.stop();
399
+ if (!Array.isArray(detailed) || detailed.length === 0) {
400
+ log.warn('No Copilot models found.');
401
+ return;
402
+ }
403
+ const choices = detailed.map((d) => ({
404
+ label: String(d.label ?? d.name ?? d.value),
405
+ value: String(d.value ?? d.id),
406
+ }));
407
+ // Pre-select: use currently saved models if available, else recommended defaults
408
+ const fsModule = await import('node:fs');
409
+ const savedCopilotFile = path.join(process.cwd(), '.geeto', 'copilot-model.json');
410
+ let defaults = [];
411
+ try {
412
+ const saved = JSON.parse(fsModule.readFileSync(savedCopilotFile, 'utf8'));
413
+ defaults = saved.map((m) => String(m.value ?? '')).filter(Boolean);
414
+ }
415
+ catch {
416
+ // No saved models — use recommended defaults
417
+ const recommended = ['claude-sonnet-4', 'claude-haiku-4.5', 'gpt-4.1', 'gpt-5-mini'];
418
+ defaults = choices
419
+ .filter((c) => recommended.some((r) => c.value.toLowerCase().includes(r)))
420
+ .map((c) => c.value);
421
+ }
422
+ const selected = await multiSelect('Pick your favorite Copilot models:', choices, defaults);
423
+ if (!selected || selected.length === 0) {
424
+ log.info('No models selected. Sync cancelled.');
425
+ return;
426
+ }
427
+ // Build model list — keep full SDK labels (with token info), just re-number
428
+ const simple = selected.map((val, idx) => {
429
+ const detail = detailed.find((d) => String(d.value ?? d.id) === val);
430
+ const rawLabel = String(detail?.label ?? detail?.name ?? val);
431
+ const label = rawLabel.replace(/^\s*\d+\.\s*/, `${idx + 1}. `);
432
+ return {
433
+ label,
434
+ value: val,
435
+ };
436
+ });
437
+ // Save to copilot-model.json
438
+ const outDir = path.join(process.cwd(), '.geeto');
439
+ await fsModule.promises.mkdir(outDir, { recursive: true });
440
+ const outCopilotFile = path.join(outDir, 'copilot-model.json');
441
+ await fsModule.promises.writeFile(outCopilotFile, JSON.stringify(simple, null, 2));
442
+ log.success(`Saved ${simple.length} Copilot model(s) to .geeto/copilot-model.json`);
443
+ }
444
+ catch (error) {
445
+ const msg = error instanceof Error ? error.message : String(error);
446
+ log.warn(`Copilot model sync failed: ${msg}`);
447
+ }
448
+ };
210
449
  const handleModelResetSetting = async () => {
211
- const resetChoice = await select('Sync model configurations (non-destructive):', [
212
- { label: 'Sync only OpenRouter models', value: 'openrouter' },
450
+ const resetChoice = await select('Saved AI models — choose provider:', [
451
+ { label: 'Copilot', value: 'copilot' },
452
+ { label: 'Gemini', value: 'gemini' },
453
+ { label: 'OpenRouter', value: 'openrouter' },
213
454
  { label: 'Back to settings menu', value: 'back' },
214
455
  ]);
215
456
  if (resetChoice === 'back') {
@@ -217,9 +458,14 @@ const handleModelResetSetting = async () => {
217
458
  }
218
459
  try {
219
460
  if (resetChoice === 'openrouter') {
220
- log.info('⏳ Syncing OpenRouter models...');
221
461
  await syncOpenRouterModels();
222
462
  }
463
+ if (resetChoice === 'gemini') {
464
+ await syncGeminiModels();
465
+ }
466
+ if (resetChoice === 'copilot') {
467
+ await syncCopilotModels();
468
+ }
223
469
  log.success('Model sync completed!');
224
470
  }
225
471
  catch (error) {
@@ -430,18 +676,31 @@ export const showSettingsMenu = async () => {
430
676
  while (true) {
431
677
  log.info('Settings Menu');
432
678
  const settingChoice = await select('Choose a setting to configure:', [
679
+ { label: '── Branch ──', value: '_branch', disabled: true },
680
+ { label: 'Branch prefix format (dev#name / dev/name)', value: 'prefix' },
433
681
  { label: 'Branch separator (hyphen/underscore)', value: 'separator' },
434
682
  { label: 'Protected branches', value: 'protected' },
435
- { label: 'Sync model configurations (fetch live sample models)', value: 'models' },
436
- { label: 'Change AI provider / model', value: 'change-model' },
683
+ { label: '── AI Configuration ──', value: '_ai', disabled: true },
684
+ { label: 'Saved AI models (manage favorite models per provider)', value: 'models' },
685
+ { label: 'Active AI model (switch provider & model for generation)', value: 'change-model' },
686
+ { label: '── Integration Setup ──', value: '_setup', disabled: true },
437
687
  { label: 'Gemini AI setup', value: 'gemini' },
438
688
  { label: 'OpenRouter AI setup', value: 'openrouter' },
439
689
  { label: 'Trello integration setup', value: 'trello' },
690
+ { label: '── System ──', value: '_system', disabled: true },
691
+ { label: 'Installation info', value: 'where' },
692
+ { label: 'Uninstall geeto', value: 'uninstall' },
440
693
  { label: 'Back to main menu', value: 'back' },
441
694
  ]);
442
695
  if (settingChoice === 'back') {
443
696
  break;
444
697
  }
698
+ if (settingChoice === 'prefix') {
699
+ const back = await handlePrefixFormatSetting();
700
+ if (back) {
701
+ continue;
702
+ }
703
+ }
445
704
  if (settingChoice === 'separator') {
446
705
  const back = await handleSeparatorSetting();
447
706
  if (back) {
@@ -485,6 +744,17 @@ export const showSettingsMenu = async () => {
485
744
  continue;
486
745
  }
487
746
  }
747
+ if (settingChoice === 'where') {
748
+ const { handleWhereInstalled } = await import('./doctor.js');
749
+ await handleWhereInstalled();
750
+ askQuestion(` ${colors.gray}Press Enter to go back${colors.reset}`);
751
+ continue;
752
+ }
753
+ if (settingChoice === 'uninstall') {
754
+ const { handleUninstall } = await import('./doctor.js');
755
+ await handleUninstall();
756
+ break;
757
+ }
488
758
  console.log('');
489
759
  // Ask if user wants to continue with settings
490
760
  const continueSettings = confirm('Configure another setting?');
@@ -493,5 +763,5 @@ export const showSettingsMenu = async () => {
493
763
  }
494
764
  }
495
765
  };
496
- export { handleSeparatorSetting, handleProtectedBranchesSetting, handleModelResetSetting, handleChangeModelSetting, handleGeminiSetting, handleOpenRouterSetting, handleTrelloSetting, };
766
+ export { handlePrefixFormatSetting, handleSeparatorSetting, handleProtectedBranchesSetting, handleModelResetSetting, handleChangeModelSetting, handleGeminiSetting, handleOpenRouterSetting, handleTrelloSetting, };
497
767
  //# sourceMappingURL=settings.js.map