autogit-tool 1.0.22 → 1.0.24

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 (63) hide show
  1. package/README.md +6 -3
  2. package/dist/ai/provider.d.ts +1 -0
  3. package/dist/ai/provider.d.ts.map +1 -1
  4. package/dist/ai/provider.js +73 -22
  5. package/dist/ai/provider.js.map +1 -1
  6. package/dist/commands/analyze.js +2 -2
  7. package/dist/commands/analyze.js.map +1 -1
  8. package/dist/commands/brag.js +2 -2
  9. package/dist/commands/brag.js.map +1 -1
  10. package/dist/commands/config.d.ts.map +1 -1
  11. package/dist/commands/config.js +31 -17
  12. package/dist/commands/config.js.map +1 -1
  13. package/dist/commands/docs.js +2 -2
  14. package/dist/commands/docs.js.map +1 -1
  15. package/dist/commands/doctor.d.ts.map +1 -1
  16. package/dist/commands/doctor.js +22 -7
  17. package/dist/commands/doctor.js.map +1 -1
  18. package/dist/commands/github.js +2 -2
  19. package/dist/commands/github.js.map +1 -1
  20. package/dist/commands/init.d.ts.map +1 -1
  21. package/dist/commands/init.js +4 -3
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/commands/linkedin.d.ts.map +1 -1
  24. package/dist/commands/linkedin.js +10 -6
  25. package/dist/commands/linkedin.js.map +1 -1
  26. package/dist/commands/publish.js +2 -2
  27. package/dist/commands/publish.js.map +1 -1
  28. package/dist/commands/readme.js +2 -2
  29. package/dist/commands/readme.js.map +1 -1
  30. package/dist/commands/release.js +2 -2
  31. package/dist/commands/release.js.map +1 -1
  32. package/dist/commands/resume.d.ts.map +1 -1
  33. package/dist/commands/resume.js +3 -2
  34. package/dist/commands/resume.js.map +1 -1
  35. package/dist/commands/setup.d.ts.map +1 -1
  36. package/dist/commands/setup.js +17 -12
  37. package/dist/commands/setup.js.map +1 -1
  38. package/dist/commands/showcase.d.ts.map +1 -1
  39. package/dist/commands/showcase.js +3 -2
  40. package/dist/commands/showcase.js.map +1 -1
  41. package/dist/config/manager.d.ts +4 -1
  42. package/dist/config/manager.d.ts.map +1 -1
  43. package/dist/config/manager.js +9 -0
  44. package/dist/config/manager.js.map +1 -1
  45. package/dist/pipeline/main-pipeline.d.ts.map +1 -1
  46. package/dist/pipeline/main-pipeline.js +9 -6
  47. package/dist/pipeline/main-pipeline.js.map +1 -1
  48. package/dist/scanner/project-analyzer.d.ts.map +1 -1
  49. package/dist/scanner/project-analyzer.js +13 -8
  50. package/dist/scanner/project-analyzer.js.map +1 -1
  51. package/dist/services/brag-agent.d.ts +1 -0
  52. package/dist/services/brag-agent.d.ts.map +1 -1
  53. package/dist/services/brag-agent.js +33 -10
  54. package/dist/services/brag-agent.js.map +1 -1
  55. package/dist/services/coding-agent.d.ts +16 -0
  56. package/dist/services/coding-agent.d.ts.map +1 -0
  57. package/dist/services/coding-agent.js +121 -0
  58. package/dist/services/coding-agent.js.map +1 -0
  59. package/dist/utils/project-root.d.ts +6 -0
  60. package/dist/utils/project-root.d.ts.map +1 -0
  61. package/dist/utils/project-root.js +32 -0
  62. package/dist/utils/project-root.js.map +1 -0
  63. package/package.json +1 -1
package/README.md CHANGED
@@ -29,7 +29,7 @@ When you run `autogit` inside a project directory it:
29
29
 
30
30
  The share package is saved under `~/.autogit/social/<project>/`. LinkedIn publishing and image upload still require your review. Destructive or public-facing Git actions require confirmation; pass `--yes` to skip prompts.
