boiler

command module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 12, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

README

Boiler Logo

Boiler

Build Less. Ship More.

Fetch code from anywhere. Scaffold full features in one command. Reuse everything across every project.

Go Version Release Sponsor Use Cases

DocumentationUse CasesGuides

Pre-release - v0.x.x - Feel free to use it, break it. Every idea and bug report shapes what we build next.

Open an issue or start a discussion anytime.


Instant .gitignore - 500+ Templates, One Command

bl gi Node        # Node.js
bl gi Python      # Python
bl gi Go          # Go
bl gi Global/macOS  # macOS global
bl gi community/JetBrains+all  # JetBrains IDEs

No browser, no copy-paste. Powered by the official github/gitignore repo with 225+ popular templates and 300+ community templates.


Pull Files From GitHub - Without git clone

# Grab a single file from any public repo
bl use alice/snippets:js/errorHandler.js ./src/utils

# Grab a specific subfolder as a project template
bl use vercel/next.js:examples/blog ./my-blog

# Entire repo (no clone, no zip download)
bl use rishiyaduwanshi/express-starter ./my-api

# From GitLab or any direct URL
bl use https://gitlab.com/myorg/templates:Dockerfile .

Scaffold Full Features in One Command

Write a .bl script that creates routes, controllers, and auto-wires them into your existing codebase:

bl new feat user
# ✓ Created src/routes/user.route.js
# ✓ Created src/controllers/user.controller.js
# ✓ Injected import into src/api.js
# ✓ Injected app.use('/user', userRouter) into src/api.js
# bl/commands/feat.bl
__var bl__feature = bl__1.lowercase()
__var bl__Feature = bl__1.capitalize()

add route.js ./src/routes/bl__feature.route.js --local
add controller.js ./src/controllers/bl__feature.controller.js --local

inject ./src/api.js -d imports -a -c `
import bl__featureRouter from './routes/bl__feature.route.js';
`
inject ./src/api.js -d routes -a -c `
app.use('/bl__feature', bl__featureRouter);
`

Store Once. Reuse Everywhere.

# Store a snippet with template variables
bl store utils/dbConnect.js
# ✓ Stored snippet 'dbConnect@1.js'

# Reuse in any project
cd ~/new-service
bl add dbConnect ./src
#   bl__DB_URL [mongodb://localhost:27017]: ...
# ✓ Added snippet → ./src/dbConnect.js

Variables replaced. Metadata stripped. Clean code, ready to use.


Installation

Windows:

iwr -useb https://boiler.iamabhinav.dev/install | iex

Linux / macOS:

curl -fsSL https://boiler.iamabhinav.dev/install | bash

npm (all platforms):

npm install -g @boilercli/core

Verify:

bl version

Features

  • Remote Fetching - GitHub, GitLab, Bitbucket, direct URLs, custom registries
  • Zero-Clone - Pull individual files or entire repos without git clone
  • Automation Scripts - .bl scripts scaffold multiple files and inject code
  • Template Variables - bl__VAR_NAME syntax with interactive prompts
  • Built-in gi Alias - 500+ gitignore templates via bl gi <language>
  • Aliases + Vars - Build your own one-word power commands
  • Local & Global Stores - Per-project bl/ directory or global ~/.boiler
  • Automatic Versioning - @1, @2, etc. per resource
  • Language Agnostic - JS, Python, Go, Rust, Java, Docker, configs - anything
  • Framework Agnostic - Express, Next.js, Django, Spring, whatever you use
  • OS Agnostic - Windows, Linux, macOS
  • Self-Updating - bl self update

Commands

bl store <file>              # Store a file as snippet
bl store <folder>            # Store a directory as stack (bl init required first)
bl add <name> [path]         # Add snippet or stack (default: ./boiler)
bl add <name> -r             # Fetch from remote and save to local store
bl use <url-or-repo> [path]  # One-shot fetch - no local caching
bl gi <language>             # Instant gitignore (bl gi Node, bl gi Python, etc.)
bl new <script> [args]       # Run a .bl automation script
bl ls                        # List all stored resources
bl search <query> [-r]       # Search local or remote store
bl info <name>               # Show resource details
bl alias [k=v]               # Create a command shortcut
bl var [k=v]                 # Set a reusable variable
bl init                      # Initialize stack/snippet config
bl conf                      # View or edit configuration
bl clean                     # Remove resources from store
bl path                      # Show installation paths
bl self update               # Update Boiler to latest
bl self uninstall            # Uninstall Boiler
bl version                   # Show version

Full docs: boiler.iamabhinav.dev


Project-Local Store

For project-specific templates that shouldn't be in your global store:

bl init -c          # Creates boiler.local.json with scope: local
my-project/
├── boiler.local.json          ← scope: local
└── bl/
    ├── commands/
    │   └── cmp.bl             ← bl new cmp <ComponentName>
    └── snippets/
        └── component.jsx      ← local template

All bl commands automatically use bl/ instead of ~/.boiler/ when scope: local is set.


Team Registry

Host a shared snippet library on GitHub. Any developer pulls standardized patterns in seconds:

# One-time setup
bl conf --set-registry https://github.com/myteam/boiler-snippets

# Pull approved patterns (cached locally for offline use)
bl add jwtAuth -r
bl add rateLimiter -r
bl add mongoConfig -r

Contributing

git clone https://github.com/rishiyaduwanshi/boiler.git
cd boiler
mise run setup   # Install deps and hooks
mise run dev     # Build development binary

See CONTRIBUTING.md for guidelines. For security reporting, see SECURITY.md.


License

Apache-2.0 © Abhinav Prakash


Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL