Skip to content
Beta Free

CCPP Emmet

Emmet for every language, expanded before the file is written, so Claude types less.

Claude writes abbreviations, CCPP Emmet expands them into the full code or markup before it reaches the disk. Fewer output tokens, the same files.

ccpp emmet profiles
language, one syntax
Every
the write, never after
Before
runtime dependencies
0
hook to install
1

Output tokens are the slowest and most expensive tokens of a session. Boilerplate is most of them. CCPP Emmet lets Claude write the short form and expands it on the way to the file.

Why it matters

Write less, get the same file

An abbreviation expands deterministically into the code it stands for. The file on disk is exactly what a human would have typed.

Beyond HTML

Dictionaries describe each language, so the same syntax covers markup, stylesheets and code.

Invisible when unused

A document opts in with its envelope. Every other write goes through untouched.

How it works

A file that starts with the #!emmet envelope is expanded by the hook before Claude Code writes it. The Lua package emmet does the same inside a chunk.

#!emmet html
nav.menu>ul>li*4>a[href=#]{Item $}

Specifications

Stage
Beta
Expansion
Deterministic, from dictionaries shipped with the plugin
Interfaces
ccpp emmet, a Claude Code hook, the Lua package emmet
Platforms
Linux, macOS, Windows

Free with every account

Install the emmet plugin from the CCPP marketplace.

Create a free account
Every product

One account. Every tool Claude needs.

Free products come with a free account. Builder unlocks the rest, the harness first.