Code Once. Reuse Forever.
Store reusable code snippets and project templates locally. Automatic versioning, template variables, zero config.
Stop installing entire packages for one function. Stop copy-pasting code between projects.
# Store once
bl store ./utils/errorHandler.js
# Reuse anywhere
bl add errorHandlerPerfect for: Utility functions, config files, project boilerplates, API templates.
Windows:
iwr -useb https://boiler.iamabhinav.dev/install | iexLinux / macOS:
curl -fsSL https://boiler.iamabhinav.dev/install | bashnpm (all platforms):
npm install -g @boilercli/coreVerify:
bl version# 1. Store a file as snippet
bl store ./middleware/auth.js
# ✓ Stored snippet 'auth@1.js' at ~/.boiler/store/...
# 2. Add to any project
bl add auth
# ✓ Added snippet 'auth@1.js' to boiler/auth.js
# 3. Store a directory as stack (bl init required first)
cd ./my-template
bl init # creates boiler.stack.json
bl store # stores it
# 4. Add a stack
bl add my-template
# ✓ Added stack 'my-template@1' to boiler/my-template
# 5. List everything
bl lsCreate configurable snippets:
// errorHandler.js
// __var bl__LOG_LEVEL = error
// __var bl__EMAIL = admin@example.com
function handleError(err) {
console[bl__LOG_LEVEL](err.message);
sendEmail('bl__EMAIL', err);
}bl add errorHandler
# bl__LOG_LEVEL [error]: warn
# bl__EMAIL [admin@example.com]: dev@app.com
# ✓ Added snippet 'errorHandler@1.js' to boiler/errorHandler.js
# (metadata stripped, variables replaced)- ✅ Automatic Versioning -
@1,@2, etc. - ✅ Template Variables -
bl__VAR_NAMEsyntax with prompts - ✅ Reusable Config Vars -
bl var KEY=valueand:KEYreferences in commands - ✅ Remote Fetching - GitHub, GitLab, Bitbucket, custom registries, direct URLs
- ✅ Language Agnostic - JS, Python, Go, Java, TS, Rust, C++, etc.
- ✅ Stack Templates - Store entire project folders
- ✅ Zero Config - Works immediately after install
- ✅ Cross-Platform - Windows, Linux, macOS
- ✅ Self-Updating -
bl self update
Pull snippets and stacks from anywhere — provider is auto-detected from the URL:
# GitHub (short format)
bl add rishiyaduwanshi/boiler-express -r
# GitHub (full URL)
bl add https://github.com/alice/my-stack -r
# GitLab
bl add https://gitlab.com/alice/my-stack -r
# Bitbucket
bl add https://bitbucket.org/alice/my-stack -r
# File from GitHub repo (snippet)
bl add alice/snippets:js/errorHandler.js -r
# Direct archive URL
bl add https://mysite.com/template.zip -r
# From configured registry
bl conf --set-registry https://github.com/myteam/boiler
bl add express@1 -rOne-shot fetch (no local store):
bl use alice/my-stack
bl use https://gitlab.com/alice/my-stack
bl use https://mysite.com/template.zipbl init # Initialize stack/snippet config
bl store [path] # Store file/folder
bl add <name> [path] # Add snippet/stack (default destination: ./boiler)
bl add <name> --spread # Spread stack contents into destination
bl alias [k|k=v] # List, get, or set command aliases
bl unalias <k> # Remove a command alias
bl var [k|k=v] # List, get, or set reusable variables
bl unvar <k> # Remove a reusable variable
bl use <resource> [path] # One-shot remote fetch (no local store saved)
bl ls # List all resources
bl search <query> # Search by name (-r to search remote)
bl info <name> # Show resource details
bl clean # Remove resources
bl path # Show installation paths
bl conf # View/edit configuration
bl self update # Update Boiler to latest
bl self uninstall # Uninstall Boiler
bl version # Show version
bl --help # Full command listFull docs: boiler.iamabhinav.dev
git clone https://github.com/rishiyaduwanshi/boiler.git
cd boiler
go build -o bl main.goSee CONTRIBUTING.md for guidelines. For security reporting, see SECURITY.md.
Apache-2.0 © Abhinav Prakash