autogit-tool 1.0.19 → 1.0.21

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 (105) hide show
  1. package/README.md +61 -7
  2. package/dist/ai/prompts.d.ts +6 -0
  3. package/dist/ai/prompts.d.ts.map +1 -1
  4. package/dist/ai/prompts.js +111 -19
  5. package/dist/ai/prompts.js.map +1 -1
  6. package/dist/ai/provider.d.ts.map +1 -1
  7. package/dist/ai/provider.js +27 -0
  8. package/dist/ai/provider.js.map +1 -1
  9. package/dist/ai/readme-agent.d.ts +5 -0
  10. package/dist/ai/readme-agent.d.ts.map +1 -0
  11. package/dist/ai/readme-agent.js +126 -0
  12. package/dist/ai/readme-agent.js.map +1 -0
  13. package/dist/cli.js +62 -1
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/brag.d.ts +2 -0
  16. package/dist/commands/brag.d.ts.map +1 -0
  17. package/dist/commands/brag.js +10 -0
  18. package/dist/commands/brag.js.map +1 -0
  19. package/dist/commands/config.d.ts +2 -0
  20. package/dist/commands/config.d.ts.map +1 -1
  21. package/dist/commands/config.js +18 -2
  22. package/dist/commands/config.js.map +1 -1
  23. package/dist/commands/github.d.ts +1 -0
  24. package/dist/commands/github.d.ts.map +1 -1
  25. package/dist/commands/github.js +11 -2
  26. package/dist/commands/github.js.map +1 -1
  27. package/dist/commands/linkedin.d.ts +3 -0
  28. package/dist/commands/linkedin.d.ts.map +1 -1
  29. package/dist/commands/linkedin.js +124 -12
  30. package/dist/commands/linkedin.js.map +1 -1
  31. package/dist/commands/publish.d.ts.map +1 -1
  32. package/dist/commands/publish.js +15 -46
  33. package/dist/commands/publish.js.map +1 -1
  34. package/dist/commands/readme.d.ts.map +1 -1
  35. package/dist/commands/readme.js +14 -0
  36. package/dist/commands/readme.js.map +1 -1
  37. package/dist/commands/resume.d.ts +2 -0
  38. package/dist/commands/resume.d.ts.map +1 -1
  39. package/dist/commands/resume.js +311 -81
  40. package/dist/commands/resume.js.map +1 -1
  41. package/dist/commands/setup.d.ts +3 -0
  42. package/dist/commands/setup.d.ts.map +1 -0
  43. package/dist/commands/setup.js +58 -0
  44. package/dist/commands/setup.js.map +1 -0
  45. package/dist/commands/showcase.d.ts +4 -0
  46. package/dist/commands/showcase.d.ts.map +1 -0
  47. package/dist/commands/showcase.js +35 -0
  48. package/dist/commands/showcase.js.map +1 -0
  49. package/dist/config/manager.d.ts +16 -1
  50. package/dist/config/manager.d.ts.map +1 -1
  51. package/dist/config/manager.js +9 -0
  52. package/dist/config/manager.js.map +1 -1
  53. package/dist/pipeline/main-pipeline.d.ts +2 -0
  54. package/dist/pipeline/main-pipeline.d.ts.map +1 -1
  55. package/dist/pipeline/main-pipeline.js +135 -119
  56. package/dist/pipeline/main-pipeline.js.map +1 -1
  57. package/dist/services/brag-agent.d.ts +19 -0
  58. package/dist/services/brag-agent.d.ts.map +1 -0
  59. package/dist/services/brag-agent.js +177 -0
  60. package/dist/services/brag-agent.js.map +1 -0
  61. package/dist/services/brag-runtime.d.ts +7 -0
  62. package/dist/services/brag-runtime.d.ts.map +1 -0
  63. package/dist/services/brag-runtime.js +68 -0
  64. package/dist/services/brag-runtime.js.map +1 -0
  65. package/dist/services/commit-workflow.d.ts +2 -0
  66. package/dist/services/commit-workflow.d.ts.map +1 -0
  67. package/dist/services/commit-workflow.js +60 -0
  68. package/dist/services/commit-workflow.js.map +1 -0
  69. package/dist/services/git-service.d.ts +12 -1
  70. package/dist/services/git-service.d.ts.map +1 -1
  71. package/dist/services/git-service.js +42 -3
  72. package/dist/services/git-service.js.map +1 -1
  73. package/dist/services/pdf-to-latex.d.ts +17 -0
  74. package/dist/services/pdf-to-latex.d.ts.map +1 -0
  75. package/dist/services/pdf-to-latex.js +108 -0
  76. package/dist/services/pdf-to-latex.js.map +1 -0
  77. package/dist/services/publish-workflow.d.ts +14 -0
  78. package/dist/services/publish-workflow.d.ts.map +1 -0
  79. package/dist/services/publish-workflow.js +96 -0
  80. package/dist/services/publish-workflow.js.map +1 -0
  81. package/dist/services/readme-manager.d.ts +2 -1
  82. package/dist/services/readme-manager.d.ts.map +1 -1
  83. package/dist/services/readme-manager.js +35 -24
  84. package/dist/services/readme-manager.js.map +1 -1
  85. package/dist/services/share-package.d.ts +10 -0
  86. package/dist/services/share-package.d.ts.map +1 -0
  87. package/dist/services/share-package.js +21 -0
  88. package/dist/services/share-package.js.map +1 -0
  89. package/dist/services/showcase-cards.d.ts +7 -0
  90. package/dist/services/showcase-cards.d.ts.map +1 -0
  91. package/dist/services/showcase-cards.js +47 -0
  92. package/dist/services/showcase-cards.js.map +1 -0
  93. package/dist/services/showcase.d.ts +16 -0
  94. package/dist/services/showcase.d.ts.map +1 -0
  95. package/dist/services/showcase.js +79 -0
  96. package/dist/services/showcase.js.map +1 -0
  97. package/dist/services/social-generator.d.ts +5 -0
  98. package/dist/services/social-generator.d.ts.map +1 -1
  99. package/dist/services/social-generator.js +34 -0
  100. package/dist/services/social-generator.js.map +1 -1
  101. package/dist/services/social-images.d.ts +5 -0
  102. package/dist/services/social-images.d.ts.map +1 -0
  103. package/dist/services/social-images.js +79 -0
  104. package/dist/services/social-images.js.map +1 -0
  105. package/package.json +5 -1
