# Registry Consumer Changelog

A running list of changes to the Aavya registry that affect **downstream projects that already
consume it**. This is the migration record the `aavya-registry` Claude Code skill will check a
consuming repo against (see [consuming-the-registry.md](./consuming-the-registry.md)).

**How to read it** — each entry is tagged:

- **🔴 Adopt now** — consumer action required; something breaks or silently degrades until you do it.
- **⚪ Informational** — portal-side improvement; no action needed in consuming projects.

Newest first. Every registry PR that changes the manifest, item names, dependencies, or the
install/consume contract must append an entry here.

> **Planned:** serve this file as a GET endpoint (like `/api/registry/markdown`) and have the
> skill fetch it to flag needed migrations in a consuming repo automatically.

---

## 2026-09-09 — `aavya-header` unregistered · 🔴 Adopt now

`@aavya/aavya-header` has been removed from the registry. It was never actually installable: it
pulled in the portal's own command palette, whose search index is hardwired to this portal's nav
config, registry catalog, and theme presets — so a consumer would have received a ⌘K palette
listing Aavya brand portal pages. It also renders `SidebarTrigger`, which throws
`useSidebar must be used within a SidebarProvider` unless the consumer happens to provide that
context.

**What to do:** if you installed `@aavya/aavya-header`, the copied file stays in your project and
keeps working — nothing is removed from your repo. Future installs will 404. Use
`@aavya/aavya-header-center` or `@aavya/aavya-header-nav-breadcrumb`, or compose your own header
from the primitives.

---

## 2026-09-09 — Theme ships as `cssVars` instead of a `globals.css` file · ⚪ Informational

`@aavya/theme` previously wrote `globals.css` to a hardcoded `app/globals.css` target. It now
ships shadcn `cssVars` + `css`, which the CLI **merges into whichever file your
`components.json` declares** under `tailwind.css`.

**Why it matters:** the fixed target was wrong for any project not using the App Router — a Vite
app got a stray `app/globals.css` that nothing imported, so components rendered unstyled with no
error. Merging also means your existing CSS file is no longer overwritten on install.

**What to do:** nothing. Re-running `npx shadcn@latest add @aavya/theme` picks up the new form.

---

## 2026-09-09 — New item: `@aavya/supabase-client` · ⚪ Informational

`profile-dropdown` imported `@/lib/supabase/client` without shipping or declaring it, so it
installed with a dangling import. The client is now its own item and a declared dependency of
`profile-dropdown`.

**What to do:** nothing new — reinstall `@aavya/profile-dropdown` to pick up the client if you
had patched around the missing file.

---

## 2026-09-09 — `registryDependencies` backfilled across 23 items · 🔴 Adopt now

23 items declared incomplete or no `registryDependencies` and installed with broken imports.
`ui-sidebar` was the worst case: it shipped `sidebar.tsx` alone while importing six other
primitives plus `use-mobile`. All are now declared, and `ui-sidebar` ships `hooks/use-mobile.ts`.

**What to do:** reinstall any of these if you saw unresolved imports after installing them:
`ui-sidebar`, `ui-alert-dialog`, `ui-button-group`, `ui-calendar`, `ui-carousel`, `ui-chart`,
`ui-command`, `ui-field`, `ui-form`, `ui-input-group`, `ui-item`, `ui-pagination`,
`ui-toggle-group`, `ui-bounce-button`, `ui-magnetic-button`, `ui-ripple-button`,
`ui-motion-tabs`, `ui-motion-tooltip`, `ui-multi-select`, `aavya-theme-toggle`,
`aavya-header-center`, `aavya-header-nav-breadcrumb`, `profile-dropdown`.

---

## 2026-06-17 — `@aavya` namespace for registry dependencies · 🔴 Adopt now

Branded blocks and layouts now declare their dependencies with the `@aavya/*` namespace
(e.g. `@aavya/ui-button`, `@aavya/ui-avatar`) instead of bare shadcn names.

**Why it matters:** bare dependency names resolve against the *default* shadcn registry, so a
consumer installing a branded block (e.g. `profile-dropdown`, `aavya-header`) would get **stock
shadcn primitives inside a branded block** instead of the Aavya versions.

**What to do:** add the namespace to your project's `components.json`, then reinstall affected
blocks:

```json
"registries": { "@aavya": "https://brand.aavya.com/r/{name}.json" }
```

Full setup: [consuming-the-registry.md](./consuming-the-registry.md).

---

## 2026-06-17 — Registry credibility fixes · ⚪ Informational

- **Manifest `homepage`** corrected from `http://localhost:3000` to `https://brand.aavya.com`.
  Only matters if your tooling reads `homepage` from the manifest; no install change.
- **Usage snippets** on item pages and the markdown export now use the correct import
  (named vs default) with no file extension. If you copied an old snippet, re-copy — but this
  doesn't change any installed component.
- **Registry index** now shows each item's `status` (ga/beta/alpha) and `version` as badges.
  Portal-only; no consumer impact.
