https://github.com/happybear-21/nstack
A CLI tool for scaffolding and enhancing Next.js projects with modern features.
https://github.com/happybear-21/nstack
cli drizzle drizzle-kit drizzle-orm nextjs nstack rust shadcn shadcn-ui
Last synced: 3 months ago
JSON representation
A CLI tool for scaffolding and enhancing Next.js projects with modern features.
- Host: GitHub
- URL: https://github.com/happybear-21/nstack
- Owner: happybear-21
- License: mit
- Created: 2025-06-06T13:46:58.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-06-18T12:37:13.000Z (4 months ago)
- Last Synced: 2025-06-18T13:19:05.512Z (4 months ago)
- Topics: cli, drizzle, drizzle-kit, drizzle-orm, nextjs, nstack, rust, shadcn, shadcn-ui
- Language: Rust
- Homepage:
- Size: 37.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# nstack
A powerful CLI tool for scaffolding and enhancing Next.js projects with modern features, built in Rust for blazing-fast performance.
[](https://www.rust-lang.org/)
[](https://nextjs.org/)
[](https://opensource.org/licenses/MIT)## Beta Version Notice
**This project is currently in BETA version (v0.1.0).** While we strive for stability, there may be bugs, breaking changes, or incomplete features. Use at your own risk in production environments. Please report any issues you encounter on our [GitHub Issues](https://github.com/happybear-21/nstack/issues) page.
## Features
### Database & ORM
- **Drizzle ORM**: Full-stack type-safe database toolkit with support for:
- **PostgreSQL** - Traditional PostgreSQL database (local or hosted)
- **Neon** - Serverless PostgreSQL database
- **Vercel Postgres** - Vercel's serverless PostgreSQL
- **Supabase** - Open source Firebase alternative
- **Xata** - Serverless data platform
- **PGLite** - ElectricSQL's PostgreSQL-compatible database
- **Nile** - PostgreSQL re-engineered for multi-tenant apps
- **Bun SQL** - Bun's native PostgreSQL bindings### UI Components & Styling (Coming Soon)
- **shadcn/ui**: Add beautiful, accessible UI components with Tailwind CSS *(planned for v0.2.0)*
- **Magic UI**: Integrate AI-powered UI components and design system *(planned for v0.3.0)*## Quick Start
### Installation
#### From Source (Recommended)
```bash
# Clone the repository
git clone https://github.com/happybear-21/nstack.git
cd nstack# Build and install
cargo build --release
cargo install --path .
```#### From Cargo (Coming Soon)
```bash
cargo install nstack
```### Basic Usage
#### Create a new Next.js project
```bash
# Interactive mode
nstack create# Or specify a project name
nstack create --name my-awesome-app
```#### Add features to your project
```bash
# Interactive mode - choose from available features
nstack add# Or specify a feature directly
nstack add --feature drizzle
```#### List available features
```bash
nstack list
```## Detailed Usage
### Creating Projects
The `create` command scaffolds a new Next.js project with modern defaults:
```bash
nstack create [OPTIONS]
--name Project name (optional)
```**Features included by default:**
- Next.js 14+ with App Router
- TypeScript configuration
- ESLint and Prettier setup
- Tailwind CSS
- Modern project structure### Adding Features
The `add` command enhances your existing Next.js project with additional features:
```bash
nstack add [OPTIONS]
--feature Feature to add (optional)
```#### Drizzle ORM Integration
```bash
nstack add --feature drizzle
```
**Interactive database provider selection:**
- Choose from 8 supported database providers
- Automatic dependency installation
- Schema generation
- Migration setup
- Example API routes
- Environment variable templates**Supported Database Providers:**
- **PostgreSQL** - Traditional PostgreSQL database
- **Neon** - Serverless PostgreSQL database
- **Vercel Postgres** - Vercel's serverless PostgreSQL
- **Supabase** - Open source Firebase alternative
- **Xata** - Serverless data platform
- **PGLite** - ElectricSQL's PostgreSQL-compatible database
- **Nile** - PostgreSQL re-engineered for multi-tenant apps
- **Bun SQL** - Bun's native PostgreSQL bindings## Development
### Prerequisites
- [Rust](https://rustup.rs/) (latest stable version)
- [Cargo](https://doc.rust-lang.org/cargo/) (comes with Rust)### Building from Source
```bash
# Clone the repository
git clone https://github.com/happybear-21/nstack.git
cd nstack# Build the project
cargo build# Run in development mode
cargo run -- create
cargo run -- add
cargo run -- list# Run tests
cargo test# Check for issues
cargo check
cargo clippy
```## Contributing
We welcome contributions! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) file for detailed guidelines.
### Quick Contribution Guide
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Add tests if applicable
5. Commit your changes (`git commit -m 'Add amazing feature'`)
6. Push to the branch (`git push origin feature/amazing-feature`)
7. Open a Pull Request### Development Setup
```bash
# Fork and clone
git clone https://github.com/YOUR_USERNAME/nstack.git
cd nstack# Install dependencies
cargo build# Run tests
cargo test# Check code quality
cargo clippy
cargo fmt
```## Bug Reports & Issues
Found a bug? Please help us improve by reporting it:
1. **Search existing issues** to avoid duplicates
2. **Create a new issue** with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Environment details (OS, Rust version, etc.)
- Error messages or logs## Roadmap
### Planned Features
- [ ] **v0.2.0**: shadcn/ui component integration
- [ ] **v0.3.0**: Magic UI component integration
- [ ] Authentication providers (NextAuth.js, Clerk, etc.)
- [ ] State management (Zustand, Redux Toolkit, etc.)
- [ ] Testing frameworks (Jest, Vitest, Playwright)
- [ ] Deployment configurations (Vercel, Netlify, etc.)
- [ ] Performance monitoring tools
- [ ] SEO optimization features
- [ ] Internationalization (i18n)### Database Providers
- [ ] MySQL support for Drizzle
- [ ] SQLite support for Drizzle
- [ ] MongoDB support
- [ ] Redis integration## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
- **Issues**: [GitHub Issues](https://github.com/happybear-21/nstack/issues)
- **Discussions**: [GitHub Discussions](https://github.com/happybear-21/nstack/discussions)
- **Documentation**: [GitHub Wiki](https://github.com/happybear-21/nstack/wiki)