npm package: @onigetoc/quickstack
Description: Start new Node.js project with popular frameworks
Author: onigetoc
Latest version: 1.0.7

# Quick Stack

Quick Stack is a terminal-based helper tool designed to quickly set up complete projects using popular Node.js frameworks. With a simple command-line interface, you can easily choose a framework, create a new project, and get started with development in no time.

## Features

- **Framework Selection**: Choose from a variety of popular frameworks.
- **Project Creation**: Automatically generate a new project with the selected framework.
- **Documentation Links**: Access official documentation for each framework directly from the terminal.
- **Interactive Prompts**: User-friendly prompts guide you through the setup process.

## Getting Started (QuickStack will open a new folder with your project name)

1. Install globally:
   ```bash
   npm install -g @onigetoc/quickstack
   ```

2. Just write "quickstack" in your project path terminal:
   ```bash
   quickstack
   ```

3. Follow the prompts to select a framework and create your project.

## Demo
![quickstack screenshot](./quickstack.gif)

## Supported Frameworks (We need help to fix issues, suggestions to add more)

- Next.js
- Vite
- React
- Angular
- Vue.js
- Nuxt.js
- Express.js
- NestJS
- Svelte
- Gatsby
- Meteor
- Adonis.js
- Alpine.js
- Apollo Client
- Astro
- Aurelia
- Backbone.js
- Blitz.js
- Cycle.js
- Dojo
- Electron
- Ember.js
- Expo
- Feathers
- Gridsome
- Hapi.js
- Hyperapp
- Inferno
- Ionic
- Koa.js
- Mithril
- NextAuth.js
- Preact
- Qwik
- Rax
- React Native
- RedwoodJS
- Remix
- Sails.js
- Sapper
- SolidJS
- Stencil
- Strapi

## Contribute

We welcome contributions to improve QuickStack! For now, If a framework have is own install, Quick Stack will only ask for the project name (If the framework install do not ask for it). Then QuickStack il let the framework do the installation process.
please submit your suggestions and help through GitHub [issues](https://github.com/onigetoc/quickstack/issues).

The `frameworks.json` file is crucial for defining the supported frameworks. Here's an explanation of its structure:

```json
{
  "name": "Framework Name",
  "description": "Brief description of the framework",
  "keywords": ["keyword1", "keyword2", "keyword3"],
  "selfInstall": "yes/no",
  "createCommand": "Command to create a new project",
  "runProject": "Command to run the project",
  "webDoc": "URL to the framework's documentation",
  "website": "URL to the framework's official website",
  "dependencies": []
}
```

- **name**: The name of the framework.
- **description**: A short description of the framework.
- **keywords**: Add keywords to help Quick Stack find the right framework.
- **selfInstall**: Indicates if the framework has a self-installation process ("yes" or "no"). If "no", Quick Stack will automatically install the framework. If "yes", After setting de project name, Quick Stack will let the selected framework do the installation process.
- **createCommand**: The command used to create a new project with this framework. If the framework has a self-installation process but do not ask for the project name, you can enter the name and just add [name] to the command. 
EX: ```npx create-next-app [name]```. 
Do not enter de real project name just [name], QuickStack will ask the user how they want to name the project. If the framework own installation ask for the project name, do not add [name] to the command.
Follow the framework installation guide to check if it will work.
- **runProject**: The command used to run the project.   
- **webDoc**: URL to the framework's documentation.
- **website**: URL to the framework's official website.
- **dependencies**: An array of dependencies required by the framework (if any).

When contributing, please ensure that you provide accurate and up-to-date information for each framework.

## License

This project is licensed under the MIT License.