Templetry

io.github.TempletryPublished by GitHub account Templetryv1.11.1Updated Nov 6, 2026

Scaffold, plan, update and extend projects from Templetry templates.

VerifiedSTDIODesktop onlyFiles & StorageDeveloper Tools

Overview

AI-generated overview

Templetry's MCP server lets an assistant browse a template catalog, scaffold a ready-to-work project, add optional pieces and keep it updated.

What you can do
  • Browse and filter the template catalog and read a template's form schema
  • Plan and render a new project from a template with your answers
  • Preview and apply template updates to an existing project via three-way merge
  • List the lazy pieces a project ships and adopt a piece into a living project
When to use it
Useful when you want an assistant to start a new repository from a maintained template, or to pull later template changes into a project you already generated without losing your own edits.
Requirements
Runs as a local stdio executable (templetry-mcp) installed via Homebrew, Scoop, the install script, release archives, Go, or the provided mcpb bundles; no arguments, environment variables or authentication. The binary must be reachable by the client, often as an absolute path. Applying updates relies on git merge-file, so git must be on PATH; verify runs the template's build in Docker.
Before you install
Render and add_piece write files into the target directory, and update can write changes when applied, so point it at the intended project path. Templates are fetched from remote forges (github:, gitlab:, gitea:) or a registry passed per call, so template content comes from third parties. verify executes the template's verify command inside Docker.

Installation

In SourceWeft

  1. Open Templetry in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Templetry Engine

The core of Templetry: a pure Go library + thin CLI that renders ready-to-work repositories from compilable templates.

[CI] [Latest release] [License: Apache-2.0]

