Skip to content

Bootstraper (bt) is a unified CLI tool that simplifies project initialization across multiple frameworks, languages, and platforms. Create new projects with your favorite frameworks using a single command-line interface.

License

Notifications You must be signed in to change notification settings

sharik709/bootstraper

Repository files navigation

Bootstraper CLI (bt)

Go Report Card License: MIT Version npm

Bootstraper (bt) is a unified CLI tool that simplifies project initialization across multiple frameworks, languages, and platforms. Create new projects with your favorite frameworks using a single command-line interface.

Features

  • Universal Interface: One command to bootstrap projects with any supported framework
  • Extensible: Easily add new framework providers via JSON configuration
  • Smart Defaults: Sensible defaults with customizable options
  • Dependency Checking: Automatic verification that required tools are installed

Installation

Using npm (Recommended)

npm install -g bootstraper-cli

Using Go

go install github.com/sharik709/bootstraper@latest

From Binary Releases

Download pre-built binaries from the releases page.

From Source

git clone https://github.com/sharik709/bootstraper.git
cd bootstraper
make build
make install

Usage

Create a New Project

# Basic usage
bt new [framework] [project-name]

# Examples
bt new next my-nextjs-app
bt new vue my-vue-app
bt new go myproject --module=github.com/username/myproject

With Framework-specific Options

# Next.js with TypeScript and Tailwind
bt new next my-app --typescript=true --tailwind=true

# Vue with Router and Pinia
bt new vue my-app --typescript=true --router=true --pinia=true

# Laravel with specific version
bt new laravel my-app --version=10.0

List Available Frameworks

bt list

Supported Frameworks

Bootstraper includes support for many popular frameworks:

  • Frontend: Next.js, Vue, Angular, Svelte, React, Astro, SolidJS, Nuxt
  • Backend: Express, Laravel, Django, Spring Boot, Rails, NestJS, FastAPI
  • Mobile: Flutter, React Native
  • Languages: Go, Rust, Python

Run bt list to see all available frameworks and their descriptions.

Extending Bootstraper

Bootstraper uses a JSON-based provider registry that makes it easy to add new frameworks without changing the code.

To add a custom framework, modify the providers/registry.json file following this structure:

{
  "name": "your-framework",
  "description": "Description of your framework",
  "command": "installation-command",
  "args": ["command", "args", "{project-name}"],
  "dependencies": ["required-commands"],
  "options": {
    "option1": "Description of option1",
    "option2": "Description of option2"
  }
}

Publishing to npm

If you're forking this project and want to publish your own version to npm:

  1. Update the package name in package.json
  2. Build the binary: make build
  3. Publish to npm: npm publish

You'll need to have an npm account and be logged in via npm login.

Contributing

Contributions are welcome! See CONTRIBUTING.md for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Bootstraper (bt) is a unified CLI tool that simplifies project initialization across multiple frameworks, languages, and platforms. Create new projects with your favorite frameworks using a single command-line interface.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published