0.0.7 • Published 6 months ago

bunzilla v0.0.7

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

Bunzilla Logo

npm version License: MIT PRs Welcome

The Ultimate Bun Project Generator

🚀 Quick Start

# Option 1: Run directly with bunx
bunx bunzilla create my-awesome-app

# Option 2: Install globally
bun add -g bunzilla
bunzilla create my-awesome-app

# Navigate to your project
cd my-awesome-app

# Start development
bun dev

📦 Available Commands

Create Project

bunzilla create [options]

Options:
  --name <name>     Project name
  --type <type>     Project type (utility|webapp|api|monorepo|cli)
  --frontend <fw>   Frontend framework for webapp (react|solid|svelte)
  --framework <fw>  API framework (hono|fastify|express)
  --defaults        Skip prompts and use defaults

By default, running bunzilla create without options starts an interactive CLI that guides you through project creation:

# Interactive mode (recommended)
bunzilla create

# Will prompt you to:
# 1. Enter project name
# 2. Select project type
# 3. Choose framework/platform based on type:
#    - Webapp: React, Solid, or Svelte
#    - API: Hono, Fastify, or Express
#    - Monorepo: Select initial packages

Use the --defaults flag to skip prompts and use configured defaults:

# Non-interactive mode with defaults
bunzilla create my-app --type webapp --defaults  # Uses default frontend (React)
bunzilla create my-api --type api --defaults     # Uses default framework (Hono)

Evolve Project

bunzilla evolve [options]

Options:
  --add <feature>    Add features (cli|frontend|api)
  --convert <type>   Convert to different project type
  --project-dir <dir> Target project directory

Manage Configuration

bunzilla config [options]

Options:
  --get <key>       Get config value
  --set <key> <value> Set config value
  --list            List all config values
  --delete <key>    Delete config value

🎨 Project Types

Utility Package

  • TypeScript configuration
  • Testing with Vitest
  • Linting with Biome
  • Build configuration
  • NPM publishing setup

Web Application

  • React, Solid, or Svelte
  • TailwindCSS for styling
  • React Router for navigation
  • React Query for data fetching
  • Vite for fast development

API Service

  • Hono, Fastify, or Express
  • OpenAPI documentation
  • JWT authentication
  • Database integration with Drizzle
  • End-to-end type safety

CLI Tool

  • Interactive command-line interface
  • Configuration management
  • Update notifications
  • Progress spinners
  • Colorful output

Monorepo

  • Workspace management
  • Shared configurations
  • Independent versioning
  • Build pipeline
  • Cross-package testing

🛠 Development Scripts

All projects include these common scripts:

bun run dev        # Start development
bun run build      # Build for production
bun run test       # Run tests
bun run lint       # Run linter
bun run format     # Format code
bun run typecheck  # Type check

🔧 Configuration

Bunzilla stores global configuration in ~/.bunzilla/config.json. Default values:

{
  "defaultTemplate": "utility",
  "defaultFramework": "hono",
  "defaultFrontend": "react"
}

🔄 Evolution Paths

Utility → CLI

Start with a simple utility package and evolve it into a CLI tool:

# Create a utility package
bunzilla create my-package --type utility

# Later, add CLI capabilities
bunzilla evolve --add cli --project-dir my-package

API → Full Stack

Begin with a backend API and gradually add frontend components:

# Create an API service
bunzilla create my-api --type api --framework hono

# Later, add frontend
bunzilla evolve --add frontend --project-dir my-api

Single Package → Monorepo

Scale any project to a monorepo structure when needed:

# Convert existing project to monorepo
bunzilla evolve --convert monorepo --project-dir my-project

🤝 Contributing

We welcome contributions! Feel free to:

  • Submit bug reports
  • Propose new features
  • Create pull requests
  • Improve documentation

📝 License

MIT © Bunzilla


Built with ❤️ by developers, for developers

GitHubDiscordTwitter

0.0.3

6 months ago

0.0.2

6 months ago

0.0.5

6 months ago

0.0.4

6 months ago

0.0.7

6 months ago

0.0.6

6 months ago

0.0.1

6 months ago