SEC-cyBERT/CLAUDE.md
2026-03-28 23:44:37 -04:00

1.4 KiB

sec-cyBERT

Bun workspace monorepo. Three packages:

  • packages/schemas/ — shared Zod schemas (@sec-cybert/schemas). Import directly by path: from "@sec-cybert/schemas/label.ts"
  • ts/ — GenAI labeling pipeline (CLI scripts, Vercel AI SDK, OpenRouter)
  • labelapp/ — Next.js human labeling webapp (Drizzle, Postgres, shadcn/ui, Playwright)

Quick reference

What Where
Shared schemas (Zod) packages/schemas/src/
Labeling codebook (source of truth for all category/specificity definitions) docs/LABELING-CODEBOOK.md
Project narrative (decisions, roadblocks, lessons) docs/NARRATIVE.md
Implementation plan for labelapp docs/labelapp-plan.md
Labelapp-specific agent guide labelapp/AGENTS.md
Docker compose (Postgres) docker-compose.yaml (root)
DB credentials sec_cybert / sec_cybert / sec_cybert on localhost:5432

Rules

  • bun for all JS/TS. uv for Python.
  • No barrel files. Direct path-based imports only.
  • No TODO comments. Finish what you start.
  • No parallel codepaths. Find and extend existing code before writing new.
  • Schemas live in packages/schemas/ — do not duplicate type definitions elsewhere.
  • labelapp/ uses flat layout (no src/ dir): app/, db/, lib/, components/ at root.
  • Tests: bun test for backend route integration (__test__/ dirs adjacent to routes), Playwright for E2E (tests/).