npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@templateto/cli

v0.1.1

Published

Create, edit, validate, preview, and publish TemplateTo templates.

Downloads

271

Readme

TemplateTo CLI

@templateto/cli gives people and coding agents a safe, version-controllable way to create and edit TemplateTo templates.

It supports both direct HTML templates and TemplateTo Visual Editor templates. Visual Editor workspaces keep these four files synchronized:

  • components.json
  • styles.json
  • html.txt
  • cssContent.css

The CLI refuses to push a Visual Editor workspace when one side has changed since the last successful sync.

Install

npm install --global @templateto/cli

Node.js 20 or newer is required.

Maintainer release instructions are in PUBLISHING.md.

Configure

Create an API key in the TemplateTo application, then expose it to the process:

export TEMPLATETO_API_KEY="..."

PowerShell:

$env:TEMPLATETO_API_KEY = "..."

The default API endpoint is https://api.templateto.com. Set TEMPLATETO_API_URL to target a local or self-hosted API.

The CLI does not persist or print the API key.

Visual Editor workflow

Create a new local bundle:

templateto bundle init invoice --name "Invoice" --mode visual

Edit invoice/components.json and invoice/styles.json, then synchronize the render artifacts:

templateto editor sync invoice
templateto bundle validate invoice

Create a remote draft and preview it:

templateto templates create invoice
templateto templates preview <template-id> --draft --data invoice/exampleJson.json --out invoice.pdf

Publishing is deliberately separate:

templateto templates publish <template-id>

Edit an existing template

templateto templates pull <template-id> --out invoice
# edit files
templateto editor sync invoice
templateto templates push invoice
templateto templates preview <template-id> --draft --data invoice/exampleJson.json

templates push creates or updates a draft. It does not publish it.

Existing TemplateTo archive format

The workspace uses the same files as TemplateTo’s existing export/import zip:

details.json
components.json
styles.json
exampleJson.json
settings.json
html.txt
cssContent.css
blocks/...
fonts/...
theme.css
manifest.json

templateto.json is local CLI metadata and is omitted from packed archives.

Supported Visual Editor components

The compiler supports TemplateTo Visual Editor elements, including logic, repeat, content block, computed variable, QR code, barcode, column layout, and table components. Run:

templateto editor types

Unknown custom component types without an explicit tagName fail compilation. This is intentional: a failed sync is safer than silently generating HTML that differs from the visual editor.

Inspect a pulled component tree before structural edits:

templateto editor inspect invoice

templates push updates the template's core bundle as a draft. It deliberately does not reimport or overwrite referenced content blocks, fonts, or themes. Use templates import when creating a new template from a complete archive. Updating those related resources needs separate API support so it can remain draft-first.

License

MIT