Commit Graph
3103 Commits
Author SHA1 Message Date
Eric FennisClaude Opus 5.5github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
831740411f feat(metadata|docs): reusable tag groups with $group: (#5037)
* feat(metadata): reusable tag groups with `$group:`

A `$group:<group-name>` marker in `tags` is replaced in place with the tags of
`groups/<group-name>.json`: a small set of tags for what a variant suffix
means, such as `-minus` → remove, delete.

- Read groups in `readGroups` and resolve markers next to `$extends:`,
  failing on unknown groups and on `$group:` outside `tags`
- Add `group.schema.json` and lint, spell-check and format `groups/*.json`
- `pnpm checkIcons` also fails on literals a group already provides, and
  warns about icons that list a group's tags by hand and unused groups
- Add the `minus`, `plus` and `x` groups and use them in
  `alarm-clock-minus`, `file-minus`, `file-plus` and `file-x`

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fix group checker

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat(metadata): reusable tag groups with `$group:`

A `$group:<group-name>` marker in `tags` is replaced in place with the tags of
`groups/<group-name>.json`: a small set of tags for what a variant suffix
means, such as `-minus` → remove, delete.

- Read groups in `readGroups` and resolve markers next to `$extends:`,
  failing on unknown groups and on `$group:` outside `tags`
- Add `group.schema.json` and lint, spell-check and format `groups/*.json`
- `pnpm checkIcons` also fails on literals a group already provides, and
  warns about icons that list a group's tags by hand and unused groups
- Add the `minus`, `plus` and `x` groups and use them in
  `alarm-clock-minus`, `file-minus`, `file-plus` and `file-x`

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fix group checker

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat(metadata): reusable tag groups with `$group:`

A `$group:<group-name>` marker in `tags` is replaced in place with the tags of
`groups/<group-name>.json`: a small set of tags for what a variant suffix
means, such as `-minus` → remove, delete.

- Read groups in `readGroups` and resolve markers next to `$extends:`,
  failing on unknown groups and on `$group:` outside `tags`
- Add `group.schema.json` and lint, spell-check and format `groups/*.json`
- `pnpm checkIcons` also fails on literals a group already provides, and
  warns about icons that list a group's tags by hand and unused groups
- Add the `minus`, `plus` and `x` groups and use them in
  `alarm-clock-minus`, `file-minus`, `file-plus` and `file-x`

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fix group checker

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat(metadata): reusable tag groups with `$group:`

A `$group:<group-name>` marker in `tags` is replaced in place with the tags of
`groups/<group-name>.json`: a small set of tags for what a variant suffix
means, such as `-minus` → remove, delete.

- Read groups in `readGroups` and resolve markers next to `$extends:`,
  failing on unknown groups and on `$group:` outside `tags`
- Add `group.schema.json` and lint, spell-check and format `groups/*.json`
- `pnpm checkIcons` also fails on literals a group already provides, and
  warns about icons that list a group's tags by hand and unused groups
- Add the `minus`, `plus` and `x` groups and use them in
  `alarm-clock-minus`, `file-minus`, `file-plus` and `file-x`

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fix group checker

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-29 17:29:58 +01:00
Eric FennisClaude Opus 5.5github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
7bf67d3b1c feat(metadata|docs|site): reuse metadata from a base icon with $extends: (#4360)
* feat(metadata): reuse metadata from a base icon with `$extends:`

Icon metadata can reference a base icon with an inline `$extends:<icon-name>`
marker in `tags`, `categories` or `contributors`. The marker is replaced in
place with the base icon's resolved values at build time.

- Resolve markers in `readAllMetadata` and `getIconMetaData`, failing on
  unknown icons, self references and circular chains
- Accept markers in `icon.schema.json`
- `pnpm checkIcons` fails on duplicate markers and on literals a marker
  already provides, and runs in CI
- Docs read the resolved metadata index instead of the raw icon JSON
- Use `$extends:alarm-clock` in `alarm-clock-minus`

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(metadata): reuse metadata from a base icon with `$extends:`

Icon metadata can reference a base icon with an inline `$extends:<icon-name>`
marker in `tags`, `categories` or `contributors`. The marker is replaced in
place with the base icon's resolved values at build time.

- Resolve markers in `readAllMetadata` and `getIconMetaData`, failing on
  unknown icons, self references and circular chains
- Accept markers in `icon.schema.json`
- `pnpm checkIcons` fails on duplicate markers and on literals a marker
  already provides, and runs in CI
- Docs read the resolved metadata index instead of the raw icon JSON
- Use `$extends:alarm-clock` in `alarm-clock-minus`

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fix comments

* Format code

* Update tools/build-helpers/src/resolveMetadataExtends.ts

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix resolving icon metadata

* feat(metadata): reuse metadata from a base icon with `$extends:`

Icon metadata can reference a base icon with an inline `$extends:<icon-name>`
marker in `tags`, `categories` or `contributors`. The marker is replaced in
place with the base icon's resolved values at build time.

- Resolve markers in `readAllMetadata` and `getIconMetaData`, failing on
  unknown icons, self references and circular chains
- Accept markers in `icon.schema.json`
- `pnpm checkIcons` fails on duplicate markers and on literals a marker
  already provides, and runs in CI
- Docs read the resolved metadata index instead of the raw icon JSON
- Use `$extends:alarm-clock` in `alarm-clock-minus`

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fix comments

* Format code

* Update tools/build-helpers/src/resolveMetadataExtends.ts

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix resolving icon metadata

* Fix comments

* Format code

* Update tools/build-helpers/src/resolveMetadataExtends.ts

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-29 17:29:58 +01:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> e2c3360976 chore(deps-dev): bump the testing-deps group across 1 directory with 4 updates (#5116)
Bumps the testing-deps group with 4 updates in the / directory: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8), [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui), [jsdom](https://github.com/jsdom/jsdom) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 5.0.3 to 5.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.5/packages/coverage-v8)

Updates `@vitest/ui` from 5.0.3 to 5.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.5/packages/ui)

Updates `jsdom` from 30.0.1 to 30.1.3
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.3)

Updates `vitest` from 5.0.3 to 5.0.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.5/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-deps
- dependency-name: "@vitest/ui"
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-deps
- dependency-name: jsdom
  dependency-version: 30.1.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing-deps
- dependency-name: vitest
  dependency-version: 5.0.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-29 17:06:38 +01:00
Eric Fennis 5aae256c64 Remove workflows (#5118) 2026-10-29 11:35:20 +01:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> bf346c16ee chore(deps): bump nuxt from 4.5.1 to 4.6.2 (#5068)
Bumps [nuxt](https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt) from 4.5.1 to 4.6.2.
- [Release notes](https://github.com/nuxt/nuxt/releases)
- [Commits](https://github.com/nuxt/nuxt/commits/v4.6.2/packages/nuxt)

---
updated-dependencies:
- dependency-name: nuxt
  dependency-version: 4.6.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-29 11:08:05 +01:00
dependabot[bot]Claude Opus 5.5dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Eric
1668a0c629 chore(deps): bump rollup to 4.65.1 and keep typescript on v6 (#5110)
* chore(deps): bump the build-deps group across 1 directory with 2 updates

Bumps the build-deps group with 2 updates in the / directory: [typescript](https://github.com/microsoft/TypeScript) and [rollup](https://github.com/rollup/rollup).


Updates `typescript` from 6.0.3 to 7.0.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/compare/v6.0.3...v7.0.2)

Updates `rollup` from 4.63.1 to 4.65.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.63.1...v4.65.0)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: build-deps
- dependency-name: rollup
  dependency-version: 4.65.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-deps
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps): keep typescript on v6 and ignore v7 major updates

TypeScript 7 (the native port) ships without the JS compiler API, which
typescript-eslint, rollup-plugin-dts, svelte-package/svelte-check, astro
check, the Angular compiler, vue-tsc and @vue/compiler-sfc all depend on.
Revert typescript to ^6.0.3, keep the rollup bump, and tell dependabot to
skip typescript major updates until the ecosystem supports v7.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric <eric.fennis@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 11:03:15 +01:00
Eric Fennis ab03ab1a6b Turn off claude review (#5109) 2026-10-29 09:22:02 +01:00
Eric FennisandClaude Opus 5.5 ad38dced59 chore(deps): Update deps astro package (#5108)
* Update deps

* chore(deps): use next for solid-js and @solidjs/web in Solid 2 integration

Keeps the integration on the same Solid release as @lucide/solid, so the
two no longer resolve separate solid-js copies sharing one @solidjs/signals,
which broke the declaration typecheck (TS2717 on ServerObserve.trace).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 09:18:03 +01:00
Eric Fennis be09619c1c fix(icons): remove bracket from square-letter-d.svg (#5101) 1.64.0 2026-10-28 14:47:57 +01:00
Eric FennisandClaude Opus 5.5 c2dd25753d ci(claude-review): add Claude PR review workflow (#5097)
* ci: add Claude PR review workflow

Reviews PRs with anthropics/claude-code-action as a cheaper replacement
for Copilot code review. Follows .github/copilot-instructions.md and the
path-scoped .github/instructions/*.instructions.md files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9u8FgzJv6nc3522YdpdHp

* ci(claude-review): use Anthropic API key

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9u8FgzJv6nc3522YdpdHp

* ci(claude-review): authenticate with Workload Identity Federation

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G9u8FgzJv6nc3522YdpdHp

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-28 12:24:31 +01:00
Karsa 573f438efe fix(icons): align Unicode currency icon cap heights with other typographic icons (#4926)
* fix(icons): align Unicode currency icon cap heights with other typographic icons

Also deprecates badge-, receipt- currency variants

* fix(icons): update riyal to be more in line with specifications

Rightmost lines evenly spaced, leftmost path somewhat lower than the currently matching line
2026-10-28 11:55:54 +01:00
KarsaandEric 0f88df55b3 feat(icons): added new Letters & digits category (#5095)
* feat(icons): added letter icons for each uppercase letter of the English alphabet

* feat(icons): extend letter icons with specific use cases instead of generic ones

* feat(icons): replaced letter-z with more grid-aliged version

* feat(icons): add contributors from strikethrough to letter-s

* feat(icons): added square-letter-* & circle-letter-* icons

* feat(icons): manually optimized some icons

* fix(icons): deprecated circle-parking

* Rename import

* fix(icons): fix use case syntax for (circle|square)-letter icons

* fix(icons): added new Letters & digits category

* fix(icons): added numbers to new Letters & digits category

---------

Co-authored-by: Eric <eric.fennis@gmail.com>
2026-10-28 11:55:53 +01:00
KarsaandEric 37e6e46c25 feat(icons): added circle-letter-a, circle-letter-b, circle-letter-c and 46 more icons (#4744)
* feat(icons): added square-letter-* & circle-letter-* icons

* feat(icons): manually optimized some icons

* fix(icons): deprecated circle-parking

* Rename import

* fix(icons): fix use case syntax for (circle|square)-letter icons

* feat(icons): added square-letter-* & circle-letter-* icons

* feat(icons): manually optimized some icons

* fix(icons): deprecated circle-parking

* Rename import

* fix(icons): fix use case syntax for (circle|square)-letter icons

* Fix types

---------

Co-authored-by: Eric <eric.fennis@gmail.com>
2026-10-28 11:55:53 +01:00
KarsaandEric Fennis 2bdfac4382 feat(icons): added numbers icon (#4778)
* Added icons/numbers.svg

* Added icons/numbers.json

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-10-28 10:57:42 +01:00
Karsa 39334ddb07 feat(icons): added letter-b, letter-c, letter-d and 21 more icons (#4743)
* feat(icons): added letter icons for each uppercase letter of the English alphabet

* feat(icons): extend letter icons with specific use cases instead of generic ones

* feat(icons): replaced letter-z with more grid-aliged version

* feat(icons): add contributors from strikethrough to letter-s

* fix(icons): fix use case syntax for letter icons
2026-10-28 10:53:24 +01:00
Kesley DavidandEric Fennis 408cdf7e4c feat(icons): added square-kanban-plus icon (#4688)
* feat(icons): added `square-kanban-plus` icon

Adds square-kanban-plus for issue #4416.
Also updates emoji category icon reference after smile rename.

* chore(icons): expand square-kanban-plus metadata from PR suggestions

Apply curated tags, categories, and use-cases from automated
metadata review suggestions.

* Apply design from @jguddas

* Update contributors and use cases in square-kanban-plus.json

Added new contributors and updated use cases to improve clarity.

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-10-28 09:27:35 +01:00
Eric FennisandClaude Opus 5.5 a37879544c chore(docs|site): Remove Plausible, add tracking events and privacy statement (#5092)
* feat(docs): track homepage, icons page and icon drawer interactions with OpenPanel

Adds track/trackDebounced helpers around the shared OpenPanel instance and
sends events for hero actions, home search, packages, the style customizers,
homepage scroll depth, icon search (start, queries, no results), sort,
Lab library toggle, and the drawer's See in action, copy and studio buttons.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GcWdCmSmcDiiAazR5mNUD

* feat(docs): send homepage scroll depth once on page leave

Instead of one event per milestone, record the deepest scroll position and
send a single home_scroll_depth event (percent + milestone) when the visitor
navigates away, closes the tab, or hides it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GcWdCmSmcDiiAazR5mNUD

* feat(docs): simplify scroll depth tracking to the position on page leave

Drop the max-depth composable and send a single scroll_depth event with the
current scroll percentage before a route change and on visibilitychange,
pagehide and beforeunload, for every page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GcWdCmSmcDiiAazR5mNUD

* refactor(docs): move scroll depth tracking into the OpenPanel utils

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GcWdCmSmcDiiAazR5mNUD

* refactor(docs): move router and browser tracking setup into the OpenPanel utils

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GcWdCmSmcDiiAazR5mNUD

* Add privacy-policy

* adjust text

* Remove plausible

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-28 08:49:32 +01:00
Rodrigo RodriguesandEric Fennis 2ca268e748 feat(icons): added earbuds-off, earbuds icons (#5088)
* Added icons/earbuds.svg

* Added icons/earbuds.json

* Create earbuds-off.json icon schema

Added a JSON schema for earbuds-off icon with use cases, tags, and categories.

* Add earbuds-off.svg icon file

* Update use-cases and fix typo in earbuds-off.json

* Refine use-cases and correct tag spelling

Updated use-cases and tags for clarity and added communication category.

* Update use cases and categories in earbuds-off.json

* Update categories

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
1.63.0
2026-10-27 15:08:12 +01:00
Eric FennisandClaude 555cc952b1 chore(icons): align use-cases with metadata guidelines (#5081)
Rewrite non-empty use-cases in icon metadata to follow
.github/instructions/metadata.instructions.md: start with a capitalized
present participle, no trailing periods, roughly 4-12 words, no first
person, and variant-specific wording instead of copied lines.


Claude-Session: https://claude.ai/code/session_011ftUgp98e8VLgymjSb9qbQ

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-27 14:55:29 +01:00
Eric Fennisgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Karsa
56ad6f3122 feat(icons): added boxes-linked icon (#5087)
* Add box connected icon

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>

* Rename to boxes-linked

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Apply suggestion from @karsa-mistmere

Co-authored-by: Karsa <contact@karsa.org>

* Fix comma

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-27 14:15:48 +01:00
Nitogithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>KarsaEric Fennis
52b1612397 feat(icons): added chart-quadrant icon (#4981)
* feat(icons): added `chart-quadrant` icon

* Update icons/chart-quadrant.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update icons/chart-quadrant.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update icons/chart-quadrant.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chart-quadrant: based on chart-scatter

* review changes

* Update icons/chart-quadrant.svg

Co-authored-by: Karsa <contact@karsa.org>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-27 14:02:17 +01:00
Karsaandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 80ce94b272 fix(icons): renamed archive-restore to archive-arrow-up (#5089)
* fix(icons): renamed archive-restore to archive-arrow-up

* Update icons/archive-arrow-up.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-27 13:57:48 +01:00
Kotaindah55 (Sheva Ihza)github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric FennisKarsa
fa373ecb4e feat(icons): added laser icon (#5023)
* feat(icons): add laser icon with metadata

* Update icons/laser.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Add more use cases and tags

* Update laser icon design

The laser design is according to @karsa-mistmere suggestion.

* Update laser icon design and its metadata

* Remove 'cursors' and 'devices' from categories

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-27 11:43:19 +01:00
PrimeTestLabgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric FennisKarsa
48af002e94 feat(icons): added database-cog icon (#5016)
* feat(icons): added database-cog icon

* add-database-cog-icon

* Update icons/database-cog.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update metadata

* Update database-cog.json

removed redundant tags

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-27 11:22:15 +01:00
DrashtiC07github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric FennisKarsa
549c75bb94 feat(icons): added user-round-shield icon (#5044)
* feat(icons): added user-round-shield icon

* Update icons/user-round-shield.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix(icons): ensure 2px gap to shield modifier and update metadata

* fix(icons): use compound arc for user-round-shield as suggested by maintainer

* fix(metadata): add required use-cases field to user-round-shield.json

* chore(metadata): add suggested use-cases for user-round-shield

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-27 11:00:38 +01:00
Nitogithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric FennisKarsa
a8a0f5ebda feat(icons): added chart-radar icon (#4979)
* feat(icons): added `chart-radar` icon

* Update icons/chart-radar.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update chart-radar.json

* chart-radar: prioritise grid-aligned lines over perfect symmetry

* chart-radar: less dense bottom-right

* Fix missing newline in chart-radar.svg

Add missing newline at the end of the SVG file.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-27 11:00:19 +01:00
Brandon DuffanyandKarsa 535fd88821 feat(icons): added archive-arrow-down icon (#4854)
* feat(icons): copy archive-restore as archive-arrow-down

* feat(icons): reverse archive-arrow-down arrowhead

* feat(icons): widen archive-arrow-down gap to 2px

* feat(icons): add archive-arrow-down metadata

---------

Co-authored-by: Karsa <contact@karsa.org>
2026-10-27 10:46:04 +01:00
Yaswanth Pottiandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> c2122180d2 feat(icons): added square-chevrons-down, square-chevrons-left, square-chevrons-right and 1 more icons (#5054)
* feat: add square-chevrons (up, down, left and right) icons

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-27 10:41:59 +01:00
Xouguigithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric FennisKarsa
59d138796d feat(icons): added siren-off icon (#5046)
* feat(icons): added siren-off icon

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Apply suggestion from @karsa-mistmere

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-27 09:28:34 +01:00
Ricardo Gonzalezandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 7f1f31d71c feat(icons): added calendar-arrow-left, calendar-arrow-right icons (#5080)
* feat(icons): added `calendar-arrow-left` and `calendar-arrow-right` icons

* Update icons/calendar-arrow-left.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update icons/calendar-arrow-right.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat(icons): update `calendar-arrow-left` and `calendar-arrow-right` paths

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-27 08:28:18 +01:00
Mantas Kantautas e8f86fc2d2 fix(lucide-react): ignore stale DynamicIcon loads after the name changes (#5060)
When the name prop changes while the previous icon is still loading, the earlier import could resolve last and overwrite the newer icon, leaving DynamicIcon showing the wrong icon. The effect now ignores results from a superseded name.
2026-10-27 07:45:01 +01:00
Karsagithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric Fennis
03f11e2d6a feat(icons): added azerbaijani-manat icon (#5078)
* Added icons/azerbaijani-manat.svg

* Added icons/azerbaijani-manat.json

* Update azerbaijani-manat.svg

* Apply suggestion from @github-actions[bot]

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1.62.0
2026-10-26 18:10:16 +01:00
roygommergithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric FennisKarsa
6e541c67dd feat(icons): added hot-air-balloon icon (#3830)
* Added icons/hot-air-balloon.svg

* Added icons/hot-air-balloon.json

* Update icons/hot-air-balloon.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update hot-air-balloon.svg

Improved design

* Update hot-air-balloon.svg

* Update design from jamiemlaw and updated

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update hot-air-balloon.json

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-26 18:09:43 +01:00
DrashtiC07github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric FennisKarsa
d6e5686c05 feat(icons): added emirati-dirham icon (#5045)
* feat(icons): added dirham icon

* feat(icons): use letter-d geometry from karsa-mistmere for dirham

* Apply suggestion from @github-actions[bot]

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat(metadata): add full names to dirham tags as requested by maintainer

* fix(metadata): add required use-cases field to dirham.json

* Apply suggestion from @github-actions[bot]

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update and rename dirham.json to emirati-dirham.json

* Rename dirham.svg to emirati-dirham.svg

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-26 18:02:32 +01:00
6e54ecce51 feat(icons): added ball-wave icon (#3706)
* Added icons/water-polo.svg

* Added icons/water-polo.json

* Rename wate-polo to ball-wave

* Add contributors to ball-wave.json

* Update SVG path for ball-wave icon

* Update icons/ball-wave.svg

Co-authored-by: Karsa <contact@karsa.org>

* Add empty 'use-cases' array to ball-wave.json

Added an empty 'use-cases' array to the JSON structure.

* Update ball-wave.json

---------

Co-authored-by: Jakob Guddas <github@jguddas.de>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: Karsa <contact@karsa.org>
2026-10-26 18:02:15 +01:00
Joffre Velozgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric Fennis
e862011895 feat(icons): added hockey-stick icon (#3779)
* Added icons/hockeystick.svg

* Added icons/hockeystick.json

* Update icons/hockeystick.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update hockeystick.svg with new path elements

* Add use-cases field to hockeystick.json

* Update hockeystick.json

* Rename to hockey-stick

* Add contributor 'karsa-mistmere' to hockey-stick.json

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-10-26 17:55:40 +01:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>EricClaude Opus 5.5
6657faa96a chore(deps-dev): bump vite from 8.3.2 to 8.3.3 (#5052)
* chore(deps-dev): bump vite from 8.3.2 to 8.3.3

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.3.2 to 8.3.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.3.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.3.3
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps): bump vite override to ^8.3.3 to dedupe vitest

The vite bump left the root vitest resolved against vite 8.3.2 while
workspace test helpers (jest-dom, testing-library, vitest-browser-*)
linked to a second vitest copy built against vite 8.3.3, breaking
snapshots and jest-dom matcher types.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore(deps-dev): bump vite from 8.3.2 to 8.3.3

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.3.2 to 8.3.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.3.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.3.3
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix lockfile

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric <eric.fennis@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 17:18:25 +01:00
1802f33f6c feat(lucide-react): add package exports for per-icon imports without changing how Node resolves the package (#4822)
* feat(lucide-react): add package exports for per-icon imports without changing how Node resolves the package

Makes `lucide-react/icons/<name>` and `lucide-react/types` public so a
single icon can be imported with a small shared declaration instead of
the 2.2 MB `dist/lucide-react.d.ts`, and without loading the CJS barrel
on the server.

The root entry only lists `module` and `default`, so bundlers keep the
ESM barrel and Node keeps resolving to `dist/cjs/lucide-react.js` as it
does today through `main`. The map reverted in #2814 sent Node to the
ESM barrel, which is what #2743 hit. `./dist/*` keeps existing deep
imports working.

* Modify getting started guide for icon imports

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix(lucide-react): add node, import and require conditions after module and keep the extension-specific and src subpaths exported

Resolvers that are called with a custom condition list drop `module` and fell through to `default`, the CJS bundle; esbuild with `conditions: ['workerd', 'worker']` bundled 1.3 MB instead of the 58 KB tree-shaken output it gets on main. The root and `./icons` entries now list `node`, `import` and `require` after `module`, with `node` ahead of `import` so Node keeps resolving to `dist/cjs/lucide-react.js` for both `import` and `require`.

`lucide-react/dynamic.mjs`, `lucide-react/dynamic.js` and `lucide-react/dynamicIconImports.mjs` are imported by consumers and threw ERR_PACKAGE_PATH_NOT_EXPORTED; they have explicit entries again. The docs API routes import `lucide-react/src/createLucideIcon` and `lucide-react/src/Icon`, which Nitro left as external imports without a `./src/*` entry, so the entry from the 0.470.0 map is back.

* test(lucide-react): resolve the package entry points with Node itself in the React Router fixture

The browser suite resolves lucide-react through Vite, so nothing checked the `exports` map the way a server runtime does. `tests/exports.node.test.ts` runs under `node --test` from the fixture's `check` script and asserts where `import.meta.resolve` and `require.resolve` land for the root, `./icons`, a single icon, the dynamic entries with and without an extension, the `dist/*` passthrough and `package.json`, that `./types` is declaration-only, and that the resolved modules load. Vitest is told to leave that file to Node.

* docs(lucide-react): note that per-icon imports are ESM only

`require()` of `lucide-react/icons/<name>` needs Node.js 20.19 or 22.12; 20.18 throws ERR_REQUIRE_ESM.

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-10-26 11:05:25 +01:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Eric Fennis
05232756c0 chore(deps): bump next from 16.3.8 to 16.4.1 (#5067)
Bumps [next](https://github.com/vercel/next.js) from 16.3.8 to 16.4.1.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Commits](https://github.com/vercel/next.js/compare/v16.3.8...v16.4.1)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.4.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-10-26 08:23:08 +01:00
Eric FennisandClaude Opus 5.5 24e54e847f ci(icon-preview): move icon preview into a composite action on pull_request_target (#5064)
* refactor(ci): move icon preview markup into a composite action

Move generateChangedIconsCommentMarkup.mts into .github/actions/icon-preview
as its own pnpm workspace package, following the suggest-metadata action.
svgson and @lucide/helpers are now real dependencies installed with a
filtered pnpm install, replacing the ad-hoc `npm install svgson --force`.

Paths are resolved from the repo root relative to the script, so it also
works through `pnpm --filter @lucide/icon-preview-action start`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(ci): skip icon preview comment when no icons changed

When a pull request only deletes icons, CHANGED_FILES has no SVGs and the
script printed "No changed icons found" to stdout, which was then posted as
the preview comment.

The script now logs that to stderr. The action writes no markup file and
sets `has-changes=false`, the workflow skips the artifact upload, and the
comment workflow skips its steps when no artifact exists instead of failing
on the missing artifact.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* ci(icon-preview): post the preview comment from a pull_request_target workflow

Like the PR title workflow, the icon preview now runs on pull_request_target
and posts its comment directly, so comment-icon-preview.yml and the
workflow_run artifact hand-off are removed.

The job checks out the base branch and runs the action from there. The
changed SVGs are read from the pull request head with `git fetch` + `git show`
into a temp directory, so no code from the pull request is checked out or run.
File names are checked against `icons/<kebab-case>.svg` before use.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 08:13:27 +01:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b85b55251b chore(deps-dev): bump svelte-check (#5075)
Bumps the svelte-deps group with 1 update: [svelte-check](https://github.com/sveltejs/language-tools).


Updates `svelte-check` from 4.7.6 to 4.7.7
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte-check@4.7.6...svelte-check@4.7.7)

---
updated-dependencies:
- dependency-name: svelte-check
  dependency-version: 4.7.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: svelte-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-26 08:05:50 +01:00
Eric FennisandClaude Opus 5.5 7faf87628a fix(ci): prevent broken and duplicate metadata suggestions (#5065)
* fix(ci): store metadata suggestions in the review instead of actions/cache

pull_request_target runs can't write to the Actions cache ("cache write
denied: token has no writable scopes"), so the cache was never saved and
the model was asked again on every push. That produced new suggestions
anchored on the same lines as earlier ones.

Store the model's suggestions per icon name as hidden JSON in the review
body and read them back from the bot's earlier reviews, so the API is only
called for icons without stored suggestions. This drops the gh api and
actions/cache steps.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSdUq9uFpjuQsoobCBqz4j

* fix(ci): handle earlier metadata suggestion comments on older PRs

- Read values from the oldest comment format too, which doesn't start with
  "Suggested `field`" and was posted without a closing fence; the field
  is taken from the suggestion's `"field": [` line.
- Skip a field while an earlier suggestion for it is still applicable (not
  outdated), so two suggestions never replace overlapping lines.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSdUq9uFpjuQsoobCBqz4j

* fix(ci): read icon metadata at the reviewed commit

The review comments are anchored to the commit that triggered the run,
but the icon JSON was read through the PR files' raw_url, which always
points at the latest head. When a commit was pushed while the action
was running, suggestions were anchored to the wrong lines, e.g. a
use-cases block replacing the "tags": [ line, producing invalid JSON.

Read each file at the reviewed commit instead, default that commit to the
PR's head SHA, and skip files that don't exist at it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSdUq9uFpjuQsoobCBqz4j

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-23 18:50:46 +02:00
Dami Oyeniyiandgrzdev 49161aba73 test(lucide): add tests for replaceElement and edge cases (#5059)
Co-authored-by: grzdev <grzdev@users.noreply.github.com>
2026-10-23 18:19:29 +02:00
Eric FennisandClaude Opus 5.5 1ea91c0b72 ci(metadata-suggestions): run on every PR update with cached suggestions (#5062)
* feat(ci): run metadata suggestions on every PR update with cached results

- Run on opened/reopened/synchronize and queue runs per PR.
- Cache the model's suggestions per icon name with actions/cache, so the
  OpenAI API is only called again for icons that are added or renamed.
- Skip suggestions that were already posted instead of skipping the whole
  PR once it has a review.
- Suggest only the values to append after the last array item instead of
  the whole array; empty and inline arrays still get the full block.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSdUq9uFpjuQsoobCBqz4j

* refactor(ci): key the suggestions cache on the PR's icon names

Replace the separate restore/save steps and the `cache-updated` output
with a single actions/cache step keyed on a hash of the changed icon
files, so the API is only called again when icon names change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSdUq9uFpjuQsoobCBqz4j

* style(ci): drop trailing blank line in suggest-metadata action

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSdUq9uFpjuQsoobCBqz4j

* fix(ci): dedupe metadata suggestions by value instead of comment body

The append-style suggestion includes the array's current last item, so
comparing whole comment bodies reposted the same values after a
contributor added a tag or applied part of a suggestion. Read the values
back from the bot's earlier suggestion blocks per file and field, and
exclude them like the current values.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSdUq9uFpjuQsoobCBqz4j

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-23 18:04:30 +02:00
Eric FennisandClaude 9f20b2b8f9 feat(docs): add OpenPanel analytics alongside Plausible (#5063)
Track page views (initial load + client-side navigations) with the
@openpanel/web SDK, sending to the self-hosted instance at
insights.lucide.dev. This mirrors what the current Plausible script
tracks; Plausible stays in place for the icon popularity script.

Page views are sent from VitePress' onAfterRouteChange hook (after
nextTick) so the page title is already updated. Tracking only runs in
the browser and only when VITE_OPENPANEL_CLIENT_ID is set at build time.

The SDK is bundled from npm instead of loading op1.js, which EasyPrivacy
blocks; insights.lucide.dev/api/track matches no rule in the current
EasyList/EasyPrivacy, uBlock Origin or Brave lists.


Claude-Session: https://claude.ai/code/session_01AZuxmXLjrs29erwQcePCnX

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-23 16:45:49 +02:00
Dami Oyeniyiandgrzdev 9ad51a07f4 fix(build-icons): support Windows paths in dynamic imports for template and metadata (#5058)
Co-authored-by: grzdev <grzdev@users.noreply.github.com>
2026-10-23 16:45:06 +02:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Eric Fennis
9158d44cde chore(deps-dev): bump markdown-it from 15.0.1 to 15.0.3 (#5051)
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 15.0.1 to 15.0.3.
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/15.0.1...15.0.3)

---
updated-dependencies:
- dependency-name: markdown-it
  dependency-version: 15.0.3
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
2026-10-23 16:00:45 +02:00
Eric FennisandClaude Opus 5.5 c32d98db9b ci(metadata-suggestions): Improve suggest metadata action (#5061)
* fix(scripts): keep contributors out of metadata suggestions

The shared metadata instructions include a Contributors section asking to
add the PR author, but the suggestion schema has no contributors field, so
the model leaked it into use-cases. Strip that section from the prompt and
explicitly restrict suggestions to tags, categories and use-cases.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MThCx7cVXV3XWfo5C327Ci

* refactor(ci): move metadata suggestions into a dedicated composite action

Move scripts/suggestMetaData.mts to .github/actions/suggest-metadata and
wrap it in a composite action with explicit inputs. The workflow now uses
the local action; package.json scripts point to the new location.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MThCx7cVXV3XWfo5C327Ci

* chore(ci): add .env.example for testing the suggest-metadata action locally

Document the env vars the script reads, point the debug/watch scripts at
an action-local .env, and fix the USE_FILE_SYSYEM typo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MThCx7cVXV3XWfo5C327Ci

* chore(ci): make .github/actions a pnpm workspace

Add .github/actions/* to the pnpm workspace and give the suggest-metadata
action its own package.json with its dependencies (openai, zod, dotenv,
@octokit/rest). openai, zod and dotenv move out of the root package.json;
@octokit/rest stays there for updateContributors. The workflow now only
installs the action's dependencies, and the root suggest:metadata scripts
delegate to the action package.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MThCx7cVXV3XWfo5C327Ci

* Upgrade to gpt-6-luna

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-23 14:26:48 +02:00
20aef31db9 chore(packages): Update sponsors (#5034)
* feat(scripts): generate README sponsor tiers from Open Collective

updateSponsors.mts now fetches active recurring contributions from the
Open Collective GraphQL API, groups them by tier and rewrites the tier
sections in README.md between new markers, then propagates the block to
the package READMEs as before. Use --skip-fetch to only propagate.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VRsauu8mwJpB9y88vMMQ7n

* Add sponsors

* Remove digital ocean

* Fix capitalization and emoji in TIER_TITLES

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-10-21 11:20:37 +02:00
Yaswanth Pottigithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>Eric Fennis
c29c276f16 feat(icons): added circle-chevrons-down, circle-chevrons-left, circle-chevrons-right and 1 more icons (#5025)
* feat: add circle-double-chevron icons for left, right, up, and down directions

* chore(icons): add relevant suggested tags and use-cases

* Renamed the files from circle-double-chevrons to circle-chevrons

* Apply batched suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix formatting

---------

Co-authored-by: Eric Fennis <eric.fennis@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1.61.0
2026-10-20 09:25:57 +02:00