@@ -7,7 +7,7 @@ import { CLI } from '@stacksjs/clapp'
77import prompts from 'prompts'
88import { version } from '../package.json'
99import { Buddy } from '../src/buddy'
10- import { config } from '../src/config'
10+ import { getConfig } from '../src/config'
1111import {
1212 analyzeProject ,
1313 ConfigurationMigrator ,
@@ -31,6 +31,14 @@ import {
3131} from '../src/setup'
3232import { Logger } from '../src/utils/logger'
3333
34+ let _resolvedConfig : BuddyBotConfig | null = null
35+
36+ async function resolveConfig ( ) : Promise < BuddyBotConfig > {
37+ if ( ! _resolvedConfig )
38+ _resolvedConfig = await getConfig ( )
39+ return _resolvedConfig
40+ }
41+
3442const cli = new CLI ( 'buddy-bot' )
3543
3644cli . usage ( `[command] [options]
459467 . example ( 'buddy-bot scan --no-respect-latest' )
460468 . action ( async ( options : CLIOptions ) => {
461469 const logger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
470+ const config = await resolveConfig ( )
462471
463472 try {
464473 logger . info ( 'Loading configuration...' )
583592 . example ( 'buddy-bot dashboard --issue-number 42' )
584593 . action ( async ( options : CLIOptions & { pin ?: boolean , title ?: string , issueNumber ?: string } ) => {
585594 const logger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
595+ const config = await resolveConfig ( )
586596
587597 try {
588598 logger . info ( 'Creating or updating dependency dashboard...' )
633643 . example ( 'buddy-bot update --no-respect-latest' )
634644 . action ( async ( options : CLIOptions ) => {
635645 const logger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
646+ const config = await resolveConfig ( )
636647
637648 try {
638649 logger . info ( 'Starting dependency update process...' )
690701 . example ( 'buddy-bot rebase 17 --force' )
691702 . action ( async ( prNumber : string , options : CLIOptions & { force ?: boolean } ) => {
692703 const logger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
704+ const config = await resolveConfig ( )
693705
694706 try {
695707 logger . info ( `🔄 Rebasing/retrying PR #${ prNumber } ...` )
870882 . example ( 'buddy-bot update-check --dry-run' )
871883 . action ( async ( options : CLIOptions ) => {
872884 const logger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
885+ const config = await resolveConfig ( )
873886
874887 try {
875888 // Check if repository is configured
@@ -1029,6 +1042,7 @@ cli
10291042 const packages : string [ ] = args . slice ( 0 , - 1 )
10301043
10311044 const checkLogger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
1045+ const config = await resolveConfig ( )
10321046
10331047 if ( ! packages . length ) {
10341048 checkLogger . error ( 'No packages specified to check' )
@@ -1076,6 +1090,7 @@ cli
10761090 . action ( async ( options : CLIOptions ) => {
10771091 const { Scheduler } = await import ( '../src/scheduler/scheduler' )
10781092 const logger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
1093+ const config = await resolveConfig ( )
10791094
10801095 try {
10811096 logger . info ( '🕒 Starting Buddy Scheduler...' )
@@ -1152,6 +1167,7 @@ cli
11521167 const { writeFileSync, mkdirSync } = await import ( 'node:fs' )
11531168 const { resolve } = await import ( 'node:path' )
11541169 const logger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
1170+ const config = await resolveConfig ( )
11551171
11561172 console . log ( '⚠️ The "generate-workflows" command is deprecated.' )
11571173 console . log ( '💡 Use "buddy-bot setup" for a better interactive experience.\n' )
@@ -1719,6 +1735,7 @@ cli
17191735 . example ( 'buddy-bot cleanup --force' )
17201736 . action ( async ( options : CLIOptions & { dryRun ?: boolean , days ?: string , force ?: boolean } ) => {
17211737 const logger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
1738+ const config = await resolveConfig ( )
17221739
17231740 try {
17241741 logger . info ( '🧹 Starting buddy-bot branch cleanup...' )
@@ -1829,6 +1846,7 @@ cli
18291846 . example ( 'buddy-bot list-branches --stale-only --days 14' )
18301847 . action ( async ( options : CLIOptions & { orphanedOnly ?: boolean , staleOnly ?: boolean , days ?: string } ) => {
18311848 const logger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
1849+ const config = await resolveConfig ( )
18321850
18331851 try {
18341852 logger . info ( '📋 Listing buddy-bot branches...' )
@@ -1938,6 +1956,7 @@ cli
19381956 . example ( 'buddy-bot open-settings' )
19391957 . action ( async ( options : CLIOptions ) => {
19401958 const logger = options . verbose ? Logger . verbose ( ) : Logger . quiet ( )
1959+ const config = await resolveConfig ( )
19411960
19421961 try {
19431962 const { exec } = await import ( 'node:child_process' )
0 commit comments