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!
-### š **Language Flexibility**
+### š *Language Flexibility*
Pick your preferred programming languages and frameworks to match your workflow.
-### š ļø **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:
-
+
\ 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