agentleFS
1337hero1337hero/faster-chat/CLAUDE.md

faster-chat

CLAUDE.md175 starsChanged 6 months agoMITView on GitHub

Privacy-first, offline-capable AI chat. Preact + Hono + SQLite + Bun, TanStack Router/Query, Tailwind 4, Vercel AI SDK. Full docs: README.md. Contributor process: CONTRIBUTING.md. AGENTS.md is @CLAUDE.md. This file is canonical for Claude Code, Codex, and any agent that respects either name. Runtime is Bun. Never npm/pnpm/yarn in this repo. Emit tool calls directly. No preamble like "I'll now read the file." Execution. Interleave reads with edits. Don't map the whole repo first. Turn tasks into verifiable goals — "fix…

We split this CLAUDE.md into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Surgical changes: Every changed line traces to the request.

    line 39
  2. Very specific:

    Server state → TanStack Query: Never duplicate API data in useState or Zustand.

    line 52
  3. Distinctive:

    Before adding state or an effect: can this be an expression?

    line 63

≈ “Common” is an estimate: at least 1 in 5 of the 25,680 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

Faster Chat — Agent Guide

Privacy-first, offline-capable AI chat. Preact + Hono + SQLite + Bun, TanStack Router/Query, Tailwind 4, Vercel AI SDK.

Full docs: README.md. Contributor process: CONTRIBUTING.md. AGENTS.md is @CLAUDE.md. This file is canonical for Claude Code, Codex, and any agent that respects either name.

Repo layout

frontend/   Preact SPA — TanStack Router/Query, Tailwind 4, Vite
server/     Hono API — SQLite, AI SDK providers, Bun runtime
packages/   Shared internal packages (workspace)
scripts/    Build/deploy helpers
specs/      Feature specs (output of /plan_w_team)
.claude/    Project skills and sub-agents (see bottom)

Commands

Runtime is Bun. Never npm/pnpm/yarn in this repo.

bun install              # install all workspaces
bun run dev              # frontend + server concurrently
bun run dev:frontend     # Vite dev server only
bun run dev:server       # Hono/Bun server only
bun run build            # build both
bun run test             # server tests (bun test)
bun run format           # prettier

Working style

Emit tool calls directly. No preamble like "I'll now read the file."

Execution. Interleave reads with edits. Don't map the whole repo first. Turn tasks into verifiable goals — "fix bug" → reproducing test → pass. Multi-step work: use /plan_w_team to state the plan with verify steps, loop until verified. Stop when done, blocked, or need clarification.

Surgical changes. Every changed line traces to the request. Don't improve adjacent code, don't refactor the un-broken, match existing style. Orphan imports/vars from your changes: remove. Pre-existing dead code: mention, don't delete.

Code philosophy. Minimum code that solves the stated problem. No speculative abstractions, no configurability nobody asked for, no error handling for impossible cases. Boring over clever. Readable over terse. Comments are a code smell — omit unless asked. If 200 lines could be 50, rewrite.

When unsure. Ambiguous request → ask. Multiple valid approaches → present options, don't pick silently. Uncertain → say so.

Response style. Telegraphic. Noun phrases fine. Don't narrate the diff — the user reads it.

Frontend code rules (hard constraints)

Full spec: .claude/skill/frontend-philosophy/SKILL.md. Claude Code auto-loads it on React/Preact work. Rules below are the non-negotiable subset every agent must follow.

  • No TypeScript. .jsx components, .js utilities. Runtime validation at boundaries only.
  • Server state → TanStack Query. Never duplicate API data in useState or Zustand.
  • Client state → Zustand or Preact Signals. UI-only (modals, theme, filters).
  • Derive, don't duplicate. Value computable from existing state: compute in render. No useState for derived values.
  • No useCallback. Event handlers don't need it. Reaching for it means your useEffect/useMemo deps are wrong.
  • useEffect is a last resort. Valid: DOM sync, external subscriptions, cleanup, analytics. Not: syncing state between variables, reacting to props.
  • No barrel files. No index.ts/js re-exports.
  • Feature-based folders. components/billing/, not components/forms/.
  • 8-section component structure. Server state → client state → derived → handlers → effects (rare) → early returns → render helpers → JSX. See skill reference.
  • Composition over configuration. Pass children, not dozens of boolean props. No prop drilling past 2 levels.
  • Data flows down, events flow up. Fetch once at the highest component that needs it.

Before adding state or an effect: can this be an expression? Derivable from props, query data, or existing state?

CSS / animation (project-specific)

  • ease-snappy = cubic-bezier(.2, .4, .1, .95) (defined in frontend/vite.config.js). Use for UI micro-interactions.
  • Specific transitions: transition-colors, transition-transform. Never transition-all.
  • Durations: 75ms hover, 150ms max for most UI.
  • GPU acceleration: transform-gpu on animate-*, transition-transform, and transform classes (translate-*, rotate-*, scale-*).
  • Scroll containers: overflow-y-scroll + scrollbar-gutter: stable both-edges. Keep fixed overlays outside the scroll container.
  • Slide animations: translate-x/y transforms, not left/top/opacity.

Available sub-agents (.claude/agents/)

  • code-reviewers/ — review diffs against repo standards
  • data-flow-reviewer — auth/ownership/data-integrity sweep across SQLite → Hono → Preact
  • testers/ — write tests for changes

Available skills (.claude/skill/)

  • frontend-philosophy — auto-triggers on React/Preact work; full spec
  • systematic-debugging — use on bugs/test failures before proposing fixes
  • test-driven-development — red-green-refactor
  • insecure-defaults — audit config/secrets/permissive defaults

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.