Thank you for your interest in contributing. This guide explains how you can help.
Click Fork on the TryAppStack GitHub repository and clone your fork locally:
git clone https://github.com/Dushyant-Khoda/tryappstack-cli.git
cd tryappstackCreate a branch for your change:
git checkout -b feature/your-feature-nameUse a clear name, e.g. feature/add-node-ts-template or fix/init-env-file.
npm install- Write clean, simple code.
- Follow the existing style (ESLint and Prettier are set up; run
npm run lintif available). - Keep documentation and comments in plain English.
Run the CLI from the project root:
node bin/cli.js initCreate a test project and confirm everything works as expected.
- Commit your changes with a clear message.
- Push to your fork and open a Pull Request against the main repository.
- Describe what you changed and why.
-
Create a template folder under
templates/, e.g.templates/node-mongo-ts/. -
Add your stack files (package.json, source code, config, etc.) inside that folder. Do not include:
- Real credentials or API keys
node_modules- Use
.env.examplefor required environment variables
-
Register the stack in
lib/core/templateManager.js:- Add a new entry to the
STACKSarray withid,name, andcomingSoon: falsewhen the template is ready.
- Add a new entry to the
-
Optional: If your template uses a different env file name or structure, update
lib/core/projectCreator.jsso it correctly copies and updates env/config for the new template. -
Document the template with a
README.mdinside the template folder explaining setup and environment variables.
- New commands: Add a new file in
lib/commands/(e.g.myCommand.js) and register it inbin/cli.jswithprogram.command(...). - Shared logic: Put helpers in
lib/utils/helpers.jsorlib/utils/logger.js. - Template selection / project creation: Core logic lives in
lib/core/templateManager.jsandlib/core/projectCreator.js.
Keep commands focused and document them in the main README.
- Pre-commit hooks run ESLint and Prettier on staged files. Fix any reported issues before committing.
- Use simple English in comments and docs.
Open an issue for bugs or feature ideas.
Thank you for contributing.