@@ -5,11 +5,16 @@ import { scanProject } from '../scanner/file-scanner.js';
5
5
  import { analyzeProject } from '../scanner/project-analyzer.js';
6
6
  import { generateReadme, writeReadme, displayDiff } from '../services/readme-manager.js';
7
7
  import { generateDocs, writeDocs } from '../services/docs-generator.js';
8
- import { getGitStatus, initGit, generateGitignore, stageAll, generateCommitMessage, commit, push, addRemote } from '../services/git-service.js';
9
- import { createRepo, getAuthenticatedUser, repoExists, generateTopics, isGitHubConfigured } from '../services/github-service.js';
10
- import { generateSocialContent, openLinkedInShare, openTwitterShare } from '../services/social-generator.js';
8
+ import { getGitStatus, initGit, generateGitignore, getCommitPlan } from '../services/git-service.js';
9
+ import { runCommitWorkflow } from '../services/commit-workflow.js';
10
+ import { runPublishWorkflow } from '../services/publish-workflow.js';
11
+ import { generateSocialContent, openLinkedInShare, openTwitterShare, copyToClipboard } from '../services/social-generator.js';
11
12
  import { runResumeUpdate } from '../commands/resume.js';
12
13
  import { loadConfig } from '../config/manager.js';
14
+ import { createSharePackage } from '../services/share-package.js';
15
+ import { runBragInProject, selectBragAgent } from '../services/brag-agent.js';
16
+ import { captureProjectScreenshot, generatePromotionalArtwork } from '../services/social-images.js';
17
+ import { join } from 'path';
13
18
  import { logger, spinner } from '../utils/logger.js';
