This is the BX Team monorepo — it contains all BX Team projects, both frontend and backend. When entering a project, either to edit or analyse, you should read it's CLAUDE.md.
- Monorepo tooling: bun workspaces (
package.jsonwithworkspacesfield). Run scripts across packages withbun run --filter '<pattern>' <script>. - Frontend: Vue 3 / Nuxt 4, Tailwind CSS v4
- Backend: Hono (Ingest API), Nuxt Nitro (Downloads API, Auth, Pulsify API), BullMQ worker (cinder), Postgres, Clickhouse, Redis
- Formatting: Biome is the source of truth — 2-space indent for TS/JS/JSON and standalone CSS. Tabs are used only inside
.vue<template>and<style>blocks (Biome doesn't reformat those). Runbunx biome check .before committing.
| App | Description |
|---|---|
cinder |
BullMQ worker for ingest API |
influx |
Ingest API written in Hono |
meridian |
Main BX Team frontend app (Nuxt 4) |
zenith |
Status monitor (like Better Uptime) |
| Package | Description |
|---|---|
stratus |
Database schemas (Drizzle ORM) |
types |
Shared TypeScript types (Zod schemas) |
ui |
Shared UI components (Vue 3, Tailwind) |
Each project may have its own CLAUDE.md with detailed instructions:
apps/meridian/CLAUDE.md- Frontend Websiteapps/zenith/CLAUDE.md- Status Monitorpackages/ui/CLAUDE.md- Shared UI components
- DO NOT use "heading" comments like:
=== Helper methods ===. - Use doc comments, but avoid inline comments unless ABSOLUTELY necessary for clarity. Code should aim to be self documenting!
- DO NOT pipe output through
head,tail,less, ormore - NEVER use
| head -n Xor| tail -n Xto truncate output - IMPORTANT: Run commands directly without pipes when possible
- IMPORTANT: If you need to limit output, use command-specific flags (e.g.
git log -n 10instead ofgit log | head -10) - ALWAYS read the full output — never pipe through filters
- Do not create new non-source code files (e.g. Bash scripts, SQL scripts) unless explicitly prompted to
- For Frontend, when doing lint checks, always use Biome (e.g.
biome check .) instead of ESLint or other linters - When provided problems, do not say "I didn't introduce these problems" (shifting the blame/effort) - just fix them.