Templetry

io.github.Templetry由 GitHub 账号 Templetry 发布v1.11.1更新于 Nov 6, 2026

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

已验证STDIO仅桌面文件与存储开发者工具

概览

AI 生成的概览

Templetry 的 MCP 服务器让助手浏览模板目录、从模板生成可直接开发的项目、添加可选组件并保持项目更新。

可以做什么
  • 浏览和筛选模板目录,读取模板的表单结构
  • 按填写内容规划并渲染出新项目
  • 预览并以三方合并方式应用模板更新到现有项目
  • 列出项目可用的懒加载组件,并把组件引入现有项目
适用场景
适合让助手从持续维护的模板新建代码仓库,或把模板后续的改动合并进已生成的项目而不覆盖自己的修改。
运行要求
以本地 stdio 可执行文件 templetry-mcp 运行,可通过 Homebrew、Scoop、安装脚本、发布包、Go 或提供的 mcpb 包安装;无需参数、环境变量或认证。客户端需能找到该可执行文件,常需填写绝对路径。应用更新依赖 git merge-file,因此 PATH 中需有 git;verify 会在 Docker 中编译模板。
安装前请注意
render 和 add_piece 会向目标目录写入文件,update 在应用时会写入改动,请确认指向正确的项目路径。模板来自远程代码托管平台(github:、gitlab:、gitea:)或每次调用传入的 registry,内容属第三方。verify 会在 Docker 中执行模板的验证命令。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Templetry,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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.

来源:README.md,提交 5886aa1

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

1
  1. v1.11.1最新Oct 30, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分