Boilerplate Browser
Boilerplate Browser is a VS Code extension for browsing a searchable grouped list of GitHub templates, then either cloning a full repository or copying selected files and folders into the current workspace folder.
Features
- Sidebar panel with two tabs:
Custom and Feeds
Custom is the default tab and lets users add their own boilerplates inline
Feeds lets users add their own external HTTPS JSON feeds by title and URL
- Private GitHub-hosted feed JSON is supported when the user marks the feed as private and signs in to GitHub in VS Code
- Search, category filtering, manual or alphabetical sort, and grouped rendering
- Drag-and-drop and button-based ordering for custom boilerplates
- Cached remote feeds with refresh timestamps and manual refresh
- Clone full GitHub repositories into the current folder
- Copy selected files or folders from a GitHub repository into the current folder by downloading its default-branch archive
Feed JSON Schema
Users can host their own feed JSON in a GitHub repository or any HTTPS endpoint.
GitHub-hosted feeds can use the normal GitHub file-page URL, raw URL, GitHub Contents API URL, or any other HTTPS JSON endpoint. When the feed is private, add it with the Private GitHub feed checkbox enabled so the extension uses the VS Code GitHub authentication session through the GitHub Contents API.
{
"id": "my-feed",
"name": "My Feed",
"description": "Optional description",
"templates": [
{
"id": "vite-react-ts",
"name": "Vite React TypeScript",
"repoUrl": "https://github.com/owner/repo",
"description": "Short description",
"category": "Web",
"tags": ["vite", "react", "typescript"],
"author": "Owner",
"actionKind": "copy",
"includePaths": [".github", ".vscode/tasks.json"]
}
]
}
Required feed fields:
Required template fields:
Supported template fields:
id
description
category
tags
author
isPrivate (true for private GitHub repositories when selective copy should use GitHub auth)
actionKind (clone or copy, defaults to clone)
includePaths (required when actionKind is copy)
Selective copy rules:
includePaths entries must be exact repo-relative file or directory paths
- Directory paths are copied recursively
- Files and folders keep the same relative location in the current workspace
- Existing files trigger an overwrite confirmation before the copy runs
- The current implementation uses the repository default branch only
The extension does not require or ship with an active bundled feed. Users define the feeds that matter to them by adding external JSON URLs in the Feeds tab.
Feed Caching
Remote feeds are cached locally. Fresh cache entries are reused for the configured TTL, and a manual refresh in the Feeds tab forces a network request. If a refresh fails but a cached copy exists, the extension falls back to the cached feed and shows that status in the sidebar.
Private Feed Notes
- Private feeds currently support GitHub
blob, raw, and GitHub Contents API URLs
- Private feeds require the user to sign in with GitHub when prompted by VS Code
- Private selective-copy template actions are supported when the template sets
isPrivate: true
Relevant settings:
boilerplateBrowser.requestTimeoutMs
boilerplateBrowser.presetFeedCacheTtlMinutes
boilerplateBrowser.cloneDepth
boilerplateBrowser.allowNonEmptyFolderClone
Selective Copy Items
When adding a custom item, choose Copy selected files or folders to create an action that downloads a GitHub repository and copies only the listed paths into the current workspace. For private repositories, enable Private GitHub repository so the extension can authenticate with GitHub. This is useful for setup content such as .github, .vscode, task files, agent prompts, or skill markdown.
Examples of valid include paths:
.github
.vscode
.github/copilot-instructions.md
docs/agents
Development
npm install
npm run build
For active sidebar development, run both watchers in separate terminals:
npm run watch:extension
npm run watch:webview
Press F5 in VS Code to open the Extension Development Host.