mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-10 05:12:14 +00:00
docs: add navigational READMEs to key code directories
Add a README to src, src/lib, src/app, src/components, prisma, scripts, and e2e so a technical visitor browsing the tree gets oriented: what lives in each directory, the most important files, the local conventions, and pointers to related dirs and docs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
e7c76e5bca
commit
b3a626d83c
7 files changed
+188
No files matched your search
@@ -0,0 +1,24 @@
|
||||
# `src/components/`
|
||||
|
||||
React components. The UI primitives are shadcn/ui (new-york style, zinc base) over Radix + Tailwind 4 + Lucide; everything above the primitives is feature-grouped by surface. Components are server components unless they need a hook, state, or browser API, in which case they open with `"use client"`. Charts use Recharts 3 — replacing the chart library requires explicit approval.
|
||||
|
||||
## Primitives and shell
|
||||
|
||||
- **`ui/`** — shadcn/ui primitives (button, dialog, sheet, table, …). Generated by the shadcn CLI; keep edits minimal and on-style.
|
||||
- **`layout/`** — the app shell: sidebar, topbar, bottom nav.
|
||||
- **`providers.tsx`, `app-settings-provider.tsx`, `version-poller.tsx`** — top-level context providers and the self-healing stale-shell poller.
|
||||
- **`i18n/`** — translation context + locale switcher.
|
||||
|
||||
## Feature groups
|
||||
|
||||
- **`insights/`** — insight status, assessment cards, Coach surface, advisor cards (the largest group).
|
||||
- **`medications/`** — medication cards, the schedule wizard, intake timeline, detail history.
|
||||
- **`settings/`** — the section components behind each settings page.
|
||||
- **`measurements/`, `mood/`, `dashboard/`** — entry forms, lists, dashboard tiles.
|
||||
- **`charts/`** — Recharts wrappers.
|
||||
- **`monitoring/`** — Umami / GlitchTip client bootstrap.
|
||||
- **`gamification/`, `targets/`, `comparison/`, `doctor-report/`, `clinician/`, `onboarding/`, `admin/`** — the remaining per-surface groups.
|
||||
|
||||
## Conventions
|
||||
|
||||
Kebab-case filenames; React component exports stay PascalCase regardless. (A handful of PascalCase-filename outliers under `medications/` + `onboarding/` are pre-existing drift, noted in [`../../CLAUDE.md`](../../CLAUDE.md).) Every `t()` call needs a matching key in `messages/en.json` — guarded by `i18n-call-site-coverage.test.ts`. Data reads go through TanStack Query with keys from `@/lib/query-keys` and unwrap `(await res.json()).data`. Tests live in [`__tests__/`](__tests__/).
|
||||
Reference in new issue
Block a user