Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .changeset/mosaic-remove-skill.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
119 changes: 0 additions & 119 deletions .claude/skills/mosaic/SKILL.md

This file was deleted.

19 changes: 19 additions & 0 deletions packages/mosaic/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Read the guide for the task you are doing. Paths below are relative to this pack
| Migrate legacy behavior | [Migration](docs/migration.md) |
| Review migration parity | [Parity audit](docs/parity-audit.md) |
| Add a public prop that shows or hides UI | [Public visibility props](docs/public-props.md) |
| Document a component in Swingset | [Documenting components](docs/documenting-components.md) |
| Prove a change in a browser | [verify-mosaic](.claude/skills/verify-mosaic/SKILL.md) |

## Before editing a file
Expand Down Expand Up @@ -147,6 +148,24 @@ Docs say what the code cannot: rules, reasons, and which tool fits which problem

A PR that adds, renames or changes the signature of a shared helper in `src/hooks/`, `src/utils/`, `src/blocks/`, `src/components/form/` or `src/machine/` updates the table above, and any doc that names it, in the same PR.

## Breaking changes

While `@clerk/mosaic` is on 0.x, a breaking change is a `minor` changeset. Start its body with `**Breaking:**`, then give an old-to-new table and a search that finds affected usage, so an agent can migrate from the changelog alone. The changelog ships in the npm package at `node_modules/@clerk/mosaic/CHANGELOG.md`.

```md
---
'@clerk/mosaic': minor
---

**Breaking:** Rename a `UserButton` prop. Values and defaults are unchanged; TypeScript flags the old name.

| Before | After |
| -------------------- | ------------------ |
| `renderTriggerLabel` | `showTriggerLabel` |

Find usages with `git grep -n renderTriggerLabel`.
```

## Lint

Mosaic uses Oxlint and runs stricter lint rules than the rest of the repo. Lint with `pnpm lint` from `packages/mosaic`.
Expand Down
4 changes: 2 additions & 2 deletions packages/mosaic/docs/migration.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Migrating a component into Mosaic

Migrating a legacy component means taking logic that was fused into one file and
pulling it apart into the model / controller / view layers (see the skill
overview and `packages/mosaic/ARCHITECTURE.md` → "Flow and data architecture").
pulling it apart into the model / controller / view layers (see
`packages/mosaic/ARCHITECTURE.md` → "Flow and data architecture").
`packages/mosaic/src/features/reverification/` is a compact worked example of the
finished shape: model, controller, view, types, messages, wrapper, and a feature test.

Expand Down
2 changes: 1 addition & 1 deletion packages/swingset/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@ These require reading several files together; the `README.md` covers the step-by

## Documenting Mosaic components

Before adding a component page or restructuring a story or MDX page, read the house style in `.claude/skills/mosaic/references/documenting-components.md`: layers, `meta` conventions, each archetype's required section order, and the finishing checklist.
Before adding a component page or restructuring a story or MDX page, read the house style in `packages/mosaic/docs/documenting-components.md`: layers, `meta` conventions, each archetype's required section order, and the finishing checklist.
Loading