Custom Elements Manifest tooling for Claude Code
npx claudepluginhub bennypowers/cemLSP and MCP support for Custom Elements - intelligent autocomplete, validation, and AI-native component understanding
cem - Custom Elements Manifest Multitoolcem is a command-line tool for generating and querying [Custom Elements Manifest][cem] files. It can analyze your codebase and generate rich metadata for your custom elements, facilitating documentation, tooling, and integration. It can also query that manifest for information about your package
npm install --save-dev @pwrs/cem
On Gentoo Linux, enable the bennypowers overlay and emerge dev-util/cem.
For more options, see [Installation docs][installationdocs]
cem generate[!NOTE]
cem generatebest supports LitElements written in idiomatic style with TypeScript decorators. There is rudimentary support forextends HTMLElement, but it is not a high priority for development. If you need something more specific [open an issue][issuenew].
See more in the [Generate docs][generatedocs]
cem serveThe cem serve command starts a development server specifically for custom element development. It provides an opinionated, manifest-driven workflow with live reload, interactive knobs for testing attributes and properties, and a PatternFly-designed UI for component isolation.
Features:
demos fieldRendering Modes:
# Full UI with development tools
cem serve
# Shadow DOM testing
cem serve --rendering=shadow
# Chromeless for automated testing
cem serve --rendering=chromeless
See more in the [Serve docs][servedocs]
cem lspThe cem lsp command starts a Language Server Protocol (LSP) server that provides intelligent IDE features for custom elements in HTML and TypeScript files. It offers contextual autocomplete, hover documentation, and other editor enhancements by analyzing your custom elements manifests.
Features:
IDE Extensions:
See more in the [LSP docs][lspdocs]
cem mcpThe cem mcp command starts a Model Context Protocol (MCP) server that provides AI-native access to your custom elements manifest data. This enables intelligent HTML generation, component understanding, and design system compliance for AI assistants.
Features:
The server transforms your custom elements manifests into structured, actionable context that AI systems can use to generate proper HTML with correct slot usage, appropriate attributes, and design system compliance.
See more in the [MCP docs][mcpdocs]
cem listThe cem list command provides a fast, flexible way to inspect custom elements, their features, and their metadata directly from your manifest file.
With cem list, you can quickly explore and audit your custom elements API surface, making it easier to document, test, and share your components.
See more in the [List docs][listdocs]
cem search