[templetry init, a user edit, then templetry update merging the template's changes while keeping the edit]

Scaffold, edit, then update: the template's new commit is merged three ways (base render, your project, new render), so its changes land and your edit stays. Recorded from the real CLI against a small fixture template (see Development).

Status: 🚀 stable v1 (latest release) — the manifest, directives, answers-file and registry schemas plus the CLI surface are stable public API under the compatibility policy (ADR-0013).

Since v1.0: templetry update (three-way merge), templetry verify in Docker, lazy pieces (pieces/add), YAML/TOML patches, feature requires/conflicts and presets, multi-forge template hosting (github:, gitlab:, gitea: source schemes) and the templetry-mcp server. Since v1.10 forms carry a taxonomy (kinds/languages/frameworks) and templetry list filters on it. Output paths are hardened against escapes and platform quirks; the directive scanner is fuzz-tested.

Principles (from the wiki)

  • The engine doesn't know what a framework is — all knowledge lives in each template's template.yml (ADR-0002).
  • Templates compile — three transformation mechanisms: identity-map renaming, comment directives, structured patches (ADR-0003).
  • Pure core, effectful edges — deterministic: same inputs, byte-identical output.

Architecture

PackageResponsibility
manifestParse + validate template.yml, derive casings
sourceObtain the template as an in-memory FileSet
planner(manifest, inputs, FileSet) → Plan — pure
opsOperation types as data
renderExecute a Plan against a virtual file tree
verifyRun the template's verify command in Docker
updateThe update cycle: re-render with recorded inputs, diff, three-way merge
answersThe .templetry-answers.yml record: one deterministic reader/emitter
pieceLazy pieces (ADR-0014): decoupled units with their own lifecycle
cmd/templetryThin CLI: list, init, plan, render, verify, update, pieces, add, version
cmd/templetry-mcpMCP server (stdio): the engine's verbs as tools for AI agents

Design rationale: study I · study II.

Install

Pick one (Homebrew, Scoop, the install script and the release archives also ship templetry-mcp):

  1. Homebrew (macOS, Linux) — brew install Templetry/tap/templetry (tap).
  2. Scoop (Windows) — scoop bucket add templetry https://github.com/Templetry/scoop-bucket then scoop install templetry (bucket).
  3. Install script (macOS, Linux) — curl -fsSL https://raw.githubusercontent.com/Templetry/engine/main/install.sh | sh (see install.sh; TEMPLETRY_VERSION pins a tag, TEMPLETRY_BIN_DIR picks the folder).
  4. Binary — download your platform's executable from Releases, rename it to templetry (or templetry.exe) and put it on your PATH.
  5. Go toolchain — go install github.com/Templetry/engine/cmd/templetry@latest (installs to $(go env GOPATH)/bin).
  6. From source — clone and go build -o templetry ./cmd/templetry.

Then:

sh
templetry list                                  # browse the official catalogtempletry list --kind database --language go --tags   # filter ittempletry init kmp/single-module --out my-app \  --set "project_name=My App" --set "base_package=com.me.myapp"templetry plan --template <dir> --set key=value --feature nametempletry render --template <dir> --out <dir> --set key=valuetempletry verify --template <dir> --set key=value    # render to a temp dir and compile it in Dockertempletry update ./my-app                            # preview a template update (--apply to write)templetry pieces ./my-app                            # lazy pieces the template shipstempletry add axios-api ./my-app --set api_base=/v2  # adopt a piece into a living project

MCP server (AI agents)

templetry-mcp (in the same releases) speaks the Model Context Protocol over stdio — no dependencies, no configuration. It exposes seven tools: list_templates, get_form_schema, plan, render, update, list_pieces and add_piece, so an agent can browse the catalog, scaffold a ready-to-work project, adopt pieces and keep it all updated. Copy-paste configuration for the common clients follows; the server is a plain executable, so any other MCP client works the same way. It is listed on the official MCP registry as io.github.Templetry/templetry-mcp and published automatically after each release.

Where the binary is

If templetry-mcp is on your PATH, use the bare name templetry-mcp as the command. Some apps (Claude Desktop especially) do not inherit your shell PATH, so give them the absolute path:

Installed withPath
Homebrew, Apple Silicon/opt/homebrew/bin/templetry-mcp
Homebrew, Intel Mac / Linux/usr/local/bin/templetry-mcp (Linux brew: /home/linuxbrew/.linuxbrew/bin/templetry-mcp)
install.sh~/.local/bin/templetry-mcp (or /usr/local/bin/templetry-mcp when run as root); write the full home path in JSON, ~ is not expanded
Scoop (Windows)C:\Users\<you>\scoop\shims\templetry-mcp.exe
Downloaded release binarywherever you put it

where templetry-mcp (Windows) or command -v templetry-mcp prints the right one.

Claude Code

sh
claude mcp add templetry -- templetry-mcp            # this project, private to youclaude mcp add --scope user templetry -- templetry-mcp   # every projectclaude mcp list

Claude Desktop

Edit claude_desktop_config.json (Settings > Developer > Edit Config; macOS ~/Library/Application Support/Claude/, Windows %APPDATA%\Claude\) and restart the app:

json
{  "mcpServers": {    "templetry": {      "command": "/opt/homebrew/bin/templetry-mcp"    }  }}

On Windows use "command": "C:\Users\<you>\scoop\shims\templetry-mcp.exe".

Cursor

.cursor/mcp.json in a project, or ~/.cursor/mcp.json for all projects:

json
{  "mcpServers": {    "templetry": {      "command": "templetry-mcp"    }  }}

VS Code

.vscode/mcp.json in the workspace (or "MCP: Open User Configuration" for every workspace). Note the key is servers, not mcpServers:

json
{  "servers": {    "templetry": {      "type": "stdio",      "command": "templetry-mcp"    }  }}

The server takes no arguments and no environment; to work against a private catalog the agent passes registry on each tool call.

Documentation

Usage guides live in the wiki: getting started, using templates, using pieces, keeping projects updated, authoring templates, AI agents and MCP. Normative behaviour is in spec/.

Development

sh
go build ./...go test ./...          # CI also runs -race and golangci-lint v2

update merges with git merge-file, so git must be on PATH for its tests. No test touches the network or needs Docker:

  • internal/forgetest is an in-memory GitHub (codeload tarballs and the commits API) behind http.DefaultClient, so init → edit → update runs end to end against templates the test publishes, commit by commit.
  • internal/fakedocker puts a copy of the test binary on PATH as docker, recording what verify would have run.
  • Both binaries are tested in-process: templetry through run(args, stdout, stderr) and templetry-mcp through serve(in, out), a JSON-RPC session over pipes.

The demo above is recorded the same way, so it always shows real output. To regenerate it:

sh
TEMPLETRY_DEMO_CAST=$PWD/docs/demo.cast go test ./cmd/templetry -run TestRecordDemo -count=1npx [email protected] --in docs/demo.cast --out docs/demo.svg --window --no-cursor

License

Apache License 2.0 — use it for anything, including commercially, with an explicit patent grant. The templates and the desktop app live in their own repos under MIT.

Source: README.md at commit 5886aa1

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

1
  1. v1.11.1LatestOct 30, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts