A powerful CLI tool for scaffolding and enhancing Next.js projects with modern features, built in Rust for blazing-fast performance.
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 page.
- 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
- 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)
# Clone the repository
git clone https://github.com/happybear-21/nstack.git
cd nstack
# Build and install
cargo build --release
cargo install --path .
cargo install nstack
# Interactive mode
nstack create
# Or specify a project name
nstack create --name my-awesome-app
# Interactive mode - choose from available features
nstack add
# Or specify a feature directly
nstack add --feature drizzle
nstack list
The create
command scaffolds a new Next.js project with modern defaults:
nstack create [OPTIONS]
--name <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
The add
command enhances your existing Next.js project with additional features:
nstack add [OPTIONS]
--feature <FEATURE> Feature to add (optional)
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
# 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
We welcome contributions! Please see our CONTRIBUTING.md file for detailed guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Add tests if applicable
- Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
# 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
Found a bug? Please help us improve by reporting it:
- Search existing issues to avoid duplicates
- 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
- 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)
- MySQL support for Drizzle
- SQLite support for Drizzle
- MongoDB support
- Redis integration
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: GitHub Wiki