From 3df0f6bd81e14fadb118c66707cc29c477717926 Mon Sep 17 00:00:00 2001 From: Ishaan Garg <168962484+Ishaang19@users.noreply.github.com> Date: Wed, 15 Oct 2025 14:57:15 +0530 Subject: [PATCH 1/2] Issue #5 Fixed docs: Add FAQ section to README.md fix #5 Added FAQs in the README.md file --- README.md | 75 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 54 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 94154e1..c632464 100644 --- a/README.md +++ b/README.md @@ -15,26 +15,26 @@ # ✨ Features -### šŸŽÆ **Multiple Stack Options** -Choose from **7+ popular stacks** including MERN, MEAN, T3, Angular+Tailwind, and more! +### šŸŽÆ *Multiple Stack Options* +Choose from *7+ popular stacks* including MERN, MEAN, T3, Angular+Tailwind, and more!
Celtrix Stack Selection Demo
-### 🌐 **Language Flexibility** +### 🌐 *Language Flexibility* Pick your preferred programming languages and frameworks to match your workflow.
Celtrix Language Selection
-### šŸ› ļø **Ready-to-Go Setup** -- **ESLint** configuration included -- **Sample components** and boilerplate code -- **API setup** with best practices -- **Automatic dependency installation** -- **Modern development tools** pre-configured +### šŸ›  *Ready-to-Go Setup* +- *ESLint* configuration included +- *Sample components* and boilerplate code +- *API setup* with best practices +- *Automatic dependency installation* +- *Modern development tools* pre-configured --- @@ -42,27 +42,61 @@ Pick your preferred programming languages and frameworks to match your workflow. No global installation needed! Get started instantly: -```bash +bash npx celtrix my-awesome-app -``` + That's it! Follow the interactive prompts to customize your project. --- -## FAQ +## ā“ Frequently Asked Questions (FAQ) + +*Q1: What makes Celtrix stand out from other project scaffolding tools?* +A1: Celtrix provides ready-to-use templates, supports multiple popular stacks, and follows modern best practices, allowing you to start projects quickly without setting up everything manually. + +*Q2: How do I add a new stack or template to Celtrix?* +A2: You can create a new template in the templates/ folder following the existing folder structure. Test it using the CLI and then submit a Pull Request to contribute. + +*Q3: Are projects created with Celtrix ready for production?* +A3: Celtrix projects give you a strong foundation for development. Some adjustments may be needed for production depending on your specific project requirements. + +*Q4: Which stacks are currently available in Celtrix?* +A4: Celtrix currently supports MERN, MEAN, T3, Angular+Tailwind, and several other popular stacks. Contributors can add more stacks. + +*Q5: Do I need to install anything globally to use Celtrix?* +A5: No, you don't need global installations. Simply run npx celtrix my-awesome-app and follow the interactive prompts to start a project. + +*Q6: Can I customize the generated templates?* +A6: Absolutely! You can modify components, styles, API setups, and configurations to match your project's requirements. -You can now find the full list of FAQs here: [FAQ.md](./FAQ.md) +*Q7: How can I report bugs or request new features?* +A7: Open a GitHub Issue in the Celtrix repository. Provide clear steps, screenshots, and a description to help maintainers understand and address your request. + +*Q8: Does Celtrix support TypeScript projects?* +A8: Yes, most templates offer optional TypeScript support. You can choose TypeScript when setting up a new project. + +*Q9: Can I use Celtrix for commercial projects?* +A9: Yes! Celtrix is open-source under the ISC license, so you can use it for personal or commercial projects following the license terms. + +*Q10: How can I improve or update existing templates?* +A10: Fork the repository, make your changes in a separate branch, test them, and submit a Pull Request. Ensure your updates follow the coding guidelines. + +*Q11: What prerequisites do I need to use Celtrix?* +A11: You only need Node.js and npm installed. Celtrix will handle other dependencies automatically during project setup. + +*Q12: Where can I get support or join the Celtrix community?* +A12: You can ask questions via GitHub Discussions or join the community chat if available. Always stay respectful and constructive while engaging. --- ## šŸ“¦ What You Get -- **Production-ready** project structure -- **Modern tooling** and best practices -- **Responsive** starter templates -- **Clean code** architecture -- **Documentation** and examples +- *Production-ready* project structure +- *Modern tooling* and best practices +- *Responsive* starter templates +- *Clean code* architecture +- *Documentation* and examples --- @@ -116,9 +150,8 @@ Thanks goes to these wonderful people:
-

Made with ā¤ļø by Celtrix Team

+

Made with ā¤ by Celtrix Team

⭐ Star us on GitHub — it motivates us a lot!

