npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@sidgaikwad/db-setup

v1.4.0

Published

Interactive CLI for setting up PostgreSQL databases with multiple providers (Neon, Supabase, Railway, Local)

Readme

🗄️ Database Setup CLI

Interactive CLI for setting up PostgreSQL databases with multiple providers (Neon, Supabase, Railway, Local Docker)

npm version License: MIT

✨ Features

  • 🎯 Multiple Providers: Neon, Supabase, Railway, Local Docker
  • 🌍 Region Selection: Choose from 11+ global regions with emoji flags
  • ⚙️ Auto Configuration: Automatically writes database URL to .env
  • 📁 Custom .env Paths: Support for any .env file location
  • 🏷️ Custom Variable Names: Use any variable name (DATABASE_URL, POSTGRES_URL, etc.)
  • 💾 Safe Updates: Creates backups before modifying files
  • 🔒 Overwrite Protection: Asks before overwriting existing variables
  • 🎨 Beautiful CLI: Color-coded, interactive prompts
  • 🚀 Zero Config: Works out of the box with Bun or Node.js

🚀 Quick Start

Option 1: Run Without Installing (Recommended)

# With Bun
bunx @sidgaikwad/db-setup

# With npm
npx @sidgaikwad/db-setup

Option 2: Install Locally

# With Bun
bun add @sidgaikwad/db-setup

# With npm
npm install @sidgaikwad/db-setup

# With pnpm
pnpm add @sidgaikwad/db-setup

# With yarn
yarn add @sidgaikwad/db-setup

Then run:

# Using package scripts
bun run create-db-setup
# or
npm run create-db-setup

# Using npx/bunx
bunx @sidgaikwad/db-setup
# or
npx @sidgaikwad/db-setup

Option 3: Install Globally

# With Bun
bun install -g @sidgaikwad/db-setup

# With npm
npm install -g @sidgaikwad/db-setup

# Then run anywhere
create-db-setup
# or
db-setup

📦 Adding to Your Project

In Next.js, Remix, or any Node.js project:

# Install the package
bun add @sidgaikwad/db-setup

# Add to package.json scripts (optional)

package.json:

{
  "scripts": {
    "db:setup": "create-db-setup",
    "setup": "create-db-setup"
  }
}

Then run:

bun run db:setup
# or
npm run db:setup

🎯 Usage

$ bunx @sidgaikwad/db-setup

🗄️  Database Setup CLI

Configure your PostgreSQL database with ease!

================ Database Setup ================

? Choose your PostgreSQL provider: (Use arrow keys)
  ❯ Neon (Serverless PostgreSQL)
    Supabase (Open Source Firebase Alternative)
    Railway (Platform as a Service)
    Local PostgreSQL (Docker)
    I already have a DATABASE_URL
    I'll configure later

[Select your provider and follow the interactive setup]

================ Environment Configuration ================

? Select your .env file location: (Use arrow keys)
  ❯ .env (Root directory)
    .env.local (Local environment)
    .env.development (Development)
    .env.production (Production)
    config/.env (Config directory)
    apps/backend/.env (Monorepo backend)
    Custom path...

? Select the environment variable name: (Use arrow keys)
  ❯ DATABASE_URL (Standard)
    POSTGRES_URL (Alternative)
    DB_URL (Short form)
    DB_CONNECTION_STRING (Descriptive)
    DIRECT_URL (Prisma direct)
    DATABASE_CONNECTION (Verbose)
    Custom variable name...

✅ Database configured successfully!

🎉 Setup completed successfully!

📚 Supported Providers

🔷 Neon (Serverless PostgreSQL)

  • Automatic CLI authentication
  • 11 global regions (AWS + Azure)
  • Pooled connections
  • Free tier available
  • Regions: US East, US West, EU Central, EU West, Asia Pacific, South America

🟢 Supabase (Open Source Firebase Alternative)

  • Project creation via CLI
  • Global region selection
  • Connection pooling
  • Generous free tier
  • Features: Real-time, Auth, Storage, Edge Functions

🚂 Railway (Platform as a Service)

  • One-click PostgreSQL deployment
  • Automatic environment variables
  • Simple pricing
  • Perfect for: Quick deployments, side projects

🐳 Local Docker

  • Instant local PostgreSQL
  • Pre-configured docker-compose
  • Perfect for development
  • No cloud account needed

🛠️ Requirements

  • Node.js >= 18.0.0 OR Bun >= 1.0.0
  • npm, yarn, pnpm, or bun

💡 Examples

Example 1: Standard Setup

bunx @sidgaikwad/db-setup
# Select: Neon
# Select: .env (Root directory)
# Select: DATABASE_URL (Standard)

Example 2: Monorepo Setup

bunx @sidgaikwad/db-setup
# Select: Neon
# Select: apps/backend/.env (Monorepo backend)
# Select: DATABASE_URL (Standard)

Example 3: Custom Variable Name

bunx @sidgaikwad/db-setup
# Select: Supabase
# Select: .env.local (Local environment)
# Select: POSTGRES_URL (Alternative)

Example 4: Multiple Databases

# Primary database
bunx @sidgaikwad/db-setup
# Variable: DATABASE_URL

# Analytics database
bunx @sidgaikwad/db-setup
# Variable: ANALYTICS_DATABASE_URL

🔧 Integration with Frameworks

Next.js

bun add @sidgaikwad/db-setup
bunx @sidgaikwad/db-setup
# Select: .env.local
# Select: DATABASE_URL

Remix

bun add @sidgaikwad/db-setup
bunx @sidgaikwad/db-setup
# Select: .env
# Select: DATABASE_URL

SvelteKit

bun add @sidgaikwad/db-setup
bunx @sidgaikwad/db-setup
# Select: .env
# Select: DATABASE_URL

Express/Fastify

npm install @sidgaikwad/db-setup
npx @sidgaikwad/db-setup
# Select: .env
# Select: POSTGRES_URL

📝 Best Practices

✅ DO:

  • Use .env.local for local development (not committed to git)
  • Use .env.production for production-specific variables
  • Use .env.test for testing environments
  • Keep backups of your .env files (CLI creates them automatically)
  • Use descriptive variable names for multiple databases

❌ DON'T:

  • Don't commit .env files with real credentials to git
  • Don't use the same database for development and production
  • Don't forget to add .env* to your .gitignore

🔒 Security

.gitignore:

.env
.env.local
.env.*.local
.env.backup

.env.example (commit this):

# Database Configuration
DATABASE_URL=postgresql://user:password@localhost:5432/dbname

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

MIT © Siddharth Gaikwad

🙏 Acknowledgments

🐛 Issues & Support

Found a bug or need help?

📮 Links


Made with ❤️ by Siddharth Gaikwad