create-onetech-app
v1.2.1
Published
CLI to quickly set up React projects with popular templates and tools.
Maintainers
Readme
Create OneTech App
A powerful CLI tool to scaffold modern React projects in seconds
📖 Table of Contents
- Overview
- Features
- Quick Start
- Available Templates
- Usage Examples
- CLI Options
- Project Structure
- Development
- Contributing
- Roadmap
- FAQ
- License
- Contributors
- Support
🌟 Overview
create-onetech-app is a production-ready CLI tool that helps developers quickly scaffold modern frontend and fullstack applications. With an intuitive command-line interface, you can generate optimized project templates with your preferred technology stack in seconds.
Why OneTech?
- 🚀 Zero Configuration: Get started immediately with sensible defaults
- 🎯 Opinionated but Flexible: Best practices baked in, easily customizable
- 📦 Lightweight: Minimal dependencies, maximum performance
- 🔧 Developer Experience: Intuitive CLI with helpful prompts
- 🧱 Modular Architecture: Add only what you need
✨ Features
- ⚡ Lightning Fast Setup with Vite and Next.js
- 🌐 Multiple Frameworks: React, Next.js, Electron, Flutter
- 💻 Language Support: JavaScript & TypeScript
- 🎨 Styling Options: Tailwind CSS, vanilla CSS
- 🔥 Backend Integration: Firebase, custom backends, fullstack setups
- � Authentication: Built-in auth templates
- 📊 Dashboard Templates: Ready-to-use admin interfaces
- �📱 State Management: Zustand, Context API
- 🌍 Internationalization: i18next support with Next.js
- 🛣️ Routing: React Router, Next.js App Router
- 🧪 Testing Ready: Jest, Testing Library setup
- 📚 Documentation: Auto-generated README files
🚀 Quick Start
Prerequisites
- Node.js 16.0.0 or higher
- npm 7.0.0 or yarn 1.22.0 or pnpm 6.0.0
Installation
# Using npx (recommended)
npx create-onetech-app my-app
# Using npm
npm create onetech-app my-appInteractive Setup
npx create-onetech-app
# Follow the interactive prompts to customize your project📋 Available Templates
Frontend Templates
| Template | Language | Features |
| ------------------------ | ---------- | ------------------------------------------------------ |
| vite-app-tw | JavaScript | Vite + React + Tailwind CSS |
| vite-app-tw | TypeScript | Vite + React + TypeScript + Tailwind CSS |
| vite-app-tw-firebase | JavaScript | Vite + React + Tailwind CSS + Firebase |
| vite-app-tw-firebase | TypeScript | Vite + React + TypeScript + Tailwind CSS + Firebase |
| nextjs-app-tw-firebase | JavaScript | Next.js + React + Tailwind CSS + Firebase |
| nextjs-app-tw-firebase | TypeScript | Next.js + React + TypeScript + Tailwind CSS + Firebase |
| nextjs-app-i18n | JavaScript | Next.js + React + Internationalization |
| nextjs-app-i18n | TypeScript | Next.js + React + TypeScript + Internationalization |
Planned Templates (Coming Soon)
| Template | Language | Features |
| --------------------------------- | --------------------- | ----------------------------------------------- |
| vite-app-firebase | JavaScript | Vite + React + Firebase |
| vite-app-firebase | TypeScript | Vite + React + TypeScript + Firebase |
| vite-app-backend | JavaScript | Backend API with Express/Node.js |
| vite-app-backend | TypeScript | Backend API with TypeScript + Express/Node.js |
| vite-app-fullstack | JavaScript | Vite + React + Backend Integration |
| vite-app-fullstack | TypeScript | Vite + React + TypeScript + Backend Integration |
| nextjs-app-auth | JavaScript | Next.js + React + Authentication |
| nextjs-app-auth | TypeScript | Next.js + React + TypeScript + Authentication |
| nextjs-app-dashboard | JavaScript | Next.js + React + Dashboard UI |
| nextjs-app-dashboard | TypeScript | Next.js + React + TypeScript + Dashboard UI |
| nextjs-app-fullstack | JavaScript | Next.js + Full-Stack Application |
| nextjs-app-fullstack | TypeScript | Next.js + TypeScript + Full-Stack Application |
| electron-app-vite | JavaScript/TypeScript | Electron + Vite |
| electron-app-nextjs | JavaScript/TypeScript | Electron + Next.js |
| electron-app-cra | JavaScript/TypeScript | Electron + Create React App |
| electron-app-clean-architecture | JavaScript/TypeScript | Electron + Clean Architecture |
Framework-Specific Templates
| Framework | Available Now | Planned | | ------------ | ------------------------------------- | -------------------------------------- | | Vite | Basic (Tailwind), Firebase + Tailwind | Firebase, Backend, Fullstack | | Next.js | Firebase + Tailwind, i18n | Auth, Dashboard, Fullstack | | Electron | - | Vite, Next.js, CRA, Clean Architecture |
💡 Usage Examples
Create a TypeScript React app with Tailwind
npx create-onetech-app my-app --base=vite --lang=ts --template=app-tw
cd my-app
npm run devCreate a Vite app with TypeScript, Tailwind, and Firebase
npx create-onetech-app my-app --base=vite --lang=ts --template=app-tw-firebase
cd my-app
npm run devCreate a Next.js app with TypeScript, Tailwind, and Firebase
npx create-onetech-app my-app --base=nextjs --lang=ts --template=app-tw-firebase
cd my-app
npm run devCreate a Next.js app with Internationalization
npx create-onetech-app my-app --base=nextjs --lang=ts --template=app-i18n
cd my-app
npm run dev⚙️ CLI Options
create-onetech-app [project-name] [options]
Options:
--base:<framework/tool> Base available: vite, nextjs
--template <template> Template to use (default: interactive)
--lang <language> Language preference (js/ts)
-v, --version Display version number
-h, --help Display help information
Examples:
create-onetech-app my-app
npx create-onetech-app my-app --base=vite --lang=ts --template=app-tw
npx create-onetech-app my-app --base=nextjs --lang=ts --template=app-tw-firebase
npx create-onetech-app my-app --base=nextjs --lang=js --template=app-i18n
npx create-onetech-app my-app --base=vite --lang=ts --template=app-tw-firebase🛠️ Development
Setup Development Environment
# Clone the repository
git clone https://github.com/NikhilKatkuri/onetech.git
cd onetech
# Install dependencies
npm install
# Build the project
npm run build
# Link for local development
npm link
# Test the CLI locally
create-onetech-app test-appAvailable Scripts
npm run build # Build the TypeScript project
npm run dev:link # Build and link for local testing
npm run test # Run the CLI locally
npm run clean # Clean build artifactsTesting Templates
# Test a specific template
npm run test:prompt
# Generate template files
npm run gen:files🤝 Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
Quick Contribution Guide
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Contribution Areas
- � Bug Reports & Fixes
- ✨ New Templates
- 📚 Documentation
- 🧪 Testing
- 🎨 UI/UX Improvements
For detailed guidelines, see:
🗺️ Roadmap
Current Status (v1.2.0)
- ✅ Vite + React + Tailwind templates
- ✅ Vite + React + Tailwind + Firebase templates
- ✅ Next.js + React + Tailwind + Firebase templates
- ✅ Next.js + React + i18n templates
- ✅ TypeScript & JavaScript support
- ✅ Interactive CLI prompts
Next Release (v1.3.0)
- 🔄 Vite + Firebase (without Tailwind) templates
- 🔄 Vite backend templates (Express/Node.js)
- 🔄 Next.js authentication templates
- 🔄 Next.js dashboard templates
- 🔄 Vite fullstack templates
Future Features (v2.x)
- 📱 Flutter mobile templates
- 🖥️ Electron desktop templates
- 🔧 Custom template creation
- 🌐 More backend options
- 📊 Analytics dashboard
- 🚀 Deployment automation
- 🔌 Plugin system
❓ FAQ
A: Currently, OneTech uses predefined templates. Custom template support is planned for v2.x. You can contribute new templates to the project!
A: Yes! OneTech supports Next.js and has experimental support for Remix. More frameworks are planned.
A: Absolutely! Once generated, the project is yours to modify. The templates provide a solid starting point with best practices.
A: OneTech provides production-ready project setups by scaffolding templates using best practices and optimized configurations. However, OneTech itself is just a scaffolding tool — it does not control your app’s runtime behavior.
Production readiness ultimately depends on the underlying framework (e.g., React, Vite, Firebase) and how you develop, deploy, and manage your app. OneTech simply gives you a solid, clean starting point to build on.
📄 License
This project is licensed under the MIT License - see the LICENSE.txt file for details.
Branding Assets
⚠️ Important: The OneTech logo and branding assets (OneTech_Logo.png, OneTech.png) are not covered under the MIT License. These assets are protected and cannot be copied, modified, or redistributed without explicit permission.
For branding inquiries, please contact Nikhil Katkuri.
Contributors ✨
Thanks to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind are welcome!
💬 Support
- 📧 Email: Contact Nikhil
- 🐛 Issues: GitHub Issues
- 💡 Discussions: GitHub Discussions
- 🐦 Social: @NikhilKatkuri
Getting Help
- Check the FAQ section
- Search existing issues
- Create a new issue with detailed information
⭐ Star this project if you find it helpful!
Made with ❤️ by Nikhil Katkuri
