Skip to main content

uui-pr-contributing

Guides the UUI pull request process including branch naming, pre-PR checklist, changelog updates, and quality requirements. Use when preparing a pull request, writing commit messages, or following UUI PR requirements.

설치로 이동

소스 정보

저장소
epam/UUI
최근 소스 활동
2026년 3월 4일 09:47
감지된 SKILL.md 언어
영어
스타
248
포크
79

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
uui-pr-contributing
description
Guides the UUI pull request process including branch naming, pre-PR checklist, changelog updates, and quality requirements. Use when preparing a pull request, writing commit messages, or following UUI PR requirements.
# UUI Pull Request Process Follow this checklist when preparing a pull request for UUI. ## Pre-PR Checklist Before opening a PR, ensure all items are complete: - [ ] **All tests pass** - Run `yarn test` - [ ] **Snapshots updated** - If UI changed, run `yarn test-update` - [ ] **E2E tests pass** - If UI changed, run `yarn test-e2e` - [ ] **ESLint passes** - Run `yarn eslint` (or `yarn eslint-fix`) - [ ] **Stylelint passes** - Run `yarn stylelint` (or `yarn stylelint-fix`) **Note:** Husky runs `lint-staged` on commit, which auto-fixes ESLint and Stylelint for staged files. You can still run lint manually to catch issues before committing. - [ ] **Bundle size check passes** - Run `yarn track-bundle-size` - [ ] **TypeScript type checking passes** - Run `yarn test-typecheck` - [ ] **Documentation updated** - If API changed, add examples and update Property Explorer - [ ] **Changelog updated** - Add entry to `changelog.md` ## Git Workflow ### Branch Creation 1. **Fork and clone** the repository 2. **Create branch from `develop`** (not `main`): ```bash git checkout develop git pull origin develop git checkout -b fix/123-description ``` ### Branch Naming Use descriptive branch names following these patterns: **For bug fixes:** - `fix/123-dropdown-position` - Include GitHub issue number - `fix/dropdown-position` - If no issue number **For features:** - `feature/456-new-component` - Include GitHub issue number - `feature/new-component` - If no issue number **For other changes:** - `refactor/component-structure` - `docs/update-readme` **Important:** When working on features or bugs from GitHub issues, **include the issue number** in the branch name (e.g., `fix/123-description`, `feature/456-new-component`). **Avoid generic names:** - ❌ `update` - ❌ `fix` - ❌ `changes` ## Commit Messages - Use clear, descriptive commit messages - Reference issue numbers when applicable: `fix: resolve dropdown positioning issue (#123)` - Follow conventional commit format when possible: - `feat: add new component` - `fix: correct date formatting` - `docs: update README` - `refactor: simplify component logic` - **Before committing:** Always show the proposed commit message to the user and wait for approval before running `git commit`. Do not commit automatically. - **Shell compatibility:** Do not use bash-only syntax (heredoc `<<'EOF'`, `&&` chaining). Use multiple `-m` flags for multi-line commits: ```bash git commit -m "subject line" -m "body line 1" -m "body line 2" ``` ## PR Requirements ### Code Quality - **All tests must pass** (`yarn test`) - **Bundle size check must pass** (`yarn track-bundle-size`) - **E2E tests must pass** (if UI changes) - **Code must be linted** (`yarn eslint`, `yarn stylelint`) ### Documentation If making API changes or adding functionality: 1. **Add example** to documentation: - Location: `app/src/docs/_examples` - Add link in page config: `app/src/docs/pages` 2. **Update Property Explorer**: - Location: `app/src/docs/explorerConfigs` - Add/update explorer config for component 3. **Generate API** (usually done in deployment): ```bash yarn generate-components-api ``` ### Changelog Add entry to the top (unreleased) section of `changelog.md`: ```markdown # 6.x.x - xx.xx.2026 **What's New** * [ComponentName]: description of new feature ([#456](https://github.com/epam/UUI/issues/456)) **What's Fixed** * [ComponentName]: description of fix ([#123](https://github.com/epam/UUI/issues/123)) ``` **Format:** - Use `**What's New**` for features/enhancements, `**What's Fixed**` for bug fixes - Prefix with `[ComponentName]:` to identify the affected component - Include issue link in markdown format: `([#123](https://github.com/epam/UUI/issues/123))` - Add to the existing top section; do not create a new version header ## PR Process Steps 1. **Fork and clone** the repository 2. **Create branch from `develop`** (include GitHub issue number if applicable) 3. **Make changes** following development guides 4. **Add tests** (unit and E2E where appropriate) 5. **Ensure test suite passes** (`yarn test`), update snapshots if needed 6. **Run E2E/screenshot tests** if making UI changes 7. **If making API changes:** - Add example to documentation - Update Property Explorer 8. **Add short description** to `changelog.md` 9. **Commit and push** to your fork 10. **Open PR** targeting `develop` branch ## PR Description Template When opening a PR, include: - **Summary** - Brief description of changes - **Issue** - Link to GitHub issue (if applicable) - **Type** - Bug fix, Feature, Refactor, Docs, etc. - **Testing** - How to test the changes - **Checklist** - Confirm all PR requirements met ## Quality Gates PRs must pass these quality checks: 1. ✅ All tests pass 2. ✅ Bundle size check passes 3. ✅ E2E tests pass (if UI changes) 4. ✅ Code is linted 5. ✅ Documentation updated (if API changes) 6. ✅ Changelog updated ## Common Issues ### Bundle Size Check Fails If bundle size increased intentionally: ```bash yarn track-bundle-size-override ``` **Warning:** Only use if sizes are expected to increase. This overrides the baseline. ### Tests Fail on Windows Use reduced worker count: ```bash yarn test --maxWorkers=2 --testTimeout=10000 ``` You can increase `maxWorkers` up to 4 if needed. ### E2E Tests Fail 1. Ensure server is running (`yarn start` or `yarn build-server && yarn start-server`) 2. Check `.env` file for `UUI_APP_BASE_URL` if using non-standard URL 3. Update screenshots if intentional: `yarn test-e2e-update` ### App Won't Start 1. Run `yarn` and `cd server && yarn` to install all dependencies 2. Run `yarn build-server` before `yarn start` 3. Ensure port 9009 is free. If occupied, set `PORT` env var or stop the conflicting process ### Run Single Test File ```bash yarn test -- --testPathPattern="Button" ``` Use `--testNamePattern="should render"` to match test names. See [unit-testing](../unit-testing/SKILL.md) for more. ## References - Main guidelines: [AGENTS.md](../AGENTS.md) Section 7 - Contributing guide: [CONTRIBUTING.md](../../CONTRIBUTING.md) - E2E testing: [.cursor/skills/e2e-testing/SKILL.md](../e2e-testing/SKILL.md) - Unit testing: [.cursor/skills/unit-testing/SKILL.md](../unit-testing/SKILL.md)
GitHub에서 보기