{"owner":"microsoft","repo":"fluentui-system-icons","hasSkills":true,"totalSkillsCount":5,"totalTokensCount":2762,"categories":["root-instruction","copilot-instructions","mcp-config","marketplace","plugin-manifest"],"hasMcp":true,"mcpConfig":{"mcpServers":{"fluentui-system-icons":{"command":"npx","args":["-y","@modelcontextprotocol/server-fluentui-system-icons"]}}},"found":["AGENTS.md",".github/copilot-instructions.md",".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json"],"skills":{"AGENTS.md":"<!-- nx configuration start-->\n<!-- Leave the start & end comments to automatically receive updates. -->\n\n# General Guidelines for working with Nx\n\n- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly\n- You have access to the Nx MCP server and its tools, use them to help the user\n- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable.\n- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies\n- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration\n- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors\n\n<!-- nx configuration end-->\n",".github/copilot-instructions.md":"# AI Assistant Project Guide: Fluent UI System Icons\n\nPurpose: Enable rapid, correct contributions across multi-platform icon packages (web React, React Native, SVG assets/sprites, Android, iOS, Flutter) generated from a single `assets/` source.\n\n## Core Architecture\n\n- Targeted package instructions: see `./react-icons.instructions.md` (auto-applies when working inside `packages/react-icons`).\n- Source of truth: Raw SVG design assets in `assets/` (folder names = icon groups). Each icon has metadata (directionality handled via RTL processing scripts) and fixed primary fill `#212121` (validation enforced in CI).\n- Generated outputs per platform:\n  - React web: `@fluentui/react-icons` → JSX components + optional font implementation. Build pipeline: asset -> optimized SVG (`intermediate/`) -> component TS in `src/` -> compiled output in `lib/` (ESM) & `lib-cjs/` (CJS) + `fonts/` bundle + merged `metadata.json`.\n  - React Native: Similar SVG -> `intermediate/` -> RN components in `src/`; styling more limited (no Griffel styling utilities).\n  - Plain SVG package: `@fluentui/svg-icons` emits optimized renamed raw SVGs in `packages/svg-icons/icons/` following `[name]_[size]_[style].svg`.\n  - Sprites: `@fluentui/svg-sprites` converts single SVGs to per-icon sprite files: `<icon>.sprite.svg` for on-demand `<use href=\"/sprites/{id}.sprite.svg#id\" />` consumption.\n  - Fonts: Generated via `importer/generateFont.js` (Regular/Filled/Light/Resizable) feeding React font condition and Flutter/iOS/Android.\n  - Native (Android/iOS/Flutter): Produced by `importer` deployment scripts (`deploy:android`, `deploy:ios`, `deploy:flutter`) which transform assets into vector drawables / PDF assets / Dart classes.\n\n## Key Workflows (Local)\n\n- Install deps (root + packages): `corepack enable && yarn install --immutable` at repo root (yarn 4, `nodeLinker: node-modules`; npm/pnpm are NOT configured).\n- React icons build (full): `yarn nx run react-icons:build`. Quick validation only: `yarn nx run react-icons:build-verify` (output assets and metadata checks).\n- React Native icons build: `yarn workspace @fluentui/react-native-icons build`.\n- SVG raw assets: `yarn workspace @fluentui/svg-icons build`.\n- Sprites: `yarn workspace @fluentui/svg-sprites build`.\n- Importer operations (multi-platform generation & version bumps): `cd importer && yarn deploy:android|deploy:ios|deploy:fonts`.\n- Clean React icons intermediates: `yarn clean` in each package (removes generated `lib*` and `intermediate/`). Avoid manual deletion to keep scripts deterministic.\n- Package scripts must invoke root-owned binaries as `yarn run -T <bin>` — yarn puts no `node_modules/.bin` on `PATH`. See [Single Version Policy](../docs/single-version-policy.md).\n\n## CI Expectations / Pitfalls\n\n- PR validation (`.github/workflows/pr.yml`) enforces: (1) asset folder names not ending with space; (2) all non-color SVGs include `fill=\"#212121\"` (except `*_color.svg` which are skipped). Maintain fill when editing SVGs; use scripts (`optimize`, `unfill`) instead of hand-edits.\n- React build job runs `lint`, full `build`, and `build-verify`; keep TypeScript version constraints (TS ~4.1) when adding language features.\n- iOS/Android build jobs rely on importer output; ensure importer scripts still produce expected file layout when modifying generation logic.\n\n## Conventions & Patterns\n\n- Icon naming (React / RN): `AccessTimeFilled` (state suffix) and sized variants `AccessTime24Filled`. General (resizable) variant without size preferred for flexible UI.\n- Plain SVG file naming: lowercase + underscores from original asset folder; pattern: `mail_24_filled.svg`.\n- Sprite consumption id pattern: `{name}_{size}_{style}` (mirrors SVG file stem) reused inside `#symbol` id.\n- Directionality: `rtlMetadata.js` generates `intermediate/rtl.json`; keep this in sync when adding new directional icons. Metadata merging occurs via `convert:merge-metadata`.\n- Fonts: Four iconType variants (Regular/Filled/Light/Resizable). New styles require updating font generation pipeline (all `generate:font-*` scripts and metadata merge).\n- Export map (`packages/react-icons/package.json` `exports`) uses conditional `fluentIconFont`; when adjusting build output paths, update both `lib` and `lib-cjs` mappings consistently.\n- React styling: Components accept `primaryFill`, `className`; compound icon pattern uses `bundleIcon(Filled, Regular)` plus `iconFilledClassName` / `iconRegularClassName` for state toggling.\n\n## Typical Change Flow (Add / Update Icons)\n\n1. Add raw SVG(s) to appropriate new/existing folder in `assets/` (ensure fill `#212121`).\n2. Let CI validate fills & builds.\n\n**Optional**\n\n> **NOTE:** currently this should not happen as `assets` it no perceived as `nx` project thus changing its contents wont trigger affected builds.\n\nIf React pipelines failed you will probably need to update metadata.json and test snapshot to reflect new assets addition.\n\n- Run `yarn nx run react-icons:build` to regenerate outputs and update snapshots.\n- Run `yarn nx run react-icons:build-verify -u` to update snapshots.\n- Commit generated outputs (generated code is tracked—do not manually edit `lib/` outputs; edit sources or generation scripts instead).\n\n## When Modifying Generators\n\n- Prefer changes inside `importer/` scripts (e.g., `generate.js`, `generateFont.js`) to altering per-package build steps; keep script flags consistent (`--source`, `--dest`, `--extension`, `--target`, `--iconType`).\n- After script changes, rebuild at least one consumer package to ensure no path/flag regressions.\n\n## Platform-Specific Notes\n\n- React Native: Limited styling (no Griffel). Avoid introducing DOM-specific props.\n- iOS: Enum-based access (`UIImage(fluent: .appStore24Filled)`); asset stripping tool in `ios/remove-unused-fluent-icons` must still find & parse asset names—keep naming stable.\n- Android: Vector drawable tint placeholder replaced (`@color/fluent_default_icon_tint`) during finalize step; avoid hardcoding other colors.\n- Flutter: Icon classes generated from font codepoint JSON; if glyph sets change, regenerate fonts first then Flutter classes.\n\n## Safe Extensions / Additions\n\n- New icon style variant: add generation script, extend metadata merge, update exports if needed.\n- New distribution format (e.g., consolidated sprite index): create new package under `packages/` and reuse `importer/generate.js` with new flags.\n\n## Avoid\n\n- Manual edits to generated `lib/`, `lib-cjs/`, `icons/`, `sprites/` files.\n- Upgrading TypeScript/Babel broadly without verifying downstream package constraints & CI.\n- Introducing SVG fills other than `#212121` (unless \\*\\_color.svg purposefully multi-colored).\n\n## Quick Validation Checklist Before PR\n\n- Builds succeed for changed packages.\n- No asset directories with trailing spaces.\n- All new SVGs pass fill rule.\n- React icons `build-verify` passes.\n- Metadata (`metadata.json`) updated if generation logic changed.\n\n## Releases\n\nFor comprehensive release documentation, including versioning strategy, workflow details, and troubleshooting, see [Release Process Documentation](../docs/releases.md).\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.claude-plugin/plugin.json)"},"files":{"AGENTS.md":"<!-- nx configuration start-->\n<!-- Leave the start & end comments to automatically receive updates. -->\n\n# General Guidelines for working with Nx\n\n- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly\n- You have access to the Nx MCP server and its tools, use them to help the user\n- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable.\n- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies\n- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration\n- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors\n\n<!-- nx configuration end-->\n",".github/copilot-instructions.md":"# AI Assistant Project Guide: Fluent UI System Icons\n\nPurpose: Enable rapid, correct contributions across multi-platform icon packages (web React, React Native, SVG assets/sprites, Android, iOS, Flutter) generated from a single `assets/` source.\n\n## Core Architecture\n\n- Targeted package instructions: see `./react-icons.instructions.md` (auto-applies when working inside `packages/react-icons`).\n- Source of truth: Raw SVG design assets in `assets/` (folder names = icon groups). Each icon has metadata (directionality handled via RTL processing scripts) and fixed primary fill `#212121` (validation enforced in CI).\n- Generated outputs per platform:\n  - React web: `@fluentui/react-icons` → JSX components + optional font implementation. Build pipeline: asset -> optimized SVG (`intermediate/`) -> component TS in `src/` -> compiled output in `lib/` (ESM) & `lib-cjs/` (CJS) + `fonts/` bundle + merged `metadata.json`.\n  - React Native: Similar SVG -> `intermediate/` -> RN components in `src/`; styling more limited (no Griffel styling utilities).\n  - Plain SVG package: `@fluentui/svg-icons` emits optimized renamed raw SVGs in `packages/svg-icons/icons/` following `[name]_[size]_[style].svg`.\n  - Sprites: `@fluentui/svg-sprites` converts single SVGs to per-icon sprite files: `<icon>.sprite.svg` for on-demand `<use href=\"/sprites/{id}.sprite.svg#id\" />` consumption.\n  - Fonts: Generated via `importer/generateFont.js` (Regular/Filled/Light/Resizable) feeding React font condition and Flutter/iOS/Android.\n  - Native (Android/iOS/Flutter): Produced by `importer` deployment scripts (`deploy:android`, `deploy:ios`, `deploy:flutter`) which transform assets into vector drawables / PDF assets / Dart classes.\n\n## Key Workflows (Local)\n\n- Install deps (root + packages): `corepack enable && yarn install --immutable` at repo root (yarn 4, `nodeLinker: node-modules`; npm/pnpm are NOT configured).\n- React icons build (full): `yarn nx run react-icons:build`. Quick validation only: `yarn nx run react-icons:build-verify` (output assets and metadata checks).\n- React Native icons build: `yarn workspace @fluentui/react-native-icons build`.\n- SVG raw assets: `yarn workspace @fluentui/svg-icons build`.\n- Sprites: `yarn workspace @fluentui/svg-sprites build`.\n- Importer operations (multi-platform generation & version bumps): `cd importer && yarn deploy:android|deploy:ios|deploy:fonts`.\n- Clean React icons intermediates: `yarn clean` in each package (removes generated `lib*` and `intermediate/`). Avoid manual deletion to keep scripts deterministic.\n- Package scripts must invoke root-owned binaries as `yarn run -T <bin>` — yarn puts no `node_modules/.bin` on `PATH`. See [Single Version Policy](../docs/single-version-policy.md).\n\n## CI Expectations / Pitfalls\n\n- PR validation (`.github/workflows/pr.yml`) enforces: (1) asset folder names not ending with space; (2) all non-color SVGs include `fill=\"#212121\"` (except `*_color.svg` which are skipped). Maintain fill when editing SVGs; use scripts (`optimize`, `unfill`) instead of hand-edits.\n- React build job runs `lint`, full `build`, and `build-verify`; keep TypeScript version constraints (TS ~4.1) when adding language features.\n- iOS/Android build jobs rely on importer output; ensure importer scripts still produce expected file layout when modifying generation logic.\n\n## Conventions & Patterns\n\n- Icon naming (React / RN): `AccessTimeFilled` (state suffix) and sized variants `AccessTime24Filled`. General (resizable) variant without size preferred for flexible UI.\n- Plain SVG file naming: lowercase + underscores from original asset folder; pattern: `mail_24_filled.svg`.\n- Sprite consumption id pattern: `{name}_{size}_{style}` (mirrors SVG file stem) reused inside `#symbol` id.\n- Directionality: `rtlMetadata.js` generates `intermediate/rtl.json`; keep this in sync when adding new directional icons. Metadata merging occurs via `convert:merge-metadata`.\n- Fonts: Four iconType variants (Regular/Filled/Light/Resizable). New styles require updating font generation pipeline (all `generate:font-*` scripts and metadata merge).\n- Export map (`packages/react-icons/package.json` `exports`) uses conditional `fluentIconFont`; when adjusting build output paths, update both `lib` and `lib-cjs` mappings consistently.\n- React styling: Components accept `primaryFill`, `className`; compound icon pattern uses `bundleIcon(Filled, Regular)` plus `iconFilledClassName` / `iconRegularClassName` for state toggling.\n\n## Typical Change Flow (Add / Update Icons)\n\n1. Add raw SVG(s) to appropriate new/existing folder in `assets/` (ensure fill `#212121`).\n2. Let CI validate fills & builds.\n\n**Optional**\n\n> **NOTE:** currently this should not happen as `assets` it no perceived as `nx` project thus changing its contents wont trigger affected builds.\n\nIf React pipelines failed you will probably need to update metadata.json and test snapshot to reflect new assets addition.\n\n- Run `yarn nx run react-icons:build` to regenerate outputs and update snapshots.\n- Run `yarn nx run react-icons:build-verify -u` to update snapshots.\n- Commit generated outputs (generated code is tracked—do not manually edit `lib/` outputs; edit sources or generation scripts instead).\n\n## When Modifying Generators\n\n- Prefer changes inside `importer/` scripts (e.g., `generate.js`, `generateFont.js`) to altering per-package build steps; keep script flags consistent (`--source`, `--dest`, `--extension`, `--target`, `--iconType`).\n- After script changes, rebuild at least one consumer package to ensure no path/flag regressions.\n\n## Platform-Specific Notes\n\n- React Native: Limited styling (no Griffel). Avoid introducing DOM-specific props.\n- iOS: Enum-based access (`UIImage(fluent: .appStore24Filled)`); asset stripping tool in `ios/remove-unused-fluent-icons` must still find & parse asset names—keep naming stable.\n- Android: Vector drawable tint placeholder replaced (`@color/fluent_default_icon_tint`) during finalize step; avoid hardcoding other colors.\n- Flutter: Icon classes generated from font codepoint JSON; if glyph sets change, regenerate fonts first then Flutter classes.\n\n## Safe Extensions / Additions\n\n- New icon style variant: add generation script, extend metadata merge, update exports if needed.\n- New distribution format (e.g., consolidated sprite index): create new package under `packages/` and reuse `importer/generate.js` with new flags.\n\n## Avoid\n\n- Manual edits to generated `lib/`, `lib-cjs/`, `icons/`, `sprites/` files.\n- Upgrading TypeScript/Babel broadly without verifying downstream package constraints & CI.\n- Introducing SVG fills other than `#212121` (unless \\*\\_color.svg purposefully multi-colored).\n\n## Quick Validation Checklist Before PR\n\n- Builds succeed for changed packages.\n- No asset directories with trailing spaces.\n- All new SVGs pass fill rule.\n- React icons `build-verify` passes.\n- Metadata (`metadata.json`) updated if generation logic changed.\n\n## Releases\n\nFor comprehensive release documentation, including versioning strategy, workflow details, and troubleshooting, see [Release Process Documentation](../docs/releases.md).\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.claude-plugin/plugin.json)"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"<!-- nx configuration start-->\n<!-- Leave the start & end comments to automatically receive updates. -->\n\n# General Guidelines for working with Nx\n\n- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly\n- You have access to the Nx MCP server and its tools, use them to help the user\n- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable.\n- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies\n- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration\n- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors\n\n<!-- nx configuration end-->\n","isInternal":false,"tokens":229,"sizeBytes":1089},{"name":"copilot-instructions.md","path":".github/copilot-instructions.md","rawUrl":"https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.github/copilot-instructions.md","title":"GitHub Copilot Instructions","category":"copilot-instructions","format":"markdown","content":"# AI Assistant Project Guide: Fluent UI System Icons\n\nPurpose: Enable rapid, correct contributions across multi-platform icon packages (web React, React Native, SVG assets/sprites, Android, iOS, Flutter) generated from a single `assets/` source.\n\n## Core Architecture\n\n- Targeted package instructions: see `./react-icons.instructions.md` (auto-applies when working inside `packages/react-icons`).\n- Source of truth: Raw SVG design assets in `assets/` (folder names = icon groups). Each icon has metadata (directionality handled via RTL processing scripts) and fixed primary fill `#212121` (validation enforced in CI).\n- Generated outputs per platform:\n  - React web: `@fluentui/react-icons` → JSX components + optional font implementation. Build pipeline: asset -> optimized SVG (`intermediate/`) -> component TS in `src/` -> compiled output in `lib/` (ESM) & `lib-cjs/` (CJS) + `fonts/` bundle + merged `metadata.json`.\n  - React Native: Similar SVG -> `intermediate/` -> RN components in `src/`; styling more limited (no Griffel styling utilities).\n  - Plain SVG package: `@fluentui/svg-icons` emits optimized renamed raw SVGs in `packages/svg-icons/icons/` following `[name]_[size]_[style].svg`.\n  - Sprites: `@fluentui/svg-sprites` converts single SVGs to per-icon sprite files: `<icon>.sprite.svg` for on-demand `<use href=\"/sprites/{id}.sprite.svg#id\" />` consumption.\n  - Fonts: Generated via `importer/generateFont.js` (Regular/Filled/Light/Resizable) feeding React font condition and Flutter/iOS/Android.\n  - Native (Android/iOS/Flutter): Produced by `importer` deployment scripts (`deploy:android`, `deploy:ios`, `deploy:flutter`) which transform assets into vector drawables / PDF assets / Dart classes.\n\n## Key Workflows (Local)\n\n- Install deps (root + packages): `corepack enable && yarn install --immutable` at repo root (yarn 4, `nodeLinker: node-modules`; npm/pnpm are NOT configured).\n- React icons build (full): `yarn nx run react-icons:build`. Quick validation only: `yarn nx run react-icons:build-verify` (output assets and metadata checks).\n- React Native icons build: `yarn workspace @fluentui/react-native-icons build`.\n- SVG raw assets: `yarn workspace @fluentui/svg-icons build`.\n- Sprites: `yarn workspace @fluentui/svg-sprites build`.\n- Importer operations (multi-platform generation & version bumps): `cd importer && yarn deploy:android|deploy:ios|deploy:fonts`.\n- Clean React icons intermediates: `yarn clean` in each package (removes generated `lib*` and `intermediate/`). Avoid manual deletion to keep scripts deterministic.\n- Package scripts must invoke root-owned binaries as `yarn run -T <bin>` — yarn puts no `node_modules/.bin` on `PATH`. See [Single Version Policy](../docs/single-version-policy.md).\n\n## CI Expectations / Pitfalls\n\n- PR validation (`.github/workflows/pr.yml`) enforces: (1) asset folder names not ending with space; (2) all non-color SVGs include `fill=\"#212121\"` (except `*_color.svg` which are skipped). Maintain fill when editing SVGs; use scripts (`optimize`, `unfill`) instead of hand-edits.\n- React build job runs `lint`, full `build`, and `build-verify`; keep TypeScript version constraints (TS ~4.1) when adding language features.\n- iOS/Android build jobs rely on importer output; ensure importer scripts still produce expected file layout when modifying generation logic.\n\n## Conventions & Patterns\n\n- Icon naming (React / RN): `AccessTimeFilled` (state suffix) and sized variants `AccessTime24Filled`. General (resizable) variant without size preferred for flexible UI.\n- Plain SVG file naming: lowercase + underscores from original asset folder; pattern: `mail_24_filled.svg`.\n- Sprite consumption id pattern: `{name}_{size}_{style}` (mirrors SVG file stem) reused inside `#symbol` id.\n- Directionality: `rtlMetadata.js` generates `intermediate/rtl.json`; keep this in sync when adding new directional icons. Metadata merging occurs via `convert:merge-metadata`.\n- Fonts: Four iconType variants (Regular/Filled/Light/Resizable). New styles require updating font generation pipeline (all `generate:font-*` scripts and metadata merge).\n- Export map (`packages/react-icons/package.json` `exports`) uses conditional `fluentIconFont`; when adjusting build output paths, update both `lib` and `lib-cjs` mappings consistently.\n- React styling: Components accept `primaryFill`, `className`; compound icon pattern uses `bundleIcon(Filled, Regular)` plus `iconFilledClassName` / `iconRegularClassName` for state toggling.\n\n## Typical Change Flow (Add / Update Icons)\n\n1. Add raw SVG(s) to appropriate new/existing folder in `assets/` (ensure fill `#212121`).\n2. Let CI validate fills & builds.\n\n**Optional**\n\n> **NOTE:** currently this should not happen as `assets` it no perceived as `nx` project thus changing its contents wont trigger affected builds.\n\nIf React pipelines failed you will probably need to update metadata.json and test snapshot to reflect new assets addition.\n\n- Run `yarn nx run react-icons:build` to regenerate outputs and update snapshots.\n- Run `yarn nx run react-icons:build-verify -u` to update snapshots.\n- Commit generated outputs (generated code is tracked—do not manually edit `lib/` outputs; edit sources or generation scripts instead).\n\n## When Modifying Generators\n\n- Prefer changes inside `importer/` scripts (e.g., `generate.js`, `generateFont.js`) to altering per-package build steps; keep script flags consistent (`--source`, `--dest`, `--extension`, `--target`, `--iconType`).\n- After script changes, rebuild at least one consumer package to ensure no path/flag regressions.\n\n## Platform-Specific Notes\n\n- React Native: Limited styling (no Griffel). Avoid introducing DOM-specific props.\n- iOS: Enum-based access (`UIImage(fluent: .appStore24Filled)`); asset stripping tool in `ios/remove-unused-fluent-icons` must still find & parse asset names—keep naming stable.\n- Android: Vector drawable tint placeholder replaced (`@color/fluent_default_icon_tint`) during finalize step; avoid hardcoding other colors.\n- Flutter: Icon classes generated from font codepoint JSON; if glyph sets change, regenerate fonts first then Flutter classes.\n\n## Safe Extensions / Additions\n\n- New icon style variant: add generation script, extend metadata merge, update exports if needed.\n- New distribution format (e.g., consolidated sprite index): create new package under `packages/` and reuse `importer/generate.js` with new flags.\n\n## Avoid\n\n- Manual edits to generated `lib/`, `lib-cjs/`, `icons/`, `sprites/` files.\n- Upgrading TypeScript/Babel broadly without verifying downstream package constraints & CI.\n- Introducing SVG fills other than `#212121` (unless \\*\\_color.svg purposefully multi-colored).\n\n## Quick Validation Checklist Before PR\n\n- Builds succeed for changed packages.\n- No asset directories with trailing spaces.\n- All new SVGs pass fill rule.\n- React icons `build-verify` passes.\n- Metadata (`metadata.json`) updated if generation logic changed.\n\n## Releases\n\nFor comprehensive release documentation, including versioning strategy, workflow details, and troubleshooting, see [Release Process Documentation](../docs/releases.md).\n","isInternal":false,"tokens":1633,"sizeBytes":7132},{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":210},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":196},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":189}],"systemPromptSnippet":"<yakaai_skills repo=\"microsoft/fluentui-system-icons\">\n<!-- File: AGENTS.md (Tokens: ~229 | Category: root-instruction) -->\n<!-- nx configuration start-->\n<!-- Leave the start & end comments to automatically receive updates. -->\n\n# General Guidelines for working with Nx\n\n- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly\n- You have access to the Nx MCP server and its tools, use them to help the user\n- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable.\n- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies\n- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration\n- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors\n\n<!-- nx configuration end-->\n\n<!-- File: .github/copilot-instructions.md (Tokens: ~1633 | Category: copilot-instructions) -->\n# AI Assistant Project Guide: Fluent UI System Icons\n\nPurpose: Enable rapid, correct contributions across multi-platform icon packages (web React, React Native, SVG assets/sprites, Android, iOS, Flutter) generated from a single `assets/` source.\n\n## Core Architecture\n\n- Targeted package instructions: see `./react-icons.instructions.md` (auto-applies when working inside `packages/react-icons`).\n- Source of truth: Raw SVG design assets in `assets/` (folder names = icon groups). Each icon has metadata (directionality handled via RTL processing scripts) and fixed primary fill `#212121` (validation enforced in CI).\n- Generated outputs per platform:\n  - React web: `@fluentui/react-icons` → JSX components + optional font implementation. Build pipeline: asset -> optimized SVG (`intermediate/`) -> component TS in `src/` -> compiled output in `lib/` (ESM) & `lib-cjs/` (CJS) + `fonts/` bundle + merged `metadata.json`.\n  - React Native: Similar SVG -> `intermediate/` -> RN components in `src/`; styling more limited (no Griffel styling utilities).\n  - Plain SVG package: `@fluentui/svg-icons` emits optimized renamed raw SVGs in `packages/svg-icons/icons/` following `[name]_[size]_[style].svg`.\n  - Sprites: `@fluentui/svg-sprites` converts single SVGs to per-icon sprite files: `<icon>.sprite.svg` for on-demand `<use href=\"/sprites/{id}.sprite.svg#id\" />` consumption.\n  - Fonts: Generated via `importer/generateFont.js` (Regular/Filled/Light/Resizable) feeding React font condition and Flutter/iOS/Android.\n  - Native (Android/iOS/Flutter): Produced by `importer` deployment scripts (`deploy:android`, `deploy:ios`, `deploy:flutter`) which transform assets into vector drawables / PDF assets / Dart classes.\n\n## Key Workflows (Local)\n\n- Install deps (root + packages): `corepack enable && yarn install --immutable` at repo root (yarn 4, `nodeLinker: node-modules`; npm/pnpm are NOT configured).\n- React icons build (full): `yarn nx run react-icons:build`. Quick validation only: `yarn nx run react-icons:build-verify` (output assets and metadata checks).\n- React Native icons build: `yarn workspace @fluentui/react-native-icons build`.\n- SVG raw assets: `yarn workspace @fluentui/svg-icons build`.\n- Sprites: `yarn workspace @fluentui/svg-sprites build`.\n- Importer operations (multi-platform generation & version bumps): `cd importer && yarn deploy:android|deploy:ios|deploy:fonts`.\n- Clean React icons intermediates: `yarn clean` in each package (removes generated `lib*` and `intermediate/`). Avoid manual deletion to keep scripts deterministic.\n- Package scripts must invoke root-owned binaries as `yarn run -T <bin>` — yarn puts no `node_modules/.bin` on `PATH`. See [Single Version Policy](../docs/single-version-policy.md).\n\n## CI Expectations / Pitfalls\n\n- PR validation (`.github/workflows/pr.yml`) enforces: (1) asset folder names not ending with space; (2) all non-color SVGs include `fill=\"#212121\"` (except `*_color.svg` which are skipped). Maintain fill when editing SVGs; use scripts (`optimize`, `unfill`) instead of hand-edits.\n- React build job runs `lint`, full `build`, and `build-verify`; keep TypeScript version constraints (TS ~4.1) when adding language features.\n- iOS/Android build jobs rely on importer output; ensure importer scripts still produce expected file layout when modifying generation logic.\n\n## Conventions & Patterns\n\n- Icon naming (React / RN): `AccessTimeFilled` (state suffix) and sized variants `AccessTime24Filled`. General (resizable) variant without size preferred for flexible UI.\n- Plain SVG file naming: lowercase + underscores from original asset folder; pattern: `mail_24_filled.svg`.\n- Sprite consumption id pattern: `{name}_{size}_{style}` (mirrors SVG file stem) reused inside `#symbol` id.\n- Directionality: `rtlMetadata.js` generates `intermediate/rtl.json`; keep this in sync when adding new directional icons. Metadata merging occurs via `convert:merge-metadata`.\n- Fonts: Four iconType variants (Regular/Filled/Light/Resizable). New styles require updating font generation pipeline (all `generate:font-*` scripts and metadata merge).\n- Export map (`packages/react-icons/package.json` `exports`) uses conditional `fluentIconFont`; when adjusting build output paths, update both `lib` and `lib-cjs` mappings consistently.\n- React styling: Components accept `primaryFill`, `className`; compound icon pattern uses `bundleIcon(Filled, Regular)` plus `iconFilledClassName` / `iconRegularClassName` for state toggling.\n\n## Typical Change Flow (Add / Update Icons)\n\n1. Add raw SVG(s) to appropriate new/existing folder in `assets/` (ensure fill `#212121`).\n2. Let CI validate fills & builds.\n\n**Optional**\n\n> **NOTE:** currently this should not happen as `assets` it no perceived as `nx` project thus changing its contents wont trigger affected builds.\n\nIf React pipelines failed you will probably need to update metadata.json and test snapshot to reflect new assets addition.\n\n- Run `yarn nx run react-icons:build` to regenerate outputs and update snapshots.\n- Run `yarn nx run react-icons:build-verify -u` to update snapshots.\n- Commit generated outputs (generated code is tracked—do not manually edit `lib/` outputs; edit sources or generation scripts instead).\n\n## When Modifying Generators\n\n- Prefer changes inside `importer/` scripts (e.g., `generate.js`, `generateFont.js`) to altering per-package build steps; keep script flags consistent (`--source`, `--dest`, `--extension`, `--target`, `--iconType`).\n- After script changes, rebuild at least one consumer package to ensure no path/flag regressions.\n\n## Platform-Specific Notes\n\n- React Native: Limited styling (no Griffel). Avoid introducing DOM-specific props.\n- iOS: Enum-based access (`UIImage(fluent: .appStore24Filled)`); asset stripping tool in `ios/remove-unused-fluent-icons` must still find & parse asset names—keep naming stable.\n- Android: Vector drawable tint placeholder replaced (`@color/fluent_default_icon_tint`) during finalize step; avoid hardcoding other colors.\n- Flutter: Icon classes generated from font codepoint JSON; if glyph sets change, regenerate fonts first then Flutter classes.\n\n## Safe Extensions / Additions\n\n- New icon style variant: add generation script, extend metadata merge, update exports if needed.\n- New distribution format (e.g., consolidated sprite index): create new package under `packages/` and reuse `importer/generate.js` with new flags.\n\n## Avoid\n\n- Manual edits to generated `lib/`, `lib-cjs/`, `icons/`, `sprites/` files.\n- Upgrading TypeScript/Babel broadly without verifying downstream package constraints & CI.\n- Introducing SVG fills other than `#212121` (unless \\*\\_color.svg purposefully multi-colored).\n\n## Quick Validation Checklist Before PR\n\n- Builds succeed for changed packages.\n- No asset directories with trailing spaces.\n- All new SVGs pass fill rule.\n- React icons `build-verify` passes.\n- Metadata (`metadata.json`) updated if generation logic changed.\n\n## Releases\n\nFor comprehensive release documentation, including versioning strategy, workflow details, and troubleshooting, see [Release Process Documentation](../docs/releases.md).\n\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/microsoft/fluentui-system-icons/HEAD/.cursor/mcp.json)\n</yakaai_skills>"}