-
- + \ No newline at end of file From 01e28e91d3c0a5e576fbeb84e110291286b86091 Mon Sep 17 00:00:00 2001 From: Ishaan Garg <168962484+Ishaang19@users.noreply.github.com> Date: Wed, 15 Oct 2025 15:00:33 +0530 Subject: [PATCH 2/2] Issue #6 Fixed Enhancement: Add npm Scripts, Nodemon and Prettier Configuration to MERN Templates fix #6 --- templates/mern/Ts-Backend/nodemon.js | 0 utils/project.js | 59 ++++++++++++++++++++-------- 2 files changed, 43 insertions(+), 16 deletions(-) create mode 100644 templates/mern/Ts-Backend/nodemon.js diff --git a/templates/mern/Ts-Backend/nodemon.js b/templates/mern/Ts-Backend/nodemon.js new file mode 100644 index 0000000..e69de29 diff --git a/utils/project.js b/utils/project.js index 58a68e3..819e51d 100644 --- a/utils/project.js +++ b/utils/project.js @@ -11,7 +11,7 @@ export async function setupProject(projectName, config) { const projectPath = path.join(process.cwd(), projectName); if (fs.existsSync(projectPath)) { - logger.error(`āŒ Directory ${chalk.red(projectName)} already exists`); + logger.error(āŒ Directory ${chalk.red(projectName)} already exists); process.exit(1); } @@ -87,24 +87,51 @@ export async function setupProject(projectName, config) { } // --- Success + Next Steps --- - console.log(chalk.gray("-------------------------------------------")) - console.log(`${chalk.greenBright(`āœ… Project ${chalk.bold.yellow(`${projectName}`)} created successfully! šŸŽ‰`)}`); - console.log(chalk.gray("-------------------------------------------")) - console.log(chalk.cyan("šŸ‘‰ Next Steps:\n")); - + console.log(\n${chalk.greenBright(āœ… Project ${chalk.bold.yellow(projectName)} created successfully! šŸŽ‰)}\n); + + let nextStepsText = ""; + if(config.stack === "mean" || config.stack === "mean+tailwind+auth") { - console.log(` ${chalk.yellow("cd")} ${projectName}/client && ${chalk.green("npm start")}`); - console.log(` ${chalk.yellow("cd")} ${projectName}/server && ${chalk.green("npm start")}`); + nextStepsText = ` +${chalk.bold.cyan("1. Navigate to client:")} + ${chalk.yellow("cd")} ${chalk.white(projectName)}/client && ${chalk.green("npm start")} + +${chalk.bold.cyan("2. Navigate to server:")} + ${chalk.yellow("cd")} ${chalk.white(projectName)}/server && ${chalk.green("npm start")} + `; } else if(config.stack === "t3-stack") { - console.log(` ${chalk.yellow("cd")} ${projectName}/t3-app && ${chalk.green("npm run dev")}`); + nextStepsText = ` +${chalk.bold.cyan("Navigate to your app:")} + ${chalk.yellow("cd")} ${chalk.white(projectName)}/t3-app && ${chalk.green("npm run dev")} + `; }else if(config.stack==="hono"){ - console.log(` ${chalk.yellow("cd")} ${projectName}/client && ${chalk.green("npm run dev")}`); - console.log(` ${chalk.yellow("cd")} ${projectName}/server && ${chalk.green("npm run dev")}`); + nextStepsText = ` +${chalk.bold.cyan("1. Start the client:")} + ${chalk.yellow("cd")} ${chalk.white(projectName)}/client && ${chalk.green("npm run dev")} + +${chalk.bold.cyan("2. Start the server:")} + ${chalk.yellow("cd")} ${chalk.white(projectName)}/server && ${chalk.green("npm run dev")} + `; } else { - console.log(` ${chalk.yellow("cd")} ${projectName}/client && ${chalk.green("npm run dev")}`); - console.log(` ${chalk.yellow("cd")} ${projectName}/server && ${chalk.green("npm start")}`); + nextStepsText = ` +${chalk.bold.cyan("1. Start the client:")} + ${chalk.yellow("cd")} ${chalk.white(projectName)}/client && ${chalk.green("npm run dev")} + +${chalk.bold.cyan("2. Start the server:")} + ${chalk.yellow("cd")} ${chalk.white(projectName)}/server && ${chalk.green("npm start")} + `; } - - console.log(chalk.gray("-------------------------------------------")) - console.log(chalk.gray("\n✨ Made with ā¤ļø by Celtrix ✨\n")); + + console.log( + boxen(nextStepsText, { + padding: 1, + margin: 1, + borderColor: "green", + borderStyle: "round", + title: chalk.greenBright("šŸš€ Next Steps"), + titleAlignment: "center", + }) + ); + + console.log(chalk.gray("✨ Made with ā¤ by Celtrix ✨\n")); } \ No newline at end of file