Stela CLAUDE.md

Stela CLAUDE.md is an instructions file for coding agents from kdowding/Stela. It costs 1,002 tokens per session, scanned A, original, MIT.

A project instruction file for Claude Code describing how to develop Stela, a self-hosted service for publishing and sharing agent-built HTML artifacts. It documents the codebase, technology choices, identity handling, and storage options.

In plain words
What is it for?
Guiding development in Stela's pnpm monorepo, including its SvelteKit app, shared TypeScript package, API, MCP services, authentication, and artifact storage.
Why use it?
It gives Claude Code project-specific rules and structure, reducing the chance of changes that conflict with Stela's design.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/kdowding/stela/claude-md
Clone the repo
git clone --depth 1 https://github.com/kdowding/Stela

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for Stela CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/kdowding/stela/claude-md.svg)](https://agentmods.dev/instructions/kdowding/stela/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/kdowding/stela/claude-md"><img src="https://agentmods.dev/badge/instructions/kdowding/stela/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 1,002 This file is loaded in full into every session.
When invoked 1,002 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01002 $0.01002
Opus 5 $0.00501 $0.00501
Sonnet 5 $0.00200 $0.00200
Haiku 4.5 $0.00100 $0.00100

Measured 4d ago against content hash a1f9e43de2dd, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

Stela CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 37 lines

How it starts

The opening of the file, as written. The whole thing — 37 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Stela

Self-hosted platform to host and share agent-built artifacts (self-contained HTML — the shape Claude's artifacts popularized). Any MCP-capable agent can publish; share privately, server-wide, or with named people; every artifact gets a stable URL, immutable revision history, and pinned visual comments. Stela: an inscribed stone slab erected for public display.

Stack

pnpm workspaces, TypeScript strict end-to-end, SvelteKit + Svelte 5 (runes, adapter-node).

  • packages/shared — Zod schemas/types (Artifact, Version, Comment, Anchor, sharing DTOs) imported by UI, API, and MCP.
  • packages/app — the deployable: UI + API + the remote MCP endpoint (/mcp, Streamable HTTP) + Stela's own OAuth 2.1 AS (PKCE, DCR) for MCP clients.
  • packages/mcp — stdio MCP server for CLI agents (stela-mcp): publish by file path, auto-versioning via ~/.stela/artifacts.json.

Identity & storage (the two pluggable seams)

  • Auth = trusted headers. An identity-aware proxy in front of the app injects identity; Stela has NO account system — first sight of a new id is enrollment. AUTH_MODE=header + AUTH_HEADER_ID/NAME/EMAIL (generic), or AUTH_PRESET=easyauth (Azure Easy Auth contract). Dev builds use a dev-shim user. Prod fails loud at boot if auth is unconfigured. Optional AUTH_LOGIN_URL redirects anonymous browser navs.
  • Storage = Store interface (lib/server/storage/types.ts) with two drivers: sqlite (default — node:sqlite, one DATA_DIR/stela.db, WAL, STRICT tables) and azure (Tables + Blobs, ETag concurrency). STORAGE_DRIVER selects; prod requires it explicitly, sqlite requires a writable DATA_DIR. Driver-agnostic semantics (title sync, republish dedup, hashing, PKCE, TTLs, token cap) live in storage/shared.ts.

Hard rules

  • Never touch a storage SDK (node:sqlite, @azure/*) outside packages/app/src/lib/server/storage/ — depend on getStore() / the Store interface.
  • Never read identity headers outside packages/app/src/lib/server/auth/ — use getCurrentUser() / authenticateApiKey() / locals.user.
  • Route handlers go through lib/server/guards.ts (auth/authz/validation, same-origin CSRF for browser mutations).
  • Artifacts are immutable per version; republish appends (identical bytes dedup); the share URL stays stable. Comments are scoped to the version they were made on.
  • Artifacts render in an opaque-origin sandboxed iframe under default-src 'none' CSP — no network egress. fetchRemoteHtml.ts is the app's only outbound request path and is SSRF-hardened; keep it that way.
  • svelte-check + tsc --strict must pass with 0 errors; tests via npx pnpm -r --if-present test (vitest).

Read the full file on GitHub · 37 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 37 lines · 1,002 tokens per session scan A a1f9e43de2dd

Subscribe to this mod's changes

Stela CLAUDE.md is an instructions file published in the GitHub repository kdowding/Stela (0 stars, last pushed 1mo ago), licensed MIT. It adds 1,002 tokens to every session, about $0.0050 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.