baredom CLAUDE.md

Project instructions for BareDOM, a ClojureScript library, covering development commands, tests, linting, releases, and its debugging roadmap.

In plain words
What is it for?
Use them when developing, testing, linting, building, packaging, or releasing the BareDOM project.
Why use it?
They give the coding agent the repository’s expected commands and contribution rules.

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/avanelsas/baredom/claude-md
Clone the repo
git clone --depth 1 https://github.com/avanelsas/baredom
Per session 7,391 This file is loaded in full into every session.
When invoked 7,391 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.07391 $0.07391
Opus 5 $0.03696 $0.03696
Sonnet 5 $0.01478 $0.01478
Haiku 4.5 $0.00739 $0.00739

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

Security

Grade A, and why

baredom 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 2d 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 · 319 lines

How it starts

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

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Commands

Development (browser REPL + hot reload):

npx shadow-cljs watch app

Opens dev server at http://localhost:8000 (serves public/) with hot reload via app.core/start!.

Run tests (browser-based):

npx shadow-cljs watch test

Opens test runner at http://localhost:8021.

Build production ESM library:

npm run build

Runs npm run clean && npx shadow-cljs release lib, producing per-component ESM files in dist/.

Pack for local consumption:

npm run pack:local

Lint (clj-kondo):

clj-kondo --lint src test

Code must have zero lint warnings and errors before pushing to GitHub. Always run the linter and fix any issues before git push.

Releasing a New Version

See docs/RELEASING.md — update 4 version locations, tag, push via PR.

Roadmap

See docs/x-trace-history-roadmap.md — phased implementation plan for the x-trace-history debugger (Time-travel debugger for BareDOM components).

Philosophy — Simple Made Easy

This codebase follows Rich Hickey's core tenets. These principles are non-negotiable and override convenience:

  1. Values, not places — Components are stateless. State is a succession of immutable values (attribute snapshots), never mutable references. No atom, volatile!, core.async, reactive signals.
  2. Data > functions > macros — Model metadata (property-api, observed-attributes) drives runtime behavior. If data can declare it, code must not hand-implement it.
  3. De-complect — Separate calculation from effects. model.cljs = pure transforms. <name>.cljs = DOM side effects. Never mix.
  4. Composition over inheritance — No class hierarchies. component/register! composes behavior from a data map. No deftype, defrecord.
  5. Transparency — Code must be readable as simple data transformations. Functions ending in ! have effects; all others are pure. Named functions over anonymous lambdas.
  6. Epochal timerender! compares new-value vs old-value; only applies the delta. The model-change guard is the epochal boundary.

Read the full file on GitHub · 319 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. 2d ago First seen · 319 lines · 7,391 tokens per session scan A 86a3065f4eea

Subscribe to this mod's changes

baredom CLAUDE.md is an instructions file published in the GitHub repository avanelsas/baredom (41 stars, last pushed 4d ago), licensed MIT. It adds 7,391 tokens to every session, about $0.0370 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-30.