cd /news/developer-tools/stop-copy-pasting-boilerplate-scaffo… Β· home β€Ί topics β€Ί developer-tools β€Ί article
[ARTICLE Β· art-150453] src=dev.to β†— pub= topic=developer-tools verified=true sentiment=↑ positive

Stop Copy-Pasting Boilerplate: Scaffold Projects & Snippets Fast with BScaff

A developer released BScaff, an open-source command-line tool that stores and scaffolds reusable developer resources as locally saved "snapshots" under ~/.bscaff. The tool can capture directory trees, Git repositories, snippets, templates and URLs, parse ASCII directory diagrams copied from AI coding assistants into real folder structures, and resolve Mustache-style {{ variable }} placeholders across file paths and contents. It is distributed via npm as @akashnag/bscaff.

by read4 min views1 publishedOct 15, 2026

How many times have you started a new feature or microservice, only to spend the first 20 minutes copy-pasting .eslintrc, tsconfig.json, Dockerfiles, and boilerplate directory structures from an older project?

Or worseβ€”you find an awesome directory structure generated by Claude or ChatGPT, and you sit there manually mkdir-ing and touch-ing every single file?

We've all been there:

There has to be a better way to capture, store, and recreate developer resources without leaving the terminal.

Enter BScaff.

BScaff is a light, lightning-fast CLI tool designed to store, manage, and scaffold reusable developer resources. Think of it as a personal, command-line vault for:

tree) files) snippet) template) url) Everything in BScaff revolves around a snapshotβ€”a uniquely named key (-k) storing your saved content locally under ~/.bscaff.

Getting started takes seconds. Install BScaff globally via npm:

npm install -g @akashnag/bscaff

Verify the installation:

bscaff --version

Let's dive into three everyday workflows where BScaff instantly saves you time.

Say you have a starter React or Node.js template configured just the way you like it. Instead of creating a GitHub template repository or manually zip-copying folders, save it as a directory snapshot:

bscaff -k node-base --desc "Base Node.js Express setup" --tags node,express save tree ~/projects/my-node-starter

When you are ready to start a new service, extract it anywhere:

bscaff -k node-base extract ./my-new-api

Boom! Your full directory structure and file contents are instantly created.

AI coding assistants are great at generating project structures like this:

my-service/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”‚   └── user.controller.ts
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   └── user.routes.ts
β”‚   └── index.ts
β”œβ”€β”€ tests/
β”‚   └── user.test.ts
└── package.json

Instead of manually creating these folders and files, copy that ASCII diagram directly to your clipboard and run:

bscaff create tree ./my-service --prompt-for-content

BScaff parses the tree diagram directly from your clipboard, constructs the complete directory hierarchy on disk, and interactively prompts you to supply content for each generated file.

Need dynamic placeholders in your files? BScaff supports Mustache variable templates ({{ variable }}).

Suppose you have a component template containing:

// {{ componentName }}.tsx
export const {{ componentName }} = () => {
    return <div>Hello from {{ componentName }}</div>;
};

When extracting or generating from this snapshot, BScaff will automatically detect {{ componentName }}, prompt you for its value, and replace it across file paths and file contents seamlessly!

Here is a quick command reference to keep in your back pocket:

Action Command Syntax
Save Directory Tree bscaff -k <key> save tree <path>
Save Git Repo bscaff -k <key> save tree <repo-url> --git
Save Snippet from File bscaff -k <key> save snippet <file-path>
Save Clipboard Snippet bscaff -k <key> save snippet --memory --type ts
Extract Snapshot bscaff -k <key> extract <dest-path>
Dry Run Extraction bscaff -k <key> extract <dest-path> --dry-run
List Saved Snapshots bscaff list
Search Snapshots bscaff search --tags react
Copy Snippet to Clipboard bscaff -k <key> copy
Delete Snapshot bscaff -k <key> delete

BScaff isn't just for project scaffoldingβ€”it has a few unexpected capabilities that can streamline your daily workflow.

Stop cluttering your browser bookmark bar with docs you only use during development. Save URLs straight in BScaff:

bscaff -k go-docs save url https://go.dev/doc/

Whenever you need to jump back in, run:

bscaff -k go-docs open

You can use BScaff as a persistent, zero-friction markdown scratchpad:

bscaff -k sprint-notes save snippet --type md

Whenever you want to view or edit your notes, use the update content or open commands:

bscaff -k sprint-notes update content

BScaff was built to eradicate repetitive setup tasks so you can focus on writing actual code.

Give it a try on your next project:

If you find it helpful, drop a star on GitHub, share it with your team, and happy scaffolding! πŸš€

── more in #developer-tools 4 stories Β· sorted by recency
── more on @bscaff 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/stop-copy-pasting-bo…] indexed:0 read:4min 2026-10-15 Β· β€”