A VS Code extension that helps you quickly generate project documentation from customizable templates via the Command Palette.
Features
- Quick Document Generation: Generate common documentation files with a single command
- Multi-Step Variable Form: Guided input with validation and progress
- Auto-Detect Project Context: Prefill name, stack, and notes from your workspace
- Handlebars Template Support: Conditionals, loops, and helpers (simple syntax still works)
- Template Preview: See rendered output before generation
- Template Presets: Save and reuse variable sets
- Batch Generation: Generate multiple templates at once
- Template Validation: Catch undefined variables and syntax errors early
- Recent Templates + Gallery View: Faster access to frequently used templates
- Workspace Customization: Override built-in templates with workspace templates
- Smart File Handling: Open, overwrite, or create timestamped copies
- Optional Git Integration: Auto-stage and commit generated files
Screenshots



Commands
Access all commands via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
- WCT: Create Implementation.md - Generate an implementation documentation file
- WCT: Create design-system.md - Generate a design system documentation file
- WCT: Create page-specs.md - Generate page specifications documentation file
- WCT: Create From Template - Interactive picker to select and generate any template
- WCT: Batch Generate Templates - Generate multiple templates in one flow
- WCT: Manage Presets - Create, edit, and delete presets
- WCT: Export Templates - Export templates as a bundle
- WCT: Import Templates - Import templates from a bundle
- WCT: Toggle Template Debugging - Toggle debug output
- WCT: Generate Template (Gallery) - Generate from the gallery view
- WCT: Refresh Template Gallery - Refresh gallery view
- WCT: Configure Templates - Open extension settings
Usage
- Open the Command Palette (
Ctrl+Shift+P / Cmd+Shift+P)
- Type "WCT" to see available commands
- Select a command (e.g., "WCT: Create Implementation.md")
- Complete the multi-step form (auto-detected values are prefilled)
- Optionally preview the output before generating
- The document(s) are generated in your configured output directory
Example Workflow
1. Press Ctrl+Shift+P
2. Type "WCT: Create Implementation.md"
3. Review auto-detected values in the form
4. Optional: Preview output
5. Generate the document
6. Document is created in docs/Implementation.md (or your configured directory)
Extension Settings
This extension contributes the following settings:
- Type:
string
- Default:
"docs"
- Description: Output directory relative to workspace root.
- Type:
boolean
- Default:
true
- Description: Prompt for template variables before generation.
- Type:
string
- Default:
".vscode/templates"
- Description: Workspace-local template directory (relative to workspace root).
- Type:
string
- Default:
"auto"
- Description: Template engine preference (
auto, simple, or handlebars).
workspace-command-toolkit.autoDetectContext
- Type:
boolean
- Default:
true
- Description: Auto-detect project context to prefill variables.
workspace-command-toolkit.enableContextSuggestions
- Type:
boolean
- Default:
true
- Description: Suggest templates based on project context.
- Type:
boolean
- Default:
true
- Description: Enable template preview in the variable form.
- Type:
boolean
- Default:
false
- Description: Enable git staging and auto-commit after generation.
- Type:
string
- Default:
"docs: generate {{templateName}}"
- Description: Commit message template for auto-commits.
- Type:
boolean
- Default:
true
- Description: Show recently used templates at the top of the picker.
- Type:
number
- Default:
5
- Description: Maximum number of recent templates to show (0-25).
- Type:
string
- Default:
"workspace"
- Description: Store presets in workspace file or global state.
- Type:
boolean
- Default:
true
- Description: Enable the template gallery view in the Explorer sidebar.
- Type:
boolean
- Default:
false
- Description: Log template variables and rendering details to the WCT Debug output channel.
Customizing Templates
You can override the built-in templates by creating custom templates in your workspace:
- Create a
.vscode/templates directory in your workspace root (or configure a custom path)
- Add template files with the same names as the output files (e.g.,
implementation.md, design-system.md, page-specs.md)
- Use template variables in your custom templates:
{{projectName}} - Project name
{{stack}} - Tech stack
{{notes}} - Optional notes
{{dateISO}} - Current date in ISO format
Example Custom Template
# {{projectName}} - Implementation Guide
Created: {{dateISO}}
## Tech Stack
{{stack}}
## Project Notes
{{notes}}
## Your Custom Sections
...
Template Syntax
Simple Variables
Use {{variable}} placeholders as in v0.1.
Handlebars Templates
Handlebars templates support conditionals, loops, and helpers:
{{#if stack}}
## Tech Stack
{{stack}}
{{/if}}
Built-in Helpers
{{uppercase value}}
{{lowercase value}}
{{capitalize value}}
{{date value format="YYYY-MM-DD"}}
{{eq a b}}, {{ne a b}}
{{gt a b}}, {{lt a b}}
{{and a b ...}}, {{or a b ...}}, {{not value}}
You can add YAML frontmatter to provide descriptions and variable hints:
---
name: Implementation Guide
description: Technical implementation documentation
category: technical
tags: [docs, implementation]
files: [README.md, docs/openapi.md]
variables:
- projectName (required)
- stack (required)
- notes (optional)
engine: handlebars
---
Multi-File Templates
Multi-file templates use @@@file: markers to define output sections:
@@@file: README.md
# {{projectName}}
@@@file: docs/openapi.md
# API
Presets
Presets store reusable variable sets. Workspace presets are stored in
.vscode/wct-presets.json:
[
{
"id": "frontend-project-abc123",
"name": "Frontend Project",
"description": "Next.js + Tailwind defaults",
"variables": {
"stack": "Next.js, React, TypeScript, Tailwind"
},
"createdAt": "2026-01-18T00:00:00.000Z"
}
]
Requirements
- VS Code version 1.105.0 or higher
Known Issues
None at this time. If you encounter any issues, please report them on the GitHub repository.
Release Notes
See CHANGELOG.md for detailed release notes.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This extension is licensed under the MIT License. See LICENSE for details.
Enjoy generating documentation faster!