diff --git a/packages/create-bot/src/dependencies.ts b/packages/create-bot/src/dependencies.ts index 079b1f3d..425225f6 100644 --- a/packages/create-bot/src/dependencies.ts +++ b/packages/create-bot/src/dependencies.ts @@ -31,6 +31,7 @@ export function buildDependenciesList(config: UserConfig) { 'eslint-plugin-ascii', 'eslint-plugin-import', 'eslint-plugin-simple-import-sort', + 'prettier', ) if (config.features.includes(MtcuteFeature.TypeScript)) { diff --git a/packages/create-bot/src/main.ts b/packages/create-bot/src/main.ts index 4feeed27..fd8fa2f0 100644 --- a/packages/create-bot/src/main.ts +++ b/packages/create-bot/src/main.ts @@ -3,7 +3,9 @@ import { join } from 'node:path' import { askForConfig } from './cli.js' import { installDependencies } from './dependencies.js' +import { MtcuteFeature } from './features/types.js' import { runTemplater } from './templater.js' +import { exec } from './utils.js' const projectName = process.argv[2] @@ -22,6 +24,19 @@ await runTemplater(join(__dirname, '../template'), outDir, config) await installDependencies(outDir, config) +await exec(outDir, 'git', 'init') + +if (config.features.includes(MtcuteFeature.Linters)) { + if (process.platform === 'win32') { + // windows doesn't track executable bit, but git does + await exec(outDir, 'git', 'update-index', '--chmod=+x', '.husky/pre-commit') + } else { + await exec(outDir, 'chmod', '+x', '.husky/pre-commit') + } + + await exec(outDir, 'pnpm', 'exec', 'husky', 'install') +} + console.log(`✅ Scaffolded new project at ${chalk.blue(outDir)}`) console.log('🚀 Run it with:') console.log(` ${chalk.blue('$')} cd ${projectName}`)