Skip to main content

Current State (Reference)

What this is

docs/ai/current-state.md holds repo conventions: routing, data fetching, state, forms, styling, testing, telemetry, and common pitfalls. Each section has "what we do / where it lives / what to avoid" so the AI does not invent paths.

When to use it

  • After installing the kit: fill each section (or mark TODO) so the AI follows your stack and file layout.
  • Prevents hallucinations about routes, APIs, and file paths.

Exact text (from kit)

Source: docs/ai/current-state.md

# Current state

Repo conventions so the AI does not invent paths or patterns. Fill in or mark TODO; if unknown, guess where truth likely lives and label it TODO.

---

## Routing

**What we do:**
<!-- TODO: e.g. file-based, React Router, Next.js App Router, etc. -->

**Where it lives (file paths):**
<!-- TODO: e.g. src/routes/, app/, pages/ -->

**What to avoid:**
<!-- TODO: e.g. don't add routes without updating X; don't use hash routing -->

---

## Data fetching

**What we do:**
<!-- TODO: e.g. REST, GraphQL, React Query, SWR, server components, etc. -->

**Where it lives (file paths):**
<!-- TODO: e.g. src/api/, hooks/use*.ts, services/ -->

**What to avoid:**
<!-- TODO: e.g. no fetch in components; no ad-hoc URLs; use shared client -->

---

## State management

**What we do:**
<!-- TODO: e.g. React state + Context, Zustand, Redux, URL state, etc. -->

**Where it lives (file paths):**
<!-- TODO: e.g. src/store/, contexts/, hooks/ -->

**What to avoid:**
<!-- TODO: e.g. no global state for local UI; no duplicate sources of truth -->

---

## Forms

**What we do:**
<!-- TODO: e.g. React Hook Form, Formik, native, controlled components, etc. -->

**Where it lives (file paths):**
<!-- TODO: e.g. components/forms/, hooks/useForm*, validation in X -->

**What to avoid:**
<!-- TODO: e.g. don't bypass validation; don't invent field names; use shared schema -->

---

## Styling

**What we do:**
<!-- TODO: e.g. Tailwind, CSS modules, styled-components, design tokens, etc. -->

**Where it lives (file paths):**
<!-- TODO: e.g. tailwind.config, src/styles/, design system package -->

**What to avoid:**
<!-- TODO: e.g. no inline styles for layout; no one-off colors; use tokens -->

---

## Testing

**What we do:**
<!-- TODO: e.g. Jest, Vitest, React Testing Library, Playwright, Cypress, etc. -->

**Where it lives (file paths):**
<!-- TODO: e.g. __tests__/, *.test.tsx, e2e/, vitest.config -->

**What to avoid:**
<!-- TODO: e.g. don't skip tests for new features; don't mock what we own; naming convention X -->

---

## Telemetry conventions

**What we do:**
<!-- TODO: e.g. events, logs, errors to X; naming format; what we never send -->

**Where it lives (file paths):**
<!-- TODO: e.g. lib/analytics, utils/logger, instrumentation -->

**What to avoid:**
<!-- TODO: e.g. no PII in events; no invented event names; check glossary/spec -->

---

## Common pitfalls

**What we do:**
<!-- TODO: brief list of how we stay consistent (e.g. "run lint before commit", "spec before impl") -->

**Where it lives (file paths):**
<!-- TODO: e.g. CONTRIBUTING.md, .eslintrc, docs/ai/ (this folder) -->

**What to avoid:**
<!-- TODO: e.g. don't add deps without Y; don't change APIs without updating Z; don't guess paths—ask -->