Mono-repository for the MUI organization with code that can be public.
See https://github.com/mui/mui-private for code that needs to be private.
You can read the Infra documentation here.
- URL: frontend-public.mui.com
- Source:
/apps/code-infra-dashboard/ - Hosting: https://dashboard.render.com/web/srv-d5fq2j0gjchc73e9st5g
- Docs
- URL: mui-internal.netlify.app
- Source:
/docs/ - Hosting: https://app.netlify.com/projects/mui-internal/overview
- Docs
- Website for MUI internal packages, for example, hosts docs-infra. This is equivalent to https://backoffice.mui.com/ but for public logic.
- Source:
/packages/docs-infra/ - Docs
- Source:
/packages/code-infra/ - Docs
This repo ships agent skills under skills/ (for example, mui-triage). Install them into a repo's agent skills directory with the skills CLI:
npx skills add mui/mui-public --skill mui-triageNotes:
- Omit
--skill <name>to install every skill this repo ships. - Add
-gto install into the global agent directory, or--copywhere symlinks aren't supported (for example, Windows). When a coding agent is detected, the install runs non-interactively.
To refresh installed skills later (npx skills add copies the content into your repo):
npx skills updateIn Claude Code, you can install them as a plugin instead, which tracks master without copying files into your repo. Run this inside the repo where you want the skills:
claude plugin marketplace add mui/mui-public
claude plugin install code-infra@mui-public --scope localThe skills are then available as /code-infra:<skill> (for example, /code-infra:mui-renovate-triage). They're enabled only for you and only in that repo: --scope local records this in .claude/settings.local.json, which isn't committed. Use --scope user to enable them in every repo instead. To stay on the latest master, enable auto-update for the mui-public marketplace under /plugin → Marketplaces, or run claude plugin update code-infra@mui-public.
To enable the skills for everyone who works in a repo, use --scope project, which writes to the committed .claude/settings.json. Also add the marketplace there, so Claude Code knows where to install the plugin from for teammates who haven't added it:
{
"extraKnownMarketplaces": {
"mui-public": {
"source": { "source": "github", "repo": "mui/mui-public" }
}
},
"enabledPlugins": {
"code-infra@mui-public": true
}
}Use mui-renovate-triage to fetch a deterministic snapshot of open Renovate PRs and review them one at a time. For each PR, it shows a summary and link, asks whether to merge or continue when CI passes, and runs mui-renovate-fix when CI fails. Follow-up requests continue through the original snapshot without a persistent queue. Request read-only review to skip fixes.
Use mui-renovate-fix when you want to implement a dependency-related fix or migration identified during triage, such as an API adaptation, peer dependency mismatch, or reproducible failure caused by an update. It picks the best adaptation first, then opens a source-only draft PR when that fix works with both dependency versions. Otherwise, it updates a single-dependency Renovate PR or extracts the culprit bump and adaptation from a grouped PR into a new draft PR. You can also invoke it directly with a Renovate PR URL; it diagnoses the issue first.
For example, ask the agent to "Use mui-renovate-triage to review the open Renovate PRs", then respond with "merge" or "continue" as it presents each passing PR. Visual approval alone, external-service failures, and unrelated flaky tests do not call for a dependency fix.
Steps:
- Checkout latest master
- Run
pnpm release:prepare - Run
pnpm release:version - Open PR with the changes
Steps:
- Merge versioning PR
- Checkout release commit on master
- Run
pnpm release:prepare - Run
pnpm release:publish