31
31
 
32
- The main run creates three evidence cards automatically. It can also add a real screenshot from a running web app with `autogit --screenshot-url http://localhost:3000`, or conceptual artwork with `autogit --promo-image` when OpenAI image generation is configured. Interactive runs offer these choices after the share package is created.
32
+ The main run creates three evidence cards automatically, including for CLI, API, and library projects. A real screenshot is optional and only applies when a web app is currently reachable at an HTTP(S) URL; leave the URL blank to skip it. Conceptual artwork is also available with `autogit --promo-image` when OpenAI image generation is configured.
33
33
 
34
34
  ---
35
35
 
@@ -43,7 +43,7 @@ npm install -g autogit-tool
43
43
 
44
44
  **Requirements:** Node.js 18+, Git
45
45
 
46
- On the first interactive `autogit` run, setup asks for **Default** (preselected) or **Customize**, whether to include Brag (**Yes** preselected), a coding-agent runner, and finally which AI provider to use. Automatic routing selects Codex for OpenAI, Claude Code for Anthropic, and OpenCode for other providers; you can instead choose Codex, Claude Code, Antigravity, or OpenCode directly. Codex, Claude Code, and Antigravity use their own browser sign-in and subscription quota. OpenCode uses your selected API provider, including a custom OpenAI-compatible endpoint. Rerun the wizard with `autogit setup`. npm does not reliably expose interactive package-install prompts, so the questions appear on first launch, not while `npm install` is running. Non-interactive runs and `--yes` skip the wizard.
46
+ On the first interactive `autogit` run, setup asks for **Default** (preselected) or **Customize**, then which AI provider to use, and finally whether to include Brag (**Yes** preselected). **Codex**, **Claude Code**, and **Antigravity** appear directly in the AI-provider list and use their own browser sign-in and subscription quota for AutoGit generation. API providers, including a custom OpenAI-compatible endpoint, use their selected API key. When Brag is included, AutoGit installs a matching coding agent and its skill. Rerun the wizard with `autogit setup`. npm does not reliably expose interactive package-install prompts, so the questions appear on first launch, not while `npm install` is running. Non-interactive runs and `--yes` skip the wizard.
47
47
 
48
48
  The optional Brag step installs the selected agent and its skill globally. Run `autogit brag` from a project folder to start the video workflow. Codex, Claude Code, and Antigravity use their own cached OAuth sessions; AutoGit never passes them an API key. OpenCode receives only the selected provider credential for that one process and does not store it in OpenCode settings. During opted-in setup, AutoGit installs Node 22 and FFmpeg into its user-data folder if needed; Brag uses `npx hyperframes` to fetch its renderer on first use. The managed FFmpeg binary is a third-party GPL-licensed component. The image-card showcase works without those video tools. Azure OpenAI is not yet mapped to the OpenCode runner.
49
49
 
@@ -69,7 +69,7 @@ autogit
69
69
 
70
70
  ## AI Providers
71
71
 
72
- AutoGit supports 13 AI providers. Configure via `autogit config` or environment variables.
72
+ AutoGit supports API providers plus three OAuth-backed coding-agent providers. Configure via `autogit config` or environment variables.
73
73
 
74
74
  | Provider | Env Variable | Default Model | Free Tier |
75
75
  |---|---|---|---|
@@ -91,6 +91,9 @@ AutoGit supports 13 AI providers. Configure via `autogit config` or environment
91
91
  | **DeepInfra** | `DEEPINFRA_API_KEY` | `deepseek-ai/DeepSeek-V3.2` | — |
92
92
  | **Hugging Face Inference** | `HUGGINGFACE_API_KEY` or `HF_TOKEN` | `openai/gpt-oss-120b:fastest` | ✔ Limited |
93
93
  | **Fireworks AI** | `FIREWORKS_API_KEY` | `accounts/fireworks/models/llama-v3p1-8b-instruct` | — |
94
+ | **Codex** | ChatGPT browser sign-in | ChatGPT subscription | subscription quota |
95
+ | **Claude Code** | Claude browser sign-in | Claude subscription | subscription quota |
96
+ | **Antigravity** | Google browser sign-in | Google account subscription | account quota |
94
97
  | **Custom OpenAI-compatible** | `CUSTOM_API_KEY` | your model | — |
95
98
 
96
99
  **Recommended for free usage:** [Groq](https://console.groq.com) — fastest free API, no credit card required. [NVIDIA NIM](https://build.nvidia.com) also provides free credits on signup.
@@ -15,6 +15,7 @@ export interface AIProvider {
15
15
  }): Promise<AIResponse>;
16
16
  isConfigured(): boolean;
17
17
  }
18
+ export declare function isOAuthAgentProvider(name: string): boolean;
18
19
  export declare function getProvider(name?: string): AIProvider;
19
20
  export declare function listProviders(): {
20
21
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7G,YAAY,IAAI,OAAO,CAAC;CACzB;AAyfD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAiBrD;AAED,wBAAgB,aAAa,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,CA4B7F"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7G,YAAY,IAAI,OAAO,CAAC;CACzB;AAgbD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAA4C;AAiHvG,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAiBrD;AAED,wBAAgB,aAAa,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EAAE,CA+B7F"}
@@ -1,4 +1,5 @@
1
- import { getAIConfig } from '../config/manager.js';
1
+ import { getAIConfig, getAIModel } from '../config/manager.js';
2
+ import { runAgentPrompt } from '../services/coding-agent.js';
2
3
  // ─── Helpers ────────────────────────────────────────────────────────────────
3
4
  const DEFAULT_TIMEOUT_MS = 60_000; // 60s — accommodates slow providers like NVIDIA NIM
4
5
  /** fetch() with an AbortController timeout */
@@ -54,7 +55,7 @@ class OpenAIProvider {
54
55
  isConfigured() { return !!getAIConfig().openaiKey; }
55
56
  async generate(messages, options) {
56
57
  const cfg = getAIConfig();
57
- const model = cfg.model || 'gpt-4o-mini';
58
+ const model = getAIModel('openai', 'gpt-4o-mini');
58
59
  const content = await openAICompatPost('https://api.openai.com/v1/chat/completions', cfg.openaiKey, model, messages, options);
59
60
  return { content, provider: 'openai', model };
60
61
  }
@@ -64,7 +65,7 @@ class AnthropicProvider {
64
65
  isConfigured() { return !!getAIConfig().anthropicKey; }
65
66
  async generate(messages, options) {
66
67
  const cfg = getAIConfig();
67
- const model = cfg.model || 'claude-sonnet-4-20250514';
68
+ const model = getAIModel('anthropic', 'claude-sonnet-4-20250514');
68
69
  const systemMsg = messages.find(m => m.role === 'system');
69
70
  const userMessages = messages.filter(m => m.role !== 'system');
70
71
  const response = await fetch('https://api.anthropic.com/v1/messages', {
@@ -93,7 +94,7 @@ class GeminiProvider {
93
94
  isConfigured() { return !!getAIConfig().geminiKey; }
94
95
  async generate(messages, options) {
95
96
  const cfg = getAIConfig();
96
- const model = cfg.model || 'gemini-1.5-flash';
97
+ const model = getAIModel('gemini', 'gemini-3.8-flash');
97
98
  const contents = messages
98
99
  .filter(m => m.role !== 'system')
99
100
  .map(m => ({ role: m.role === 'assistant' ? 'model' : 'user', parts: [{ text: m.content }] }));
@@ -113,7 +114,12 @@ class GeminiProvider {
113
114
  if (!response.ok)
114
115
  throw new Error(`Gemini ${response.status}: ${await response.text()}`);
115
116
  const data = (await response.json());
116
- return { content: data.candidates[0].content.parts[0].text, provider: 'gemini', model };
117
+ const content = data.candidates?.[0]?.content?.parts?.map((part) => part.text || '').join('').trim();
118
+ if (!content) {
119
+ const reason = data.candidates?.[0]?.finishReason || data.promptFeedback?.blockReason || 'empty response';
120
+ throw new Error(`Gemini returned no text (${reason})`);
121
+ }
122
+ return { content, provider: 'gemini', model };
117
123
  }
118
124
  }
119
125
  class OllamaProvider {
@@ -121,7 +127,7 @@ class OllamaProvider {
121
127
  isConfigured() { return true; } // local — always available
122
128
  async generate(messages, options) {
123
129
  const cfg = getAIConfig();
124
- const model = cfg.model || 'llama3.1';
130
+ const model = getAIModel('ollama', 'llama3.1');
125
131
  const response = await fetch(`${cfg.ollamaEndpoint}/api/chat`, {
126
132
  method: 'POST',
127
133
  headers: { 'Content-Type': 'application/json' },
@@ -143,7 +149,7 @@ class OpenRouterProvider {
143
149
  isConfigured() { return !!getAIConfig().openrouterKey; }
144
150
  async generate(messages, options) {
145
151
  const cfg = getAIConfig();
146
- const model = cfg.model || 'anthropic/claude-sonnet-4-20250514';
152
+ const model = getAIModel('openrouter', 'anthropic/claude-sonnet-4-20250514');
147
153
  const content = await openAICompatPost('https://openrouter.ai/api/v1/chat/completions', cfg.openrouterKey, model, messages, options);
148
154
  return { content, provider: 'openrouter', model };
149
155
  }
@@ -154,7 +160,7 @@ class MistralProvider {
154
160
  isConfigured() { return !!getAIConfig().mistralKey; }
155
161
  async generate(messages, options) {
156
162
  const cfg = getAIConfig();
157
- const model = cfg.model || 'mistral-large-latest';
163
+ const model = getAIModel('mistral', 'mistral-large-latest');
158
164
  const content = await openAICompatPost('https://api.mistral.ai/v1/chat/completions', cfg.mistralKey, model, messages, options);
159
165
  return { content, provider: 'mistral', model };
160
166
  }
@@ -165,7 +171,7 @@ class GroqProvider {
165
171
  async generate(messages, options) {
166
172
  const cfg = getAIConfig();
167
173
  // Groq's fastest capable model as default
168
- const model = cfg.model || 'llama-3.3-70b-versatile';
174
+ const model = getAIModel('groq', 'openai/gpt-oss-120b');
169
175
  const content = await openAICompatPost('https://api.groq.com/openai/v1/chat/completions', cfg.groqKey, model, messages, options);
170
176
  return { content, provider: 'groq', model };
171
177
  }
@@ -175,7 +181,7 @@ class DeepSeekProvider {
175
181
  isConfigured() { return !!getAIConfig().deepseekKey; }
176
182
  async generate(messages, options) {
177
183
  const cfg = getAIConfig();
178
- const model = cfg.model || 'deepseek-chat';
184
+ const model = getAIModel('deepseek', 'deepseek-chat');
179
185
  const content = await openAICompatPost('https://api.deepseek.com/v1/chat/completions', cfg.deepseekKey, model, messages, options);
180
186
  return { content, provider: 'deepseek', model };
181
187
  }
@@ -185,7 +191,7 @@ class PerplexityProvider {
185
191
  isConfigured() { return !!getAIConfig().perplexityKey; }
186
192
  async generate(messages, options) {
187
193
  const cfg = getAIConfig();
188
- const model = cfg.model || 'llama-3.1-sonar-large-128k-online';
194
+ const model = getAIModel('perplexity', 'sonar');
189
195
  const content = await openAICompatPost('https://api.perplexity.ai/chat/completions', cfg.perplexityKey, model, messages, options);
190
196
  return { content, provider: 'perplexity', model };
191
197
  }
@@ -195,7 +201,7 @@ class TogetherProvider {
195
201
  isConfigured() { return !!getAIConfig().togetherKey; }
196
202
  async generate(messages, options) {
197
203
  const cfg = getAIConfig();
198
- const model = cfg.model || 'meta-llama/Llama-3.3-70B-Instruct-Turbo';
204
+ const model = getAIModel('together', 'meta-llama/Llama-3.3-70B-Instruct-Turbo');
199
205
  const content = await openAICompatPost('https://api.together.xyz/v1/chat/completions', cfg.togetherKey, model, messages, options);
200
206
  return { content, provider: 'together', model };
201
207
  }
@@ -205,7 +211,7 @@ class CohereProvider {
205
211
  isConfigured() { return !!getAIConfig().cohereKey; }
206
212
  async generate(messages, options) {
207
213
  const cfg = getAIConfig();
208
- const model = cfg.model || 'command-r-plus-08-2024';
214
+ const model = getAIModel('cohere', 'command-r-plus-08-2024');
209
215
  // Cohere uses a different request shape: system + chat_history + message
210
216
  const systemMsg = messages.find(m => m.role === 'system');
211
217
  const history = messages
@@ -239,7 +245,7 @@ class XAIProvider {
239
245
  isConfigured() { return !!getAIConfig().xaiKey; }
240
246
  async generate(messages, options) {
241
247
  const cfg = getAIConfig();
242
- const model = cfg.model || 'grok-3-fast-beta';
248
+ const model = getAIModel('xai', 'grok-4.6');
243
249
  // xAI's API is OpenAI-compatible
244
250
  const content = await openAICompatPost('https://api.x.ai/v1/chat/completions', cfg.xaiKey, model, messages, options);
245
251
  return { content, provider: 'xai', model };
@@ -281,7 +287,7 @@ class NvidiaProvider {
281
287
  isConfigured() { return !!getAIConfig().nvidiaKey; }
282
288
  async generate(messages, options) {
283
289
  const cfg = getAIConfig();
284
- const model = cfg.model || 'meta/llama-3.3-70b-instruct';
290
+ const model = getAIModel('nvidia', 'nvidia/nemotron-3-super-120b-a12b');
285
291
  // NVIDIA NIM cold starts can take 90-120s on free tier — use a longer timeout
286
292
  const content = await openAICompatPost('https://integrate.api.nvidia.com/v1/chat/completions', cfg.nvidiaKey, model, messages, options, {}, 120_000 // 2 minutes
287
293
  );
@@ -302,11 +308,50 @@ class HostedOpenAICompatibleProvider {
302
308
  isConfigured() { return !!this.getKey(); }
303
309
  async generate(messages, options) {
304
310
  const cfg = getAIConfig();
305
- const model = cfg.model || this.defaultModel;
311
+ const model = getAIModel(this.name, this.defaultModel);
306
312
  const content = await openAICompatPost(this.endpoint, this.getKey(), model, messages, options);
307
313
  return { content, provider: this.name, model };
308
314
  }
309
315
  }
316
+ const OAUTH_AGENT_PROVIDERS = new Set(['codex', 'claude-code', 'antigravity']);
317
+ export function isOAuthAgentProvider(name) { return OAUTH_AGENT_PROVIDERS.has(name); }
318
+ class OAuthAgentProvider {
319
+ name;
320
+ constructor(name) {
321
+ this.name = name;
322
+ }
323
+ isConfigured() { return true; }
324
+ async generate(messages) {
325
+ const instruction = [
326
+ 'You are AutoGit\'s text-generation backend.',
327
+ 'Do not create, edit, delete, stage, commit, push, or run project commands.',
328
+ 'Return only the requested final text, with no explanation of your process.',
329
+ ...messages.map(message => `${message.role.toUpperCase()}:\n${message.content}`),
330
+ ].join('\n\n');
331
+ const env = { ...process.env };
332
+ if (this.name === 'codex') {
333
+ delete env.OPENAI_API_KEY;
334
+ delete env.CODEX_API_KEY;
335
+ }
336
+ if (this.name === 'claude-code')
337
+ delete env.ANTHROPIC_API_KEY;
338
+ if (this.name === 'antigravity')
339
+ delete env.GEMINI_API_KEY;
340
+ try {
341
+ const content = await runAgentPrompt(this.name, instruction, {
342
+ cwd: process.cwd(), env, timeoutMs: 360_000, maxBuffer: 4 * 1024 * 1024,
343
+ });
344
+ if (!content)
345
+ throw new Error(`${this.name} returned no text`);
346
+ return { content, provider: this.name, model: 'subscription' };
347
+ }
348
+ catch (error) {
349
+ if (error.code === 'ENOENT')
350
+ throw new Error(`${this.name} is not installed. Run autogit setup to install and sign in.`);
351
+ throw new Error(`${this.name} OAuth generation failed: ${error.stderr?.trim() || error.message}`);
352
+ }
353
+ }
354
+ }
310
355
  // ─── Custom OpenAI-compatible endpoint ───────────────────────────────────────
311
356
  // Works with any server that speaks the OpenAI chat completions format:
312
357
  // LM Studio, Jan, LocalAI, vLLM, llama.cpp server, text-generation-webui, etc.
@@ -319,7 +364,7 @@ class CustomProvider {
319
364
  async generate(messages, options) {
320
365
  const cfg = getAIConfig();
321
366
  const endpoint = cfg.customEndpoint.replace(/\/$/, '');
322
- const model = cfg.customModelName || cfg.model || 'default';
367
+ const model = cfg.customModelName || getAIModel('custom', 'default');
323
368
  // Build URL — support both bare base URL and full path
324
369
  const url = endpoint.endsWith('/chat/completions')
325
370
  ? endpoint
@@ -372,6 +417,9 @@ const providers = {
372
417
  deepinfra: new HostedOpenAICompatibleProvider('deepinfra', 'https://api.deepinfra.com/v1/openai/chat/completions', 'deepseek-ai/DeepSeek-V3.2', () => getAIConfig().deepinfraKey),
373
418
  huggingface: new HostedOpenAICompatibleProvider('huggingface', 'https://router.huggingface.co/v1/chat/completions', 'openai/gpt-oss-120b:fastest', () => getAIConfig().huggingfaceKey),
374
419
  fireworks: new HostedOpenAICompatibleProvider('fireworks', 'https://api.fireworks.ai/inference/v1/chat/completions', 'accounts/fireworks/models/llama-v3p1-8b-instruct', () => getAIConfig().fireworksKey),
420
+ codex: new OAuthAgentProvider('codex'),
421
+ 'claude-code': new OAuthAgentProvider('claude-code'),
422
+ antigravity: new OAuthAgentProvider('antigravity'),
375
423
  custom: new CustomProvider(),
376
424
  };
377
425
  export function getProvider(name) {
@@ -391,22 +439,25 @@ export function listProviders() {
391
439
  const defaults = {
392
440
  openai: 'gpt-4o-mini',
393
441
  anthropic: 'claude-sonnet-4-20250514',
394
- gemini: 'gemini-1.5-flash',
442
+ gemini: 'gemini-3.8-flash',
395
443
  ollama: 'llama3.1',
396
444
  openrouter: 'anthropic/claude-sonnet-4-20250514',
397
445
  mistral: 'mistral-large-latest',
398
- groq: 'llama-3.3-70b-versatile',
446
+ groq: 'openai/gpt-oss-120b',
399
447
  deepseek: 'deepseek-chat',
400
- perplexity: 'llama-3.1-sonar-large-128k-online',
448
+ perplexity: 'sonar',
401
449
  together: 'meta-llama/Llama-3.3-70B-Instruct-Turbo',
402
450
  cohere: 'command-r-plus-08-2024',
403
- xai: 'grok-3-fast-beta',
451
+ xai: 'grok-4.6',
404
452
  'azure-openai': '(your deployment name)',
405
- nvidia: 'meta/llama-3.3-70b-instruct',
453
+ nvidia: 'nvidia/nemotron-3-super-120b-a12b',
406
454
  cerebras: 'gpt-oss-120b',
407
455
  deepinfra: 'deepseek-ai/DeepSeek-V3.2',
408
456
  huggingface: 'openai/gpt-oss-120b:fastest',
409
457
  fireworks: 'accounts/fireworks/models/llama-v3p1-8b-instruct',
458
+ codex: 'ChatGPT subscription',
459
+ 'claude-code': 'Claude subscription',
460
+ antigravity: 'Google account subscription',
410
461
  custom: '(your model name)',
411
462
  };
412
463
  return Object.entries(providers).map(([name, p]) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { resolve } from 'path';
2
1
  import chalk from 'chalk';
3
2
  import Table from 'cli-table3';
4
3
  import { scanProject } from '../scanner/file-scanner.js';
5
4
  import { analyzeProject } from '../scanner/project-analyzer.js';
6
5
  import { generateInsights } from '../services/insights.js';
7
6
  import { logger } from '../utils/logger.js';
7
+ import { resolveProjectDirectory } from '../utils/project-root.js';
8
8
  export async function cmdAnalyze(opts) {
9
- const rootDir = resolve(process.cwd());
9
+ const rootDir = resolveProjectDirectory().root;
10
10
  logger.header('Project Analysis');
11
11
  const scan = scanProject(rootDir);
12
12
  const analysis = await analyzeProject(rootDir, scan);
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { resolve } from 'path';
2
1
  import { runBragInProject } from '../services/brag-agent.js';
3
2
  import { logger } from '../utils/logger.js';
3
+ import { resolveProjectDirectory } from '../utils/project-root.js';
4
4
  export async function cmdBrag() {
5
5
  logger.header('Brag Video');
6
6
  logger.dimmed('The coding agent may create a brag-output folder in this project. Review its files before publishing.');
7
- await runBragInProject(resolve(process.cwd()));
7
+ await runBragInProject(resolveProjectDirectory().root);
8
8
  logger.success('Brag video workflow finished.');
9
9
  }
10
10
  //# sourceMappingURL=brag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"brag.js","sourceRoot":"","sources":["../../src/commands/brag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,uGAAuG,CAAC,CAAC;IACvH,MAAM,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"brag.js","sourceRoot":"","sources":["../../src/commands/brag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,uGAAuG,CAAC,CAAC;IACvH,MAAM,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAClD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AA8EA,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChB;AAuBD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAsFjD;AA6CD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+CvD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAkFA,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChB;AAuBD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA+FjD;AA6CD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+CvD"}
@@ -2,7 +2,7 @@ import chalk from 'chalk';
2
2
  import inquirer from 'inquirer';
3
3
  import { loadConfig, saveConfig } from '../config/manager.js';
4
4
  import { getConfigPath } from '../utils/platform.js';
5
- import { listProviders, getProvider } from '../ai/provider.js';
5
+ import { listProviders, getProvider, isOAuthAgentProvider } from '../ai/provider.js';
6
6
  import { logger, spinner } from '../utils/logger.js';
7
7
  // Keys that hold API secrets — masked in display
8
8
  const SECRET_PATHS = [
@@ -34,6 +34,7 @@ const NON_SECRET_KEYS = new Set([
34
34
  'customModelName',
35
35
  'provider',
36
36
  'model',
37
+ 'models',
37
38
  ]);
38
39
  const PROVIDER_FIELDS = {
39
40
  openai: [{ label: 'OpenAI API Key', key: 'openaiKey', hint: 'OPENAI_API_KEY' }],
@@ -61,6 +62,9 @@ const PROVIDER_FIELDS = {
61
62
  deepinfra: [{ label: 'DeepInfra API Key', key: 'deepinfraKey', hint: 'DEEPINFRA_API_KEY' }],
62
63
  huggingface: [{ label: 'Hugging Face token', key: 'huggingfaceKey', hint: 'HUGGINGFACE_API_KEY or HF_TOKEN' }],
63
64
  fireworks: [{ label: 'Fireworks API Key', key: 'fireworksKey', hint: 'FIREWORKS_API_KEY' }],
65
+ codex: [],
66
+ 'claude-code': [],
67
+ antigravity: [],
64
68
  custom: [
65
69
  { label: 'API endpoint (e.g. http://localhost:1234/v1 or https://myapi.com/v1)', key: 'customEndpoint', hint: 'CUSTOM_API_ENDPOINT' },
66
70
  { label: 'API key (leave blank for local servers with no auth)', key: 'customKey', hint: 'CUSTOM_API_KEY' },
@@ -140,6 +144,11 @@ async function interactiveConfig() {
140
144
  export async function configureAI() {
141
145
  const config = loadConfig();
142
146
  config.ai = config.ai ?? {};
147
+ const previousProvider = config.ai.provider;
148
+ if (config.ai.model && previousProvider) {
149
+ config.ai.models = { ...config.ai.models, [previousProvider]: config.ai.model };
150
+ delete config.ai.model;
151
+ }
143
152
  const providers = listProviders();
144
153
  const choices = providers.map(p => {
145
154
  const badge = p.configured ? chalk.green('● configured') : chalk.gray('○ not set');
@@ -190,24 +199,28 @@ export async function configureAI() {
190
199
  }
191
200
  }
192
201
  }
193
- // Optional model override
194
- logger.blank();
195
- const { customModel } = await inquirer.prompt([{
196
- type: 'input',
197
- name: 'customModel',
198
- message: `Override model ${chalk.dim('(leave blank to use provider default)')}:`,
199
- default: config.ai.model ?? '',
200
- }]);
201
- const trimmedModel = customModel.trim();
202
- if (trimmedModel) {
203
- config.ai.model = trimmedModel;
204
- }
205
- else {
206
- delete config.ai.model;
202
+ if (!isOAuthAgentProvider(provider)) {
203
+ logger.blank();
204
+ const { customModel } = await inquirer.prompt([{
205
+ type: 'input',
206
+ name: 'customModel',
207
+ message: `Override model ${chalk.dim('(leave blank to use provider default)')}:`,
208
+ default: config.ai.models?.[provider] ?? '',
209
+ }]);
210
+ const trimmedModel = customModel.trim();
211
+ config.ai.models = config.ai.models ?? {};
212
+ if (trimmedModel)
213
+ config.ai.models[provider] = trimmedModel;
214
+ else
215
+ delete config.ai.models[provider];
207
216
  }
208
217
  saveConfig(config);
209
218
  logger.success(`Provider set to "${provider}" — config saved`);
210
219
  logger.blank();
220
+ if (isOAuthAgentProvider(provider)) {
221
+ logger.dimmed('This provider uses its own browser sign-in and subscription quota. AutoGit setup installs it and opens its sign-in on first use.');
222
+ return;
223
+ }
211
224
  // ── Verify the key immediately ───────────────────────────────────────────
212
225
  await testCurrentProvider();
213
226
  }
@@ -304,7 +317,7 @@ async function testCurrentProvider() {
304
317
  const config = loadConfig();
305
318
  const ai = config.ai ?? {};
306
319
  const providerName = ai.provider || 'openai';
307
- logger.info(`Testing provider: ${chalk.bold(providerName)}, model: ${chalk.bold(ai.model || '(default)')}`);
320
+ logger.info(`Testing provider: ${chalk.bold(providerName)}, model: ${chalk.bold(ai.models?.[providerName] || ai.model || '(default)')}`);
308
321
  logger.blank();
309
322
  const spin = spinner('Sending test request...').start();
310
323
  try {
@@ -362,7 +375,8 @@ function debugConfig() {
362
375
  logger.header('Debug info');
363
376
  logger.blank();
364
377
  logger.info(`Active provider: ${chalk.bold(ai.provider || '(not set, defaults to openai)')}`);
365
- logger.info(`Model override: ${ai.model || '(using provider default)'}`);
378
+ const providerModel = ai.provider ? ai.models?.[ai.provider] : undefined;
379
+ logger.info(`Model override: ${providerModel || ai.model || '(using provider default)'}`);
366
380
  logger.blank();
367
381
  // Show ENV VARS that are set — these override the config file
368
382
  const envVars = [