tanmay-create
v1.0.1
Published
A CLI to create a full-stack monorepo with Next.js, Express, and WebSocket servers
Maintainers
Readme
create-ghost-stack 👻
A powerful CLI tool to scaffold a modern, production-ready full-stack monorepo. It comes pre-configured with Next.js, Express, WebSocket Server, and Expo (React Native), all powered by TurboRepo for high-performance builds.
🚀 Features
- Monorepo Architecture: Built with TurboRepo to manage multiple apps and packages efficiently.
- Web Application: Next.js 14+ (App Router) with TypeScript.
- Backend API: Robust Express.js server setup.
- Real-time Engine: Dedicated WebSocket server for real-time capabilities.
- Mobile Application: React Native app initialized with Expo.
- Shared Packages:
ui: Shared UI component library.typescript-config: Centralized TS configuration.eslint-config: Shared linting rules.
- Type Safety: End-to-end TypeScript support.
📦 Installation & Usage
You can create a new project directly using npx:
npx tanmay-create@latest <project-name>Example:
npx tanmay-create@latest my-awesome-appWhat happens next?
- The CLI will create a new directory with your project name.
- It will copy the template files.
- It will automatically install all dependencies using
pnpm.
🛠️ Project Structure
Your new project will look like this:
my-awesome-app/
├── apps/
│ ├── web/ # Next.js frontend
│ ├── http-backend/ # Express.js REST API
│ ├── ws-backend/ # WebSocket Server
│ └── mobile/ # Expo React Native App
├── packages/
│ ├── ui/ # Shared React UI components
│ ├── typescript-config/ # Shared tsconfig.json
│ └── eslint-config/ # Shared eslint configuration
├── package.json # Root package.json
└── turbo.json # TurboRepo configuration🏁 Getting Started
After the installation is complete:
Navigate to the project folder:
cd <project-name>Start the development servers: Run the following command to start all applications (Web, API, WebSocket, Mobile) simultaneously:
pnpm devRunning individual apps: If you prefer to run apps individually:
- Web:
pnpm run dev --filter web - API:
pnpm run dev --filter http-backend - WebSocket:
pnpm run dev --filter ws-backend - Mobile:
pnpm run dev --filter mobile
- Web:
📱 Mobile App (Expo)
The mobile app is located in apps/mobile. To run it specifically on a device/emulator:
cd apps/mobile
npm run android # For Android
npm run ios # For iOS🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License.
