create-vlang-appone command · any stack
TemplatesExtensionsDocs
Get started
No results found.
Navigation
Home
Docs
Templates
Extensions
Docs
Docs — Introduction
Docs — Installation
Docs — AGENTS.md
Docs — Templates
Docs — Template Customization
Docs — Extensions
Docs — Contributing
Docs — Advanced Usage
System
Enable Performance Mode
Press Esc to close
Ctrl+K
7 templates·6 extensions·9 categories·MIT licensed·V-native
create-vlang-app

One command. Any stack. Compose templates and extensions into production-ready V apps.

© 2026 Create Vlang App.

Resources

TemplatesExtensionsDocumentationContributing GuideChangelog

Community

GitHub OrganizationVPM ModuleReport an issueRequest a feature

Ecosystem

V languagelivePythonbetaNode.jssibling

Documentation

Back to home

Getting Started

IntroductionInstallationAGENTS.mdNEW

Templates

OverviewCustomization

Extensions

Overview

Contributing & Reference

ContributingAdvanced Usage
View on GitHub
  1. Docs
  2. Extensions

Extensions

Extensions are modular add-ons you apply on top of a template to layer in Docker packaging, databases, setup-v CI, fmt/vet hooks, and more.

What is an extension?

An extension is a self-contained package that overlays a template/ tree (and optional metadata) onto a scaffolded V project. Extensions are composable: you can apply multiple compatible extensions in a single command and they are merged intelligently.

Each extension may declare which templates it is compatible with (e.g. web-server, cli-app, systems-app), so the CLI only shows relevant options for your chosen starter.

create-vlang-app my-app --template web-server --addons v-docker github-setup v-fmt-vet

Extension categories

Extensions are organized into 7 categories covering the most common V project needs.

Containers
Docker images, Compose stacks, and Dev Containers for V toolchains.
  • · v-docker
  • · development-container
Database
SQLite and Postgres overlays with env samples and compose services.
  • · v-sqlite
  • · v-postgres
CI & GitHub
GitHub Actions workflows using vlang/setup-v.
  • · github-setup
Tooling
Format, vet, and local quality gates for V projects.
  • · v-fmt-vet
Developer Experience
Remote development environments with the V compiler.
  • · development-container
Web & Systems
Add-ons commonly paired with web-server, cli-app, and systems-app starters.
  • · v-docker
  • · v-postgres
  • · github-setup
Quality
Hooks and Makefile targets for fmt/vet before commit.
  • · v-fmt-vet
Browse all extensions

How extensions work

When the CLI applies an extension it merges the extension's template/ overlay into the scaffolded project:

  1. Overlay files — files under the extension's template/ directory are copied onto the project root (same pattern as CNA/CPA).
  2. v.mod / docs — extensions may add Makefile targets, CI workflows, compose files, or docs/ notes without replacing your app entrypoints.
  3. Compatibility — optional compatibleWith lists keep database overlays scoped to templates that need them.
  4. Incompatibilities — conflicting combinations are rejected when declared by the bank metadata.

Extension file structure

Extensions live in the extensions/ directory of the cva-templates repository:

extensions/
└── your-extension-name/
    ├── template/         # Files merged into the generated project
    │   ├── .github/      # Optional CI workflows
    │   ├── docs/         # Optional authoring notes
    │   └── ...
    └── README.md

Listing available extensions

create-vlang-app --list-addons

Or browse the full catalogue on the Extensions page, where you can filter by template and category.

Back to DocumentationContributing extensions