From e641f8e0fa9adc3329b5212e82025eea7fdfd931 Mon Sep 17 00:00:00 2001 From: vjrj Date: Fri, 10 Jul 2026 16:16:29 +0200 Subject: [PATCH] docs(claude): prefer workspace-level commands (analyze/test/pub get) from root --- CLAUDE.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 6618825..fc2b2c3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -40,6 +40,12 @@ tane/ ``` Dependency direction: **`app_seeds` → `commons_core`, never the reverse.** Boundary rules in [`docs/design/core-domain-boundary.md`](docs/design/core-domain-boundary.md). +**Prefer workspace-level commands from the repo root** — one lockfile, one `.dart_tool`, both members at once. Verified working: +- `dart pub get` (root) — resolves the whole workspace; don't `pub get` per package. +- `dart analyze` (root) — analyzes `commons_core` **and** `app_seeds` together. Use this as the default gate. +- `dart test packages/commons_core` — pure Dart, fast (~1s), the TDD workhorse. +- **Not** `dart test` for `app_seeds` — it needs `flutter test`, which is slow and has hung here; run it locally/per-package, never as a routine gate (see [testing.md](docs/design/testing.md) and the testing-gotchas memory). + ## Data model (decided, `schemaVersion = 1`) Three levels: **`Variety`** (identity/accession) → **`Lot`** (a batch you hold: `harvest_year`, quantity, `offer_status`, germination) → **`Movement`** (append-only event log = history + provenance DAG + Plantare). Plus `Species` (bundled Wikidata/GBIF catalog), `VernacularName`, `Attachment`, `ExternalLink`, `GerminationTest`, `Party`, `SeedBank`, `Offer`, `Plantare`. Every mutable row: client `UUIDv7`, `created_at`, HLC `updated_at`, `last_author`, `is_deleted` (soft delete/tombstone), `schema_row_version`. CRDT: LWW scalars, OR-Set collections, grow-only `Movement`. Full spec: [`docs/design/data-model.md`](docs/design/data-model.md).