# CCPP STL

> Typed code templates, found in plain English and rendered without touching the context.

Published 2026-09-23, updated 2026-09-23.

A cloud library of typed, composable code templates. Claude searches it in natural language, fills the props and slots, and the server renders the code deterministically, so the output never enters the context.

Install:

```
ccpp lua 'return require("stl").search("a Paper command that heals the player")'
```

CCPP Limits protects the context from what tools print. CCPP STL protects it from what the agent writes. Instead of generating the same scaffolding for the hundredth time, Claude finds the template, passes its values, and gets a file rendered on the server.

## Why it matters

- **Typed and composable**: Templates declare their props and their slots, and each slot the kind of template it accepts. Compositions are checked before they render.
- **Found in plain English**: Search is semantic. Each slot becomes a search of its own, filtered by the kind it accepts.
- **Complete, and proven**: A library tracks every item of the API it covers. Coverage is computed, and every example is rendered and compiled.

## How it works

Search, then render. The rendered code is written to disk by the harness; only its path and size come back.

```
local stl = require("stl")
local hit = stl.search("a Paper command that heals the player", {limit = 1}).matches[1]
return stl.render({template = hit.template.name, props = {name = "heal"}}).code
```

## Specifications

| | |
|---|---|
| Stage | Preview |
| API | HTTP, OpenAPI document published |
| Search | Semantic, over embeddings |
| Render | Deterministic substitution of props and slots |
| Data residency | Québec (Loi 25) |

**Join the preview**

CCPP STL is in preview for Builder accounts.

[Create an account](/signup)
