Skip to content
| Marketplace
Sign in
Visual Studio Code>Snippets>Workspace Command ToolkitNew to Visual Studio Code? Get it now.
Workspace Command Toolkit

Workspace Command Toolkit

Omar Al-Obaidi

|
8 installs
| (2) | Free
Quickly generate project documentation from templates with auto-detected variables, Handlebars support, presets, previews, and smart file handling.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Workspace Command Toolkit

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

Command Palette search

Template command search

Template gallery sidebar

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

  1. Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
  2. Type "WCT" to see available commands
  3. Select a command (e.g., "WCT: Create Implementation.md")
  4. Complete the multi-step form (auto-detected values are prefilled)
  5. Optionally preview the output before generating
  6. 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:

workspace-command-toolkit.targetDir

  • Type: string
  • Default: "docs"
  • Description: Output directory relative to workspace root.

workspace-command-toolkit.promptForVariables

  • Type: boolean
  • Default: true
  • Description: Prompt for template variables before generation.

workspace-command-toolkit.workspaceTemplateDir

  • Type: string
  • Default: ".vscode/templates"
  • Description: Workspace-local template directory (relative to workspace root).

workspace-command-toolkit.templates

  • Type: object
  • Default:
    {
      "Implementation.md": ".vscode/templates/implementation.md",
      "design-system.md": ".vscode/templates/design-system.md",
      "page-specs.md": ".vscode/templates/page-specs.md"
    }
    
  • Description: Map of output filename to workspace-relative template override path.

workspace-command-toolkit.templateEngine

  • 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.

workspace-command-toolkit.enablePreview

  • Type: boolean
  • Default: true
  • Description: Enable template preview in the variable form.

workspace-command-toolkit.enableGitIntegration

  • Type: boolean
  • Default: false
  • Description: Enable git staging and auto-commit after generation.

workspace-command-toolkit.gitCommitMessage

  • Type: string
  • Default: "docs: generate {{templateName}}"
  • Description: Commit message template for auto-commits.

workspace-command-toolkit.showRecentTemplates

  • Type: boolean
  • Default: true
  • Description: Show recently used templates at the top of the picker.

workspace-command-toolkit.recentTemplatesLimit

  • Type: number
  • Default: 5
  • Description: Maximum number of recent templates to show (0-25).

workspace-command-toolkit.presetStorage

  • Type: string
  • Default: "workspace"
  • Description: Store presets in workspace file or global state.

workspace-command-toolkit.enableGalleryView

  • Type: boolean
  • Default: true
  • Description: Enable the template gallery view in the Explorer sidebar.

workspace-command-toolkit.enableTemplateDebugging

  • 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:

  1. Create a .vscode/templates directory in your workspace root (or configure a custom path)
  2. Add template files with the same names as the output files (e.g., implementation.md, design-system.md, page-specs.md)
  3. 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}}

Template Metadata

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!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft