Files
openswarm/frontend/CLAUDE.md
T

1.2 KiB

frontend — conventions (TypeScript)

All conventions in the root CLAUDE.md apply here. The naming and structure rules carry over; the Python-only rules do not. Specifically:

  • No leading _ on any name, and no barrels (index.ts that only re-exports).
  • Single-purpose file naming — a one-export file is named after its export.
  • Type everything under strict tsconfig; model data with typed interfaces, not untyped objects (the TS equivalent of "no bare dicts").
  • Comments are ONE line each, no exceptions (// — never stack into a multi-line block); keep only WHY/gotcha, delete restating or dead-code comments. JSDoc blocks are exempt.
  • No gratuitous blank lines — never stack 2+ blanks; keep imports tight.
  • Does not apply (Python-only): @typechecked, pydantic BaseModel, the no-relative-imports rule (the frontend uses the @/ path alias and local relative imports), and p-private.

Known gaps to fix over time, not perpetuate: no-underscore-names / p-private are currently backend-only, and eslint.config.mjs still suggests a _ prefix to silence unused-variable warnings — remove the unused binding instead of prefixing it.