context-forge
Version:
AI orchestration platform with autonomous teams, enhancement planning, migration tools, 25+ slash commands, checkpoints & hooks. Multi-IDE: Claude, Cursor, Windsurf, Cline, Copilot
89 lines ⢠3.27 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.projectInfo = projectInfo;
const inquirer_1 = __importDefault(require("inquirer"));
const chalk_1 = __importDefault(require("chalk"));
const validator_1 = require("../../utils/validator");
async function projectInfo(aiSuggestions) {
console.log(chalk_1.default.blue('\nš Step 1 of 7: Project Information'));
console.log(chalk_1.default.gray('Tell us about your project to get started.\n'));
// Show AI suggestions if available
if (aiSuggestions?.suggestions) {
const configSuggestions = aiSuggestions.suggestions.filter((s) => s.type === 'config');
if (configSuggestions.length > 0) {
console.log(chalk_1.default.yellow('š” AI detected the following about your project:'));
configSuggestions.slice(0, 2).forEach((suggestion) => {
console.log(chalk_1.default.gray(` ⢠${suggestion.description}`));
});
console.log('');
}
}
const answers = await inquirer_1.default.prompt([
{
type: 'input',
name: 'projectName',
message: 'Project name:',
validate: validator_1.validateProjectName,
transformer: (input) => {
if (input && input.length > 0) {
return chalk_1.default.green(input);
}
return input;
},
},
{
type: 'list',
name: 'projectType',
message: 'Project type:',
choices: [
{
name: 'š Web Application',
value: 'web',
short: 'Web App',
},
{
name: 'š± Mobile Application',
value: 'mobile',
short: 'Mobile App',
},
{
name: 'š„ļø Desktop Application',
value: 'desktop',
short: 'Desktop App',
},
{
name: 'š API Service',
value: 'api',
short: 'API',
},
{
name: 'š Full-Stack Application',
value: 'fullstack',
short: 'Full-Stack',
},
],
pageSize: 10,
},
{
type: 'input',
name: 'description',
message: 'Brief description:',
validate: validator_1.validateDescription,
transformer: (input) => {
if (input && input.length > 10) {
return chalk_1.default.green(input);
}
else if (input && input.length > 0) {
return chalk_1.default.yellow(input);
}
return input;
},
},
]);
console.log(chalk_1.default.green('ā Project information collected\n'));
return answers;
}
//# sourceMappingURL=projectInfo.js.map