Here’s a refined documentation for your fullstack-app-setup CLI tool:


Fullstack App Setup

Fullstack App Setup is a CLI tool designed to automate the creation of a full-stack project with a React (client) and a Node.js + TypeScript (server) setup. It simplifies the initial setup of a full-stack application by scaffolding both the client and server directories with necessary dependencies, folder structures, and configuration files.

Features

  • Automated Project Creation: Quickly set up a full-stack project with just one command.
  • React Client Setup: Includes TypeScript and essential configurations for the React client.
  • Node.js Server Setup: Configured with TypeScript and includes commonly used packages.
  • Pre-installed Dependencies: Comes with commonly used libraries like Express, Mongoose, Redux, and Axios.
  • Basic Configuration Files: Automatically sets up tsconfig.json, .env, and folder structures for both client and server.

Installation

To install the fullstack-app-setup package globally, run the following command:

npm install -g fullstack-app-setup

Usage

Once installed, you can create a new full-stack project by using the command:

create-fullstack-app <folder-name>

Replace <folder-name> with the desired name for your project directory. This command will create a new folder with the specified name and set up both the React client and Node.js server within it.

Project Structure

The tool sets up the following folder structure:

<folder-name>
├── client
│   ├── public
│   ├── src
│   │   ├── assets
│   │   ├── components
│   │   ├── hooks
│   │   ├── pages
│   │   ├── services
│   │   ├── store
│   │   ├── App.tsx
│   │   ├── index.tsx
│   │   └── ...
│   ├── .env
│   ├── tsconfig.json
│   └── package.json
└── server
    ├── src
    │   ├── controllers
    │   ├── models
    │   ├── routes
    │   ├── middleware
    │   ├── app.ts
    │   └── server.ts
    ├── .env
    ├── tsconfig.json
    └── package.json

Configuration

  • React Client:

    • TypeScript: Configured with tsconfig.json.
    • Dependencies: Includes React, Redux, Axios, etc.
  • Node.js Server:

    • TypeScript: Configured with tsconfig.json.
    • Dependencies: Includes Express, Mongoose, etc.

Contributing

Contributions are welcome! If you have any ideas or improvements, please open an issue or submit a pull request on the GitHub repository.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Feel free to adjust any sections as needed!