14
19
  export async function runMainPipeline(options) {
15
20
  const rootDir = resolve(process.cwd());
@@ -33,13 +38,14 @@ export async function runMainPipeline(options) {
33
38
  logger.blank();
34
39
  const useAI = !options.noAI;
35
40
  let resolvedRepoUrl;
41
+ let published = false;
36
42
  // Step 3: README
37
43
  let readmeResult = null;
38
44
  if (!options.skipReadme) {
39
45
  readmeResult = await handleReadme(rootDir, analysis, useAI, options, scan);
40
46
  }
41
47
  // Step 4: Additional documentation
42
- const docs = await handleDocs(rootDir, analysis, scan, useAI, options);
48
+ await handleDocs(rootDir, analysis, scan, useAI, options);
43
49
  // Step 5: Resume auto-update — runs AFTER git init but BEFORE commit
44
50
  // so the updated resume can be included in the same commit
45
51
  if (!options.skipResume && !options.dryRun) {
@@ -49,17 +55,19 @@ export async function runMainPipeline(options) {
49
55
  logger.dimmed('[dry-run] Would update resume (if configured)');
50
56
  }
51
57
  // Step 6: Git operations
52
- await handleGit(rootDir, analysis, readmeResult, docs, useAI, options);
58
+ const canPublish = await handleGit(rootDir, analysis, useAI, options);
53
59
  // Step 7: GitHub
54
- if (!options.skipGithub) {
55
- resolvedRepoUrl = await handleGitHub(rootDir, analysis, options);
60
+ if (!options.skipGithub && canPublish) {
61
+ const result = await runPublishWorkflow(rootDir, analysis, options);
62
+ resolvedRepoUrl = result.url;
63
+ published = result.published;
56
64
  }
57
65
  // Step 7: Social content
58
66
  if (!options.skipLinkedin) {
59
- await handleSocialContent(analysis, useAI, options, resolvedRepoUrl);
67
+ await handleSocialContent(rootDir, scan, analysis, useAI, options, published ? resolvedRepoUrl : undefined);
60
68
  }
61
69
  logger.blank();
62
- logger.success(chalk.bold('Done! Your project is documented and published. 🎉'));
70
+ logger.success(chalk.bold(published ? 'Done! Your project was published.' : 'Done! Local project work finished; no push was made.'));
63
71
  }
64
72
  function formatAnalysisSummary(analysis) {
65
73
  const parts = [];
@@ -90,6 +98,16 @@ async function handleReadme(rootDir, analysis, useAI, options, scan) {
90
98
  const result = await generateReadme(rootDir, analysis, useAI, scan);
91
99
  if (result.isNew) {
92
100
  logger.info('No README found. Generated new README.md');
101
+ if (!options.yes && !options.dryRun) {
102
+ logger.blank();
103
+ console.log(result.content);
104
+ logger.blank();
105
+ const { confirm } = await inquirer.prompt([{
106
+ type: 'confirm', name: 'confirm', message: 'Create README.md?', default: true,
107
+ }]);
108
+ if (!confirm)
109
+ return null;
110
+ }
93
111
  }
94
112
  else if (result.diff) {
95
113
  logger.info('README improvements found');
@@ -110,6 +128,10 @@ async function handleReadme(rootDir, analysis, useAI, options, scan) {
110
128
  }
111
129
  }
112
130
  }
131
+ if (!result.isNew && !result.diff) {
132
+ logger.dimmed('README is already up to date');
133
+ return result;
134
+ }
113
135
  if (!options.dryRun) {
114
136
  await writeReadme(result);
115
137
  logger.success('README updated');
@@ -151,7 +173,7 @@ async function handleDocs(rootDir, analysis, scan, useAI, options) {
151
173
  }
152
174
  return docs;
153
175
  }
154
- async function handleGit(rootDir, analysis, readmeResult, docs, useAI, options) {
176
+ async function handleGit(rootDir, analysis, useAI, options) {
155
177
  const status = await getGitStatus(rootDir);
156
178
  // Initialize git if needed
157
179
  if (!status.isRepo) {
@@ -163,128 +185,93 @@ async function handleGit(rootDir, analysis, readmeResult, docs, useAI, options)
163
185
  logger.dimmed('[dry-run] Would initialize Git repository');
164
186
  }
165
187
  }
166
- // Stage changes
167
188
  if (options.dryRun) {
168
- logger.dimmed('[dry-run] Would stage and commit changes');
169
- return;
189
+ if (status.isRepo) {
190
+ const plan = await getCommitPlan(rootDir);
191
+ logger.dimmed(`[dry-run] Branch: ${plan.branch || '(not yet named)'}, origin: ${plan.remoteUrl || '(none)'}`);
192
+ logger.dimmed(`[dry-run] Already staged: ${plan.staged.join(', ') || '(none)'}`);
193
+ logger.dimmed(`[dry-run] Would stage: ${plan.toStage.join(', ') || '(none)'}`);
194
+ if (plan.sensitive.length)
195
+ logger.warn(`[dry-run] Sensitive files detected: ${plan.sensitive.join(', ')}`);
196
+ }
197
+ else {
198
+ logger.dimmed('[dry-run] Would stage the generated project files and commit them');
199
+ }
200
+ return true;
170
201
  }
171
- await stageAll(rootDir);
172
- // Generate commit message
173
- let commitMsg = await generateCommitMessage(rootDir, useAI);
174
- if (!options.yes) {
175
- logger.blank();
176
- logger.info(`Commit message: ${chalk.cyan(commitMsg)}`);
177
- const { editCommit } = await inquirer.prompt([{
178
- type: 'confirm',
179
- name: 'editCommit',
180
- message: 'Edit commit message?',
181
- default: false,
202
+ return runCommitWorkflow(rootDir, options.yes === true, useAI);
203
+ }
204
+ async function handleSocialContent(rootDir, scan, analysis, useAI, options, repoUrl) {
205
+ const content = await generateSocialContent(analysis, useAI);
206
+ // Replace placeholder with real repo URL if we have it
207
+ const url = repoUrl;
208
+ let linkedinText = content.linkedin.medium.replace(/\[GITHUB_LINK\]/g, url || '[ADD_PROJECT_URL]');
209
+ const tweetText = content.twitter.replace(/\[GITHUB_LINK\]/g, url || '[ADD_PROJECT_URL]');
210
+ let shareDirectory;
211
+ if (options.dryRun) {
212
+ logger.dimmed('[dry-run] Would create a share package with sourced post, drafts, and three PNG cards');
213
+ }
214
+ else {
215
+ try {
216
+ const share = await createSharePackage(rootDir, scan, analysis, content, useAI, url);
217
+ shareDirectory = share.directory;
218
+ linkedinText = share.post;
219
+ logger.success(`Share package saved: ${share.directory}`);
220
+ logger.dimmed(`${share.cards.length} PNG cards and sourced post are ready for review.`);
221
+ }
222
+ catch (error) {
223
+ logger.warn(`Share package could not be saved: ${error.message}`);
224
+ }
225
+ }
226
+ let screenshotUrl = options.screenshotUrl;
227
+ let promoImage = options.promoImage === true;
228
+ if (!options.yes && !options.dryRun && !screenshotUrl && !promoImage && shareDirectory) {
229
+ const answer = await inquirer.prompt([{
230
+ type: 'list', name: 'media', message: 'Add a real screenshot or promotional artwork?',
231
+ choices: [
232
+ { name: 'No additional media', value: 'none' },
233
+ { name: 'Real app screenshot', value: 'screenshot' },
234
+ { name: 'Conceptual artwork', value: 'artwork' },
235
+ { name: 'Both', value: 'both' },
236
+ ], default: 'none',
182
237
  }]);
183
- if (editCommit) {
184
- const { newMsg } = await inquirer.prompt([{
185
- type: 'input',
186
- name: 'newMsg',
187
- message: 'Commit message:',
188
- default: commitMsg,
238
+ if (answer.media === 'screenshot' || answer.media === 'both') {
239
+ const urlAnswer = await inquirer.prompt([{
240
+ type: 'input', name: 'url', message: 'Running app URL:',
241
+ validate: value => /^https?:\/\//i.test(value) || 'Enter an http:// or https:// URL',
189
242
  }]);
190
- commitMsg = newMsg;
243
+ screenshotUrl = urlAnswer.url;
191
244
  }
245
+ promoImage = answer.media === 'artwork' || answer.media === 'both';
192
246
  }
193
- await commit(rootDir, commitMsg);
194
- logger.success(`Committed: ${commitMsg}`);
195
- }
196
- async function handleGitHub(rootDir, analysis, options) {
197
- if (!isGitHubConfigured()) {
198
- logger.warn('GitHub not configured. Run "autogit login" or set GITHUB_TOKEN');
199
- return undefined;
247
+ if (options.dryRun) {
248
+ if (screenshotUrl)
249
+ logger.dimmed(`[dry-run] Would capture screenshot from ${screenshotUrl}`);
250
+ if (promoImage)
251
+ logger.dimmed('[dry-run] Would generate promotional artwork');
200
252
  }
201
- await getGitStatus(rootDir); // ensure git is initialised before pushing
202
- try {
203
- const user = await getAuthenticatedUser();
204
- logger.info(`Authenticated as ${chalk.bold(user.login)}`);
205
- const repoName = analysis.name;
206
- const exists = await repoExists(user.login, repoName);
207
- let repoHtmlUrl = `https://github.com/${user.login}/${repoName}`;
208
- if (!exists) {
209
- // Ask about visibility if not already specified via flags
210
- let isPrivate;
211
- if (options.private !== undefined || options.public !== undefined) {
212
- isPrivate = options.private ?? !(options.public ?? false);
213
- }
214
- else if (options.yes) {
215
- isPrivate = false; // default to public when --yes
216
- }
217
- else {
218
- logger.blank();
219
- const { visibility } = await inquirer.prompt([{
220
- type: 'list',
221
- name: 'visibility',
222
- message: `Repository visibility for "${repoName}":`,
223
- choices: [
224
- { name: 'Public (anyone can see it)', value: 'public' },
225
- { name: 'Private (only you can see it)', value: 'private' },
226
- ],
227
- default: 'public',
228
- }]);
229
- isPrivate = visibility === 'private';
230
- }
231
- if (!options.yes) {
232
- logger.blank();
233
- logger.info(`Will create ${isPrivate ? 'private' : 'public'} repository: ${user.login}/${repoName}`);
234
- const { confirm } = await inquirer.prompt([{
235
- type: 'confirm',
236
- name: 'confirm',
237
- message: 'Create GitHub repository?',
238
- default: true,
239
- }]);
240
- if (!confirm) {
241
- logger.dimmed('GitHub repository creation skipped');
242
- return undefined;
243
- }
244
- }
245
- if (!options.dryRun) {
246
- const topics = generateTopics(analysis);
247
- const repo = await createRepo({
248
- name: repoName,
249
- description: analysis.description || `${analysis.languages[0] || ''} project`,
250
- isPrivate,
251
- topics,
252
- });
253
- await addRemote(rootDir, repo.cloneUrl);
254
- repoHtmlUrl = repo.htmlUrl;
255
- logger.success(`Created repository: ${chalk.underline(repo.htmlUrl)}`);
253
+ else if (shareDirectory) {
254
+ if (screenshotUrl) {
255
+ try {
256
+ const path = join(shareDirectory, 'screenshot.png');
257
+ await captureProjectScreenshot(screenshotUrl, path);
258
+ logger.success(`Screenshot saved: ${path}`);
256
259
  }
257
- else {
258
- logger.dimmed(`[dry-run] Would create repository: ${user.login}/${repoName}`);
260
+ catch (error) {
261
+ logger.warn(`Screenshot unavailable: ${error.message}`);
259
262
  }
260
263
  }
261
- else {
262
- logger.info(`Repository exists: ${chalk.underline(repoHtmlUrl)}`);
263
- }
264
- // Push
265
- if (!options.dryRun) {
266
- const pushSpin = spinner('Pushing to GitHub...').start();
264
+ if (promoImage) {
267
265
  try {
268
- await push(rootDir);
269
- pushSpin.succeed('Pushed to GitHub');
266
+ const path = join(shareDirectory, 'artwork.png');
267
+ await generatePromotionalArtwork(analysis, path);
268
+ logger.success(`Artwork saved: ${path}`);
270
269
  }
271
270
  catch (error) {
272
- pushSpin.fail(`Push failed: ${error.message}`);
271
+ logger.warn(`Artwork unavailable: ${error.message}`);
273
272
  }
274
273
  }
275
- return repoHtmlUrl;
276
- }
277
- catch (error) {
278
- logger.error(`GitHub error: ${error.message}`);
279
- return undefined;
280
274
  }
281
- }
282
- async function handleSocialContent(analysis, useAI, options, repoUrl) {
283
- const content = await generateSocialContent(analysis, useAI);
284
- // Replace placeholder with real repo URL if we have it
285
- const url = repoUrl || `https://github.com/${analysis.name}`;
286
- const linkedinText = content.linkedin.medium.replace(/\[GITHUB_LINK\]/g, url);
287
- const tweetText = content.twitter.replace(/\[GITHUB_LINK\]/g, url);
288
275
  logger.blank();
289
276
  logger.header('LinkedIn Post (Medium)');
290
277
  console.log(linkedinText);
@@ -299,8 +286,16 @@ async function handleSocialContent(analysis, useAI, options, repoUrl) {
299
286
  message: 'Open LinkedIn share dialog in browser?',
300
287
  default: true,
301
288
  }]);
302
- if (openLinkedIn) {
289
+ if (openLinkedIn && url) {
290
+ // Auto-copy the post text to clipboard so user can paste immediately
291
+ const copied = await copyToClipboard(linkedinText);
303
292
  await openLinkedInShare(url);
293
+ if (copied) {
294
+ logger.success('LinkedIn post copied to clipboard — just paste it into the share dialog');
295
+ }
296
+ }
297
+ else if (openLinkedIn) {
298
+ logger.warn('No repository URL found. Add a project URL before sharing.');
304
299
  }
305
300
  const { openTwitter } = await inquirer.prompt([{
306
301
  type: 'confirm',
@@ -309,10 +304,31 @@ async function handleSocialContent(analysis, useAI, options, repoUrl) {
309
304
  default: true,
310
305
  }]);
311
306
  if (openTwitter) {
312
- await openTwitterShare(tweetText, url);
307
+ await openTwitterShare(tweetText, url || '');
308
+ }
309
+ }
310
+ if (!options.dryRun) {
311
+ const config = loadConfig();
312
+ const agent = selectBragAgent(config.ai?.provider || 'openai');
313
+ if (config.setup?.brag === 'installed' && config.setup.agent === agent) {
314
+ let createVideo = options.yes === true;
315
+ if (!options.yes) {
316
+ const answer = await inquirer.prompt([{
317
+ type: 'confirm', name: 'createVideo', message: 'Create a Brag video for this project?', default: false,
318
+ }]);
319
+ createVideo = answer.createVideo;
320
+ }
321
+ if (createVideo) {
322
+ try {
323
+ await runBragInProject(rootDir);
324
+ }
325
+ catch (error) {
326
+ logger.warn(`Brag video was not completed: ${error.message}`);
327
+ }
328
+ }
313
329
  }
314
330
  }
315
- logger.dimmed('Tip: Use "autogit linkedin" to see all versions (short/medium/long)');
331
+ logger.dimmed('Review the saved post and media before publishing on LinkedIn.');
316
332
  }
317
333
  async function handleResume(rootDir, useAI, options, scan) {
318
334
  const config = loadConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"main-pipeline.js","sourceRoot":"","sources":["../../src/pipeline/main-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main-pipeline.js","sourceRoot":"","sources":["../../src/pipeline/main-pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type AIProviderName } from '../config/manager.js';
2
+ export type BragAgent = 'codex' | 'claude-code' | 'opencode';
3
+ export declare function selectBragAgent(provider: AIProviderName): BragAgent;
4
+ export declare function agentPackageName(agent: BragAgent): string;
5
+ export declare function bragSkillInstallCommand(agent: BragAgent, platform: NodeJS.Platform): {
6
+ executable: string;
7
+ args: string[];
8
+ };
9
+ export declare function ensureBragAgent(agent: BragAgent, pathPrefix?: string): Promise<void>;
10
+ export declare function installBragSkill(agent: BragAgent, pathPrefix?: string): Promise<void>;
11
+ export interface BragLaunch {
12
+ agent: BragAgent;
13
+ executable: string;
14
+ args: string[];
15
+ env: NodeJS.ProcessEnv;
16
+ }
17
+ export declare function buildBragLaunch(provider: AIProviderName, prompt: string): BragLaunch;
18
+ export declare function runBragInProject(root: string): Promise<void>;
19
+ //# sourceMappingURL=brag-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brag-agent.d.ts","sourceRoot":"","sources":["../../src/services/brag-agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOpF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AA0B7D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAInE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEzD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAQ3H;AAUD,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CActF;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvF;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAuDpF;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBlE"}
@@ -0,0 +1,177 @@
1
+ import { execFile, spawn } from 'child_process';
2
+ import { promisify } from 'util';
3
+ import { getAIConfig, loadConfig } from '../config/manager.js';
4
+ import { listProviders } from '../ai/provider.js';
5
+ import { ensureBragRuntime } from './brag-runtime.js';
6
+ import { delimiter } from 'path';
7
+ const run = promisify(execFile);
8
+ const AGENTS = {
9
+ codex: { command: 'codex', packageName: '@openai/codex' },
10
+ 'claude-code': { command: 'claude', packageName: '@anthropic-ai/claude-code' },
11
+ opencode: { command: 'opencode', packageName: 'opencode-ai' },
12
+ };
13
+ function installerEnv() {
14
+ const allowed = [
15
+ 'PATH', 'Path', 'PATHEXT', 'ComSpec', 'SystemRoot', 'WINDIR', 'USERPROFILE', 'HOME',
16
+ 'APPDATA', 'LOCALAPPDATA', 'TEMP', 'TMP', 'TMPDIR', 'XDG_CONFIG_HOME', 'XDG_CACHE_HOME',
17
+ 'HTTP_PROXY', 'HTTPS_PROXY', 'NO_PROXY', 'NODE_EXTRA_CA_CERTS', 'npm_config_prefix',
18
+ 'npm_config_registry',
19
+ ];
20
+ return Object.fromEntries(allowed.filter(name => process.env[name] !== undefined).map(name => [name, process.env[name]]));
21
+ }
22
+ function agentEnv() {
23
+ const env = installerEnv();
24
+ for (const name of ['TERM', 'COLORTERM', 'FORCE_COLOR', 'NO_COLOR', 'LANG', 'LC_ALL', 'CI']) {
25
+ if (process.env[name] !== undefined)
26
+ env[name] = process.env[name];
27
+ }
28
+ return env;
29
+ }
30
+ export function selectBragAgent(provider) {
31
+ if (provider === 'openai')
32
+ return 'codex';
33
+ if (provider === 'anthropic')
34
+ return 'claude-code';
35
+ return 'opencode';
36
+ }
37
+ export function agentPackageName(agent) {
38
+ return AGENTS[agent].packageName;
39
+ }
40
+ export function bragSkillInstallCommand(agent, platform) {
41
+ const args = [
42
+ '--yes', 'skills', 'add', 'https://github.com/latent-spaces/brag',
43
+ '--skill', 'brag', '--global', '--agent', agent, '--copy', '--yes',
44
+ ];
45
+ return platform === 'win32'
46
+ ? { executable: process.env.ComSpec || 'cmd.exe', args: ['/d', '/s', '/c', 'npx.cmd', ...args] }
47
+ : { executable: 'npx', args };
48
+ }
49
+ async function executablePath(command) {
50
+ try {
51
+ const finder = process.platform === 'win32' ? 'where.exe' : 'which';
52
+ const result = await run(finder, [command], { timeout: 10_000, windowsHide: true });
53
+ return result.stdout.split(/\r?\n/).map(line => line.trim()).find(Boolean) || null;
54
+ }
55
+ catch {
56
+ return null;
57
+ }
58
+ }
59
+ export async function ensureBragAgent(agent, pathPrefix = '') {
60
+ if (await executablePath(AGENTS[agent].command))
61
+ return;
62
+ const packageName = AGENTS[agent].packageName;
63
+ const executable = process.platform === 'win32' ? (process.env.ComSpec || 'cmd.exe') : 'npm';
64
+ const args = process.platform === 'win32'
65
+ ? ['/d', '/s', '/c', 'npm.cmd', 'install', '--global', packageName]
66
+ : ['install', '--global', packageName];
67
+ const env = installerEnv();
68
+ if (pathPrefix)
69
+ env.PATH = `${pathPrefix}${delimiter}${env.Path || env.PATH || ''}`;
70
+ if (process.platform === 'win32' && pathPrefix)
71
+ env.Path = env.PATH;
72
+ await run(executable, args, { timeout: 240_000, windowsHide: true, maxBuffer: 2 * 1024 * 1024, env });
73
+ if (!(await executablePath(AGENTS[agent].command))) {
74
+ throw new Error(`${packageName} installed, but ${AGENTS[agent].command} is not on PATH. Restart your terminal and run autogit setup again.`);
75
+ }
76
+ }
77
+ export async function installBragSkill(agent, pathPrefix = '') {
78
+ const command = bragSkillInstallCommand(agent, process.platform);
79
+ const env = installerEnv();
80
+ if (pathPrefix)
81
+ env.PATH = `${pathPrefix}${delimiter}${env.Path || env.PATH || ''}`;
82
+ if (process.platform === 'win32' && pathPrefix)
83
+ env.Path = env.PATH;
84
+ await run(command.executable, command.args, { timeout: 180_000, windowsHide: true, maxBuffer: 2 * 1024 * 1024, env });
85
+ }
86
+ export function buildBragLaunch(provider, prompt) {
87
+ const ai = getAIConfig();
88
+ const agent = selectBragAgent(provider);
89
+ const env = agentEnv();
90
+ const keyFields = {
91
+ openai: ['CODEX_API_KEY', ai.openaiKey],
92
+ anthropic: ['ANTHROPIC_API_KEY', ai.anthropicKey],
93
+ gemini: ['GEMINI_API_KEY', ai.geminiKey],
94
+ openrouter: ['OPENROUTER_API_KEY', ai.openrouterKey],
95
+ mistral: ['MISTRAL_API_KEY', ai.mistralKey],
96
+ groq: ['GROQ_API_KEY', ai.groqKey],
97
+ deepseek: ['DEEPSEEK_API_KEY', ai.deepseekKey],
98
+ perplexity: ['PERPLEXITY_API_KEY', ai.perplexityKey],
99
+ together: ['TOGETHER_API_KEY', ai.togetherKey],
100
+ cohere: ['COHERE_API_KEY', ai.cohereKey],
101
+ xai: ['XAI_API_KEY', ai.xaiKey],
102
+ nvidia: ['NVIDIA_API_KEY', ai.nvidiaKey],
103
+ cerebras: ['CEREBRAS_API_KEY', ai.cerebrasKey],
104
+ deepinfra: ['DEEPINFRA_API_KEY', ai.deepinfraKey],
105
+ huggingface: ['HUGGINGFACE_API_KEY', ai.huggingfaceKey],
106
+ fireworks: ['FIREWORKS_API_KEY', ai.fireworksKey],
107
+ custom: ['AUTOGIT_BRAG_API_KEY', ai.customKey],
108
+ 'azure-openai': ['AZURE_OPENAI_API_KEY', ai.azureOpenAIKey],
109
+ };
110
+ const credential = keyFields[provider];
111
+ if (credential && !credential[1] && provider !== 'custom')
112
+ throw new Error(`No ${provider} credential is configured. Run autogit config.`);
113
+ if (credential)
114
+ env[credential[0]] = credential[1] || '';
115
+ if (agent === 'codex')
116
+ return { agent, executable: 'codex', args: ['exec', prompt], env };
117
+ if (agent === 'claude-code')
118
+ return { agent, executable: 'claude', args: ['-p', prompt], env };
119
+ const defaultModel = listProviders().find(item => item.name === provider)?.defaultModel;
120
+ const model = provider === 'custom'
121
+ ? ai.customModelName || ai.model || defaultModel
122
+ : ai.model || defaultModel;
123
+ if (!model || model.startsWith('('))
124
+ throw new Error(`Configure a model for ${provider} before using Brag.`);
125
+ if (!/^[a-zA-Z0-9_./:@-]+$/.test(model))
126
+ throw new Error('The selected model ID contains unsupported characters.');
127
+ let providerId = provider === 'gemini' ? 'google' : provider;
128
+ let config = { model: `${providerId}/${model}` };
129
+ if (provider === 'ollama') {
130
+ const baseURL = `${ai.ollamaEndpoint.replace(/\/(?:v1)?\/?$/, '')}/v1`;
131
+ config = { ...config, provider: { ollama: { npm: '@ai-sdk/openai-compatible', name: 'Ollama', options: { baseURL }, models: { [model]: { name: model } } } } };
132
+ }
133
+ else if (provider === 'custom') {
134
+ if (!ai.customEndpoint)
135
+ throw new Error('Configure the custom API endpoint before using Brag.');
136
+ providerId = 'autogit-custom';
137
+ const options = { baseURL: ai.customEndpoint };
138
+ if (ai.customKey)
139
+ options.apiKey = '{env:AUTOGIT_BRAG_API_KEY}';
140
+ config = { model: `${providerId}/${model}`, provider: { [providerId]: { npm: '@ai-sdk/openai-compatible', name: 'AutoGit custom provider', options, models: { [model]: { name: model } } } } };
141
+ }
142
+ else if (provider === 'azure-openai') {
143
+ throw new Error('Automatic Azure OpenAI mapping to OpenCode is not yet supported. Choose another provider for Brag.');
144
+ }
145
+ else if (credential) {
146
+ config = { ...config, provider: { [providerId]: { options: { apiKey: `{env:${credential[0]}}` } } } };
147
+ }
148
+ env.OPENCODE_CONFIG_CONTENT = JSON.stringify(config);
149
+ return { agent, executable: 'opencode', args: ['run', '--model', `${providerId}/${model}`, prompt], env };
150
+ }
151
+ export async function runBragInProject(root) {
152
+ const config = loadConfig();
153
+ const provider = config.ai?.provider || getAIConfig().provider;
154
+ const agent = selectBragAgent(provider);
155
+ if (config.setup?.brag !== 'installed' || config.setup.agent !== agent) {
156
+ throw new Error(`Brag is not installed for ${agent}. Run autogit setup first.`);
157
+ }
158
+ const prompt = 'Use the installed brag skill to inspect this project and produce its launch video and share copy. Do not invent features, results, or UI that the project does not have. For a CLI, API, library, or data project, show real commands, requests, usage, or verified results instead of a fake app screenshot. Do not modify project source files.';
159
+ const launch = buildBragLaunch(provider, prompt);
160
+ const runtime = await ensureBragRuntime();
161
+ const inheritedPath = launch.env.Path || launch.env.PATH || '';
162
+ launch.env.PATH = `${runtime.pathPrefix}${delimiter}${inheritedPath}`;
163
+ if (process.platform === 'win32')
164
+ launch.env.Path = launch.env.PATH;
165
+ const path = await executablePath(launch.executable);
166
+ if (!path)
167
+ throw new Error(`${launch.agent} is not on PATH. Run autogit setup again.`);
168
+ const isBatch = process.platform === 'win32' && /\.(cmd|bat)$/i.test(path);
169
+ const executable = isBatch ? (process.env.ComSpec || 'cmd.exe') : path;
170
+ const args = isBatch ? ['/d', '/s', '/c', path, ...launch.args] : launch.args;
171
+ await new Promise((resolve, reject) => {
172
+ const child = spawn(executable, args, { cwd: root, env: launch.env, stdio: 'inherit', windowsHide: true });
173
+ child.once('error', reject);
174
+ child.once('exit', code => code === 0 ? resolve() : reject(new Error(`${launch.agent} exited with code ${code}`)));
175
+ });
176
+ }
177
+ //# sourceMappingURL=brag-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brag-agent.js","sourceRoot":"","sources":["../../src/services/brag-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface BragRuntime {
2
+ pathPrefix: string;
3
+ nodePath: string;
4
+ ffmpegPath: string;
5
+ }
6
+ export declare function ensureBragRuntime(): Promise<BragRuntime>;
7
+ //# sourceMappingURL=brag-runtime.d.ts.map