From d23bdebd681d8b7bca1c322258314aab686bcb72 Mon Sep 17 00:00:00 2001 From: "dgesteves-release[bot]" <343266878+dgesteves-release[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 23:04:38 +0000 Subject: [PATCH] chore: release --- .changeset/design-md-one-line-rows.md | 5 ----- .changeset/layered-configs.md | 13 ------------- CHANGELOG.md | 18 ++++++++++++++++++ package.json | 2 +- plugins/onsystem-agent/mcp.json | 2 +- plugins/onsystem-agent/plugin.json | 2 +- .../onsystem-cursor/.cursor-plugin/plugin.json | 2 +- plugins/onsystem-cursor/mcp.json | 2 +- plugins/onsystem/.claude-plugin/plugin.json | 2 +- plugins/onsystem/.mcp.json | 2 +- plugins/onsystem/hooks/check-ui.mjs | 2 +- server.json | 4 ++-- 12 files changed, 28 insertions(+), 28 deletions(-) delete mode 100644 .changeset/design-md-one-line-rows.md delete mode 100644 .changeset/layered-configs.md diff --git a/.changeset/design-md-one-line-rows.md b/.changeset/design-md-one-line-rows.md deleted file mode 100644 index 2f2a6269..00000000 --- a/.changeset/design-md-one-line-rows.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'onsystem': patch ---- - -`onsystem export --format design-md` keeps each table row on one line. A token whose comment or value the stylesheet wraps over several lines, such as a two-part `--shadow-lg`, broke its row: GitHub showed the rest of it as a code block and every later row in that table as a paragraph. The lines are now joined with spaces. diff --git a/.changeset/layered-configs.md b/.changeset/layered-configs.md deleted file mode 100644 index 46ffcbde..00000000 --- a/.changeset/layered-configs.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -'onsystem': minor ---- - -An app's own config builds on the config its design-system package declares, instead of replacing it. What the app's config leaves out comes from the package's, unless it sets `components` of its own: `components`, with the package's `importPath`, `docs`, `elements`, `tokens` and `libraries`. A config that sets `components` reads its tokens as before: without `tokens`, from the app's own stylesheet (`app/globals.css`) and the ones it imports. Its `rules` apply over the package's, rule by rule, either way, and, with the package's components, its `elements` element by element; the package's `exclude` patterns are added to the app's; its `overrides`, `tsconfig` and `includeDesignSystem` are its own. Before, an app config that only turned one rule to `"warn"` lost the package's components and color tokens: in an app that installs the package, `check` said `No design system found` and passed. `inspect` names both configs (`config onsystem.config.json, over node_modules/@acme/ui/onsystem.config.json (declared by @acme/ui)`). `"extends": false` in the app's config reads it alone, as before. This can change what `check` reports in an app with a config of its own whose dependency declares one: it now gets the package's rules where its config leaves them out, and the package's components and tokens when it sets no `components` of its own. A workspace package whose `"onsystem"` field cannot be read is a warning in such an app, which then reads its own config alone, and still an error in an app without one. - -A monorepo root's config builds on a project's design-system package config the same way in `check` and `inspect` from the root, so its `rules` and `overrides` apply to every project without a config of its own. Before, the config a project's design-system package declared took their place, without a word. From the project's folder, the root's config is still not read. - -`init --force` in an app on such a package, without a config or with one whose `components` match no file outside the package, writes a config with only `$schema`, for the app's own rules and overrides, and keeps the package's components, `importPath`, tokens and rules. Before, it wrote the package's paths into the app's config, or a config that lost the package's components. In an app whose config names components of its own, it writes them again, as before. - -`init` in an app whose design system zero config reads from an installed package leaves `components` and `tokens` to zero config. It wrote paths into the package's folder, which pnpm names by version (`node_modules/.pnpm/@acme+ui@1.0.0_react@19.0.0/node_modules/@acme/ui/…`), so after an upgrade `check` failed with `Token file not found`, and the component files it listed matched nothing. - -In a design-system package whose `files` leave out its component sources, `init` says that apps installing it read its components from the type declarations it publishes, when its `package.json` names some. It said they get no component checks, which holds only without type declarations. diff --git a/CHANGELOG.md b/CHANGELOG.md index 56f49b3e..91732b83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # onsystem (formerly @dgesteves/design-system-mcp) +## 0.10.0 + +### Minor Changes + +- [#202](https://github.com/dgesteves/onsystem/pull/202) [`3798fb7`](https://github.com/dgesteves/onsystem/commit/3798fb7268410ca455aee0333867ef2f67a39373) - An app's own config builds on the config its design-system package declares, instead of replacing it. What the app's config leaves out comes from the package's, unless it sets `components` of its own: `components`, with the package's `importPath`, `docs`, `elements`, `tokens` and `libraries`. A config that sets `components` reads its tokens as before: without `tokens`, from the app's own stylesheet (`app/globals.css`) and the ones it imports. Its `rules` apply over the package's, rule by rule, either way, and, with the package's components, its `elements` element by element; the package's `exclude` patterns are added to the app's; its `overrides`, `tsconfig` and `includeDesignSystem` are its own. Before, an app config that only turned one rule to `"warn"` lost the package's components and color tokens: in an app that installs the package, `check` said `No design system found` and passed. `inspect` names both configs (`config onsystem.config.json, over node_modules/@acme/ui/onsystem.config.json (declared by @acme/ui)`). `"extends": false` in the app's config reads it alone, as before. This can change what `check` reports in an app with a config of its own whose dependency declares one: it now gets the package's rules where its config leaves them out, and the package's components and tokens when it sets no `components` of its own. A workspace package whose `"onsystem"` field cannot be read is a warning in such an app, which then reads its own config alone, and still an error in an app without one. + + A monorepo root's config builds on a project's design-system package config the same way in `check` and `inspect` from the root, so its `rules` and `overrides` apply to every project without a config of its own. Before, the config a project's design-system package declared took their place, without a word. From the project's folder, the root's config is still not read. + + `init --force` in an app on such a package, without a config or with one whose `components` match no file outside the package, writes a config with only `$schema`, for the app's own rules and overrides, and keeps the package's components, `importPath`, tokens and rules. Before, it wrote the package's paths into the app's config, or a config that lost the package's components. In an app whose config names components of its own, it writes them again, as before. + + `init` in an app whose design system zero config reads from an installed package leaves `components` and `tokens` to zero config. It wrote paths into the package's folder, which pnpm names by version (`node_modules/.pnpm/@acme+ui@1.0.0_react@19.0.0/node_modules/@acme/ui/…`), so after an upgrade `check` failed with `Token file not found`, and the component files it listed matched nothing. + + In a design-system package whose `files` leave out its component sources, `init` says that apps installing it read its components from the type declarations it publishes, when its `package.json` names some. It said they get no component checks, which holds only without type declarations. + +### Patch Changes + +- [#237](https://github.com/dgesteves/onsystem/pull/237) [`5a10990`](https://github.com/dgesteves/onsystem/commit/5a10990f76aa04c5a94576be042751b7b4156571) - `onsystem export --format design-md` keeps each table row on one line. A token whose comment or value the stylesheet wraps over several lines, such as a two-part `--shadow-lg`, broke its row: GitHub showed the rest of it as a code block and every later row in that table as a paragraph. The lines are now joined with spaces. + ## 0.9.1 ### Patch Changes diff --git a/package.json b/package.json index 3aa5f9d8..7a2aaffe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "onsystem", - "version": "0.9.1", + "version": "0.10.0", "mcpName": "io.github.dgesteves/onsystem", "description": "Keeps coding agents on your design system: catches palette colors, native elements and APIs your system lacks, at every edit and pull request, with the fix. Set it up once in your design-system package; every app in your monorepo gets it.", "keywords": [ diff --git a/plugins/onsystem-agent/mcp.json b/plugins/onsystem-agent/mcp.json index 2f5366af..6886256d 100644 --- a/plugins/onsystem-agent/mcp.json +++ b/plugins/onsystem-agent/mcp.json @@ -4,7 +4,7 @@ "onsystem": { "type": "stdio", "command": "npx", - "args": ["-y", "onsystem@0.9.1"] + "args": ["-y", "onsystem@0.10.0"] } } } diff --git a/plugins/onsystem-agent/plugin.json b/plugins/onsystem-agent/plugin.json index 213b55ae..1cffa27a 100644 --- a/plugins/onsystem-agent/plugin.json +++ b/plugins/onsystem-agent/plugin.json @@ -1,7 +1,7 @@ { "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", "name": "onsystem", - "version": "0.9.1", + "version": "0.10.0", "description": "Keeps coding agents on your design system: catches palette colors, native elements and APIs your system lacks, at every edit and pull request, with the fix. Set it up once in your design-system package; every app in your monorepo gets it.", "author": { "name": "Diogo Esteves", diff --git a/plugins/onsystem-cursor/.cursor-plugin/plugin.json b/plugins/onsystem-cursor/.cursor-plugin/plugin.json index c05003df..fc598550 100644 --- a/plugins/onsystem-cursor/.cursor-plugin/plugin.json +++ b/plugins/onsystem-cursor/.cursor-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "onsystem", "displayName": "onsystem", - "version": "0.9.1", + "version": "0.10.0", "description": "Keeps coding agents on your design system: catches palette colors, native elements and APIs your system lacks, at every edit and pull request, with the fix. Set it up once in your design-system package; every app in your monorepo gets it.", "author": { "name": "Diogo Esteves" diff --git a/plugins/onsystem-cursor/mcp.json b/plugins/onsystem-cursor/mcp.json index b926f589..d014b402 100644 --- a/plugins/onsystem-cursor/mcp.json +++ b/plugins/onsystem-cursor/mcp.json @@ -2,7 +2,7 @@ "mcpServers": { "onsystem": { "command": "npx", - "args": ["-y", "onsystem@0.9.1"] + "args": ["-y", "onsystem@0.10.0"] } } } diff --git a/plugins/onsystem/.claude-plugin/plugin.json b/plugins/onsystem/.claude-plugin/plugin.json index ee916338..b855dcb7 100644 --- a/plugins/onsystem/.claude-plugin/plugin.json +++ b/plugins/onsystem/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "onsystem", "displayName": "onsystem", - "version": "0.9.1", + "version": "0.10.0", "description": "Keeps coding agents on your design system: catches palette colors, native elements and APIs your system lacks, at every edit and pull request, with the fix. Set it up once in your design-system package; every app in your monorepo gets it.", "author": { "name": "Diogo Esteves", diff --git a/plugins/onsystem/.mcp.json b/plugins/onsystem/.mcp.json index b926f589..d014b402 100644 --- a/plugins/onsystem/.mcp.json +++ b/plugins/onsystem/.mcp.json @@ -2,7 +2,7 @@ "mcpServers": { "onsystem": { "command": "npx", - "args": ["-y", "onsystem@0.9.1"] + "args": ["-y", "onsystem@0.10.0"] } } } diff --git a/plugins/onsystem/hooks/check-ui.mjs b/plugins/onsystem/hooks/check-ui.mjs index 8e7cc934..62fc725c 100644 --- a/plugins/onsystem/hooks/check-ui.mjs +++ b/plugins/onsystem/hooks/check-ui.mjs @@ -61,7 +61,7 @@ import path from 'node:path'; const PACKAGE = 'onsystem'; // The exact release this plugin runs; scripts/sync-versions.mjs sets it with each release. -const VERSION = '0.9.1'; +const VERSION = '0.10.0'; const UI_FILE = /\.[jt]sx$/i; const MAX_FINDINGS = 30; // Both runs together, within the 60 seconds hooks.json gives the hook. Tests shorten it. diff --git a/server.json b/server.json index c9a7d893..2801784f 100644 --- a/server.json +++ b/server.json @@ -20,12 +20,12 @@ "sizes": ["180x180"] } ], - "version": "0.9.1", + "version": "0.10.0", "packages": [ { "registryType": "npm", "identifier": "onsystem", - "version": "0.9.1", + "version": "0.10.0", "transport": { "type": "stdio" }