{"owner":"mui","repo":"mui-x","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md","CLAUDE.md"],"skills":{"AGENTS.md":"# Project guidelines\n\nCheck `AGENTS.local.md` for personal preferences.\n\n## Linting and formatting\n\n### Linting\n\n```bash\npnpm eslint\npnpm eslint:fix # Auto-fix issues\n```\n\n### Formatting\n\n```bash\npnpm prettier # Format changed files (compared to master)\npnpm prettier:all # Format all files\n```\n\n### Other Linters\n\n```bash\npnpm stylelint # when editing CSS/style files\npnpm generate:exports # when editing code in `packages/x-charts*`\n```\n\n## Testing\n\n### Run unit tests in jsdom\n\n```bash\n# Filter by project name (glob patterns supported)\n# --run flag = run tests once and exit\npnpm test:unit --project \"x-data-grid\" --run # exact match\npnpm test:unit --project \"x-charts*\" --run # starts with\npnpm test:unit --project \"*-pro\" --run # ends with\n```\n\n### Run unit tests in the browser\n\n```bash\n# Filter by project name (glob patterns supported)\n# --run flag = run tests once and exit\npnpm test:browser --project \"x-data-grid\" --run # exact match\npnpm test:browser --project \"x-charts*\" --run # starts with\npnpm test:browser --project \"*-pro\" --run # ends with\n```\n\n### Writing new unit tests\n\n#### Ensuring a test only runs in a specific environment\n\n- Use `it.skipIf(isJSDOM)` to skip when running unit tests\n- Use `it.skipIf(!isJSDOM)` to run only in browser mode.\n\n## TypeScript\n\n```bash\n# Using pnpm filter\npnpm --filter \"@mui/x-data-grid\" run typescript # single package\npnpm --filter \"@mui/x-data-grid*\" run typescript # glob pattern (all data-grid packages)\npnpm --filter \"@mui/x-charts*\" run typescript # all charts packages\npnpm typescript # typecheck the entire monorepo\n```\n\n## Components documentation\n\nWhen editing React components or TypeScript types/interfaces in the `packages` folder, run the following script after you're done with the changes:\n\n```bash\npnpm proptypes # generate PropTypes\npnpm docs:api # generate/update the API documentation\n```\n\n## Error Messages\n\nThese guidelines only apply for errors thrown from public packages.\n\nEvery error message must:\n\n1. **Say what happened** - Describe the problem clearly\n2. **Say why it's a problem** - Explain the consequence\n3. **Point toward how to solve it** - Give actionable guidance\n\nFormat:\n\n- Prefix with `MUI X:` (for internal or generic packages) and `MUI X PackageName:` (for example, `MUI X Charts:` or `MUI X Data Grid:`) for specific packages\n- Use string concatenation for readability\n- Include a documentation link when applicable (`https://mui.com/x/...`)\n\nExample:\n\n```tsx\nthrow new Error(\n  `MUI X Charts: The series configuration is missing a required serializer.\nThis prevents the chart from identifying series items correctly.\nEnsure each series type registers its serializer in the seriesConfig.`,\n);\n```\n\n### Error Minifier\n\nUse the `/* minify-error-disabled */` comment to de-activate the babel plugin for small error messages:\n\n```tsx\nthrow /* minify-error-disabled */ new Error(`MUI X: Unreachable`);\n```\n\nThe minifier works with both `Error` and `TypeError` constructors.\n\n### After Adding/Updating Errors\n\nRun `pnpm extract-error-codes` to update `docs/public/static/error-codes.json`.\n\n**Important:** If the update created a new error code, but the new and original message have the same number of arguments and semantics haven't changed, update the original error in `error-codes.json` instead of creating a new code.\n\n## Dependencies\n\n- Examples (`examples/`) are standalone projects — never use `catalog:` for their dependencies. Always use explicit version ranges.\n\n## Other scripts\n\nRefer to `package.json` for other available scripts.\n\n## Docs\n\n### Updating docs demos\n\nWhen updating demos in the `docs` folder, only update the `.tsx` files.\nTo generate `.js` files, run `pnpm docs:typescript:formatted`.\nAfter updating the demo, run `pnpm eslint` and `pnpm valelint` to ensure the markdown files are valid. Fix the found issues.\n\n## Codemods\n\nCodemods are run by consumers of the MUI X libraries to migrate to newer versions of the libraries.\n\nWhen adding a new codemod, make sure to also document it in the `packages/x-codemod/README.md` following existing examples.\nYou also need to create or expand the `preset-safe` preset to include the new codemod, document the preset in the `README.md` and also include the newly added changes to the `preset-safe` test.\n\n### Versioning\n\nWhen creating codemods, the code should be created in the directory of the target version. E.g., a codemod to migrate from v8 to v9 should be placed inside the `v9.0.0` directory.\n\n### Writing codemods\n\nWhen writing codemods, first check in the `src/util` folder of the `x-codemod` package if there are any utilities that can help you.\n","CLAUDE.md":"# Project guidelines\n\nRefer to @AGENTS.md\n"},"files":{"AGENTS.md":"# Project guidelines\n\nCheck `AGENTS.local.md` for personal preferences.\n\n## Linting and formatting\n\n### Linting\n\n```bash\npnpm eslint\npnpm eslint:fix # Auto-fix issues\n```\n\n### Formatting\n\n```bash\npnpm prettier # Format changed files (compared to master)\npnpm prettier:all # Format all files\n```\n\n### Other Linters\n\n```bash\npnpm stylelint # when editing CSS/style files\npnpm generate:exports # when editing code in `packages/x-charts*`\n```\n\n## Testing\n\n### Run unit tests in jsdom\n\n```bash\n# Filter by project name (glob patterns supported)\n# --run flag = run tests once and exit\npnpm test:unit --project \"x-data-grid\" --run # exact match\npnpm test:unit --project \"x-charts*\" --run # starts with\npnpm test:unit --project \"*-pro\" --run # ends with\n```\n\n### Run unit tests in the browser\n\n```bash\n# Filter by project name (glob patterns supported)\n# --run flag = run tests once and exit\npnpm test:browser --project \"x-data-grid\" --run # exact match\npnpm test:browser --project \"x-charts*\" --run # starts with\npnpm test:browser --project \"*-pro\" --run # ends with\n```\n\n### Writing new unit tests\n\n#### Ensuring a test only runs in a specific environment\n\n- Use `it.skipIf(isJSDOM)` to skip when running unit tests\n- Use `it.skipIf(!isJSDOM)` to run only in browser mode.\n\n## TypeScript\n\n```bash\n# Using pnpm filter\npnpm --filter \"@mui/x-data-grid\" run typescript # single package\npnpm --filter \"@mui/x-data-grid*\" run typescript # glob pattern (all data-grid packages)\npnpm --filter \"@mui/x-charts*\" run typescript # all charts packages\npnpm typescript # typecheck the entire monorepo\n```\n\n## Components documentation\n\nWhen editing React components or TypeScript types/interfaces in the `packages` folder, run the following script after you're done with the changes:\n\n```bash\npnpm proptypes # generate PropTypes\npnpm docs:api # generate/update the API documentation\n```\n\n## Error Messages\n\nThese guidelines only apply for errors thrown from public packages.\n\nEvery error message must:\n\n1. **Say what happened** - Describe the problem clearly\n2. **Say why it's a problem** - Explain the consequence\n3. **Point toward how to solve it** - Give actionable guidance\n\nFormat:\n\n- Prefix with `MUI X:` (for internal or generic packages) and `MUI X PackageName:` (for example, `MUI X Charts:` or `MUI X Data Grid:`) for specific packages\n- Use string concatenation for readability\n- Include a documentation link when applicable (`https://mui.com/x/...`)\n\nExample:\n\n```tsx\nthrow new Error(\n  `MUI X Charts: The series configuration is missing a required serializer.\nThis prevents the chart from identifying series items correctly.\nEnsure each series type registers its serializer in the seriesConfig.`,\n);\n```\n\n### Error Minifier\n\nUse the `/* minify-error-disabled */` comment to de-activate the babel plugin for small error messages:\n\n```tsx\nthrow /* minify-error-disabled */ new Error(`MUI X: Unreachable`);\n```\n\nThe minifier works with both `Error` and `TypeError` constructors.\n\n### After Adding/Updating Errors\n\nRun `pnpm extract-error-codes` to update `docs/public/static/error-codes.json`.\n\n**Important:** If the update created a new error code, but the new and original message have the same number of arguments and semantics haven't changed, update the original error in `error-codes.json` instead of creating a new code.\n\n## Dependencies\n\n- Examples (`examples/`) are standalone projects — never use `catalog:` for their dependencies. Always use explicit version ranges.\n\n## Other scripts\n\nRefer to `package.json` for other available scripts.\n\n## Docs\n\n### Updating docs demos\n\nWhen updating demos in the `docs` folder, only update the `.tsx` files.\nTo generate `.js` files, run `pnpm docs:typescript:formatted`.\nAfter updating the demo, run `pnpm eslint` and `pnpm valelint` to ensure the markdown files are valid. Fix the found issues.\n\n## Codemods\n\nCodemods are run by consumers of the MUI X libraries to migrate to newer versions of the libraries.\n\nWhen adding a new codemod, make sure to also document it in the `packages/x-codemod/README.md` following existing examples.\nYou also need to create or expand the `preset-safe` preset to include the new codemod, document the preset in the `README.md` and also include the newly added changes to the `preset-safe` test.\n\n### Versioning\n\nWhen creating codemods, the code should be created in the directory of the target version. E.g., a codemod to migrate from v8 to v9 should be placed inside the `v9.0.0` directory.\n\n### Writing codemods\n\nWhen writing codemods, first check in the `src/util` folder of the `x-codemod` package if there are any utilities that can help you.\n","CLAUDE.md":"# Project guidelines\n\nRefer to @AGENTS.md\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# Project guidelines\n\nCheck `AGENTS.local.md` for personal preferences.\n\n## Linting and formatting\n\n### Linting\n\n```bash\npnpm eslint\npnpm eslint:fix # Auto-fix issues\n```\n\n### Formatting\n\n```bash\npnpm prettier # Format changed files (compared to master)\npnpm prettier:all # Format all files\n```\n\n### Other Linters\n\n```bash\npnpm stylelint # when editing CSS/style files\npnpm generate:exports # when editing code in `packages/x-charts*`\n```\n\n## Testing\n\n### Run unit tests in jsdom\n\n```bash\n# Filter by project name (glob patterns supported)\n# --run flag = run tests once and exit\npnpm test:unit --project \"x-data-grid\" --run # exact match\npnpm test:unit --project \"x-charts*\" --run # starts with\npnpm test:unit --project \"*-pro\" --run # ends with\n```\n\n### Run unit tests in the browser\n\n```bash\n# Filter by project name (glob patterns supported)\n# --run flag = run tests once and exit\npnpm test:browser --project \"x-data-grid\" --run # exact match\npnpm test:browser --project \"x-charts*\" --run # starts with\npnpm test:browser --project \"*-pro\" --run # ends with\n```\n\n### Writing new unit tests\n\n#### Ensuring a test only runs in a specific environment\n\n- Use `it.skipIf(isJSDOM)` to skip when running unit tests\n- Use `it.skipIf(!isJSDOM)` to run only in browser mode.\n\n## TypeScript\n\n```bash\n# Using pnpm filter\npnpm --filter \"@mui/x-data-grid\" run typescript # single package\npnpm --filter \"@mui/x-data-grid*\" run typescript # glob pattern (all data-grid packages)\npnpm --filter \"@mui/x-charts*\" run typescript # all charts packages\npnpm typescript # typecheck the entire monorepo\n```\n\n## Components documentation\n\nWhen editing React components or TypeScript types/interfaces in the `packages` folder, run the following script after you're done with the changes:\n\n```bash\npnpm proptypes # generate PropTypes\npnpm docs:api # generate/update the API documentation\n```\n\n## Error Messages\n\nThese guidelines only apply for errors thrown from public packages.\n\nEvery error message must:\n\n1. **Say what happened** - Describe the problem clearly\n2. **Say why it's a problem** - Explain the consequence\n3. **Point toward how to solve it** - Give actionable guidance\n\nFormat:\n\n- Prefix with `MUI X:` (for internal or generic packages) and `MUI X PackageName:` (for example, `MUI X Charts:` or `MUI X Data Grid:`) for specific packages\n- Use string concatenation for readability\n- Include a documentation link when applicable (`https://mui.com/x/...`)\n\nExample:\n\n```tsx\nthrow new Error(\n  `MUI X Charts: The series configuration is missing a required serializer.\nThis prevents the chart from identifying series items correctly.\nEnsure each series type registers its serializer in the seriesConfig.`,\n);\n```\n\n### Error Minifier\n\nUse the `/* minify-error-disabled */` comment to de-activate the babel plugin for small error messages:\n\n```tsx\nthrow /* minify-error-disabled */ new Error(`MUI X: Unreachable`);\n```\n\nThe minifier works with both `Error` and `TypeError` constructors.\n\n### After Adding/Updating Errors\n\nRun `pnpm extract-error-codes` to update `docs/public/static/error-codes.json`.\n\n**Important:** If the update created a new error code, but the new and original message have the same number of arguments and semantics haven't changed, update the original error in `error-codes.json` instead of creating a new code.\n\n## Dependencies\n\n- Examples (`examples/`) are standalone projects — never use `catalog:` for their dependencies. Always use explicit version ranges.\n\n## Other scripts\n\nRefer to `package.json` for other available scripts.\n\n## Docs\n\n### Updating docs demos\n\nWhen updating demos in the `docs` folder, only update the `.tsx` files.\nTo generate `.js` files, run `pnpm docs:typescript:formatted`.\nAfter updating the demo, run `pnpm eslint` and `pnpm valelint` to ensure the markdown files are valid. Fix the found issues.\n\n## Codemods\n\nCodemods are run by consumers of the MUI X libraries to migrate to newer versions of the libraries.\n\nWhen adding a new codemod, make sure to also document it in the `packages/x-codemod/README.md` following existing examples.\nYou also need to create or expand the `preset-safe` preset to include the new codemod, document the preset in the `README.md` and also include the newly added changes to the `preset-safe` test.\n\n### Versioning\n\nWhen creating codemods, the code should be created in the directory of the target version. E.g., a codemod to migrate from v8 to v9 should be placed inside the `v9.0.0` directory.\n\n### Writing codemods\n\nWhen writing codemods, first check in the `src/util` folder of the `x-codemod` package if there are any utilities that can help you.\n","category":"root","tokens":1155},{"name":"CLAUDE.md","path":"CLAUDE.md","title":"CLAUDE.md","content":"# Project guidelines\n\nRefer to @AGENTS.md\n","category":"root","tokens":11}]}