diff --git a/.cursor/ONBOARDING.md b/.cursor/ONBOARDING.md new file mode 100644 index 000000000..b9da963c7 --- /dev/null +++ b/.cursor/ONBOARDING.md @@ -0,0 +1,98 @@ +# OSIM Onboarding Guide + +## 1. Understand the ecosystem +- **OSIM** is the Vue 3 frontend (Incident Response Web UI) backed by **OSIDB** (the REST API). +- Two repos to know: `osim` (frontend) and `osim-ui-tests` (Playwright E2E tests). +- Read [`docs/overview.md`](../docs/overview.md) for architecture, directory layout, and core patterns. + +--- + +## 2. Local setup +- Install deps: `yarn` +- Configure `public/runtime.json` pointing to local or staging OSIDB (see `docs/overview.md` → *Local Configuration*). +- Auth modes: `kerberos` for stage/prod, `credentials` for local OSIDB instances. +- Run dev server: `yarn dev` + +--- + +## 3. Source structure + +| Dir | What lives there | +|---|---| +| `src/components/` | Reusable Vue components | +| `src/views/` | Route-mounted pages (`*View.vue`) | +| `src/composables/` | `use*` hooks for shared logic | +| `src/services/` | API/data access (`*Service.ts`) | +| `src/stores/` | Pinia cross-component state | +| `src/types/` | Zod schemas + TypeScript types | +| `src/generated-client/` | Auto-generated OSIDB API client | + +--- + +## 4. Core coding conventions +- Always use `