- Clone GitHub repository:
git clone git@github.com:epam/UUI.git
- Install root and server dependencies:
yarn
cd ./server
yarn
- Go back to root and build server and run the App:
yarn build-server
yarn start
This will open the uui.epam.com website locally, in watch mode.
yarn build
Run unit tests:
yarn test
//or watch mode
yarn test-watch
Note for Windows users: If you encounter errors when running tests, try using reduced worker count:
yarn run test --maxWorkers=2 --testTimeout=10000
Update snapshots:
yarn test-update
Generate test report:
yarn test-report
This will generate test report into .reports/unit-tests folder
Read this guide.
To generate the metadata which is used to build PE pages and API blocks
yarn generate-components-api
To update uui icons based on new icons set from figma
- Past new icons set into
icons-source(create if not exist) folder in the root of the project - Then run command:
yarn process-icons
This will update icons into epam-assets/icons
To build Themes core css-variables(epam-assets/theme/variables/tokens) from Figma JSON
- Place exported from Figma file
Theme.jsonintopublic/docs/figmaTokensGenfolder - Run
yarn generate-theme-tokenscommand
This is needed to check if current branch changes do not exceed UUI packages sizes baseline. Used to notify if some changes significantly increase package size. This is a part of PR quality check.
- To run this check locally run:
yarn track-bundle-size
- To override baseline with current size values (Run it only if you sure that new package sizes are expected):
yarn track-bundle-size-override
If you use an AI-powered IDE (Cursor, Windsurf, Cline, etc.), a GitHub MCP server enables the AI agent to fetch issues, create PRs, and interact with GitHub directly.
Add a GitHub MCP server to your IDE's global MCP config (not project-level, to avoid token conflicts). Refer to your IDE's documentation for the config file location.
Example MCP server config:
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer <your-github-copilot-token>"
}
}
}
}Without it, the agent falls back to web fetching for GitHub issues (works for public repos only).
If you need to test how UUI works into next.js environment, you can use the following demo app. For more details, read readme.md into next-demo folders.
//Run next with app router
yarn next-app:dev
//Run next with pages router
yarn next-pages:dev