From 639457aa8559d5d804e1f1058a56e6462037bbac Mon Sep 17 00:00:00 2001 From: "jh.park" Date: Wed, 11 Feb 2026 16:23:18 +0900 Subject: [PATCH 1/2] chore: update PR and issue templates to enhance clarity and ownership declaration --- .github/ISSUE_TEMPLATE/backlog-en.yml | 73 ++++++++--------------- .github/ISSUE_TEMPLATE/backlog-kr.yml | 74 ++++++++---------------- .github/ISSUE_TEMPLATE/bug-report-en.yml | 9 +++ .github/ISSUE_TEMPLATE/bug-report-kr.yml | 9 +++ .github/PULL_REQUEST_TEMPLATE.md | 57 ++++++------------ .github/workflows/pr_lint.yml | 10 ---- 6 files changed, 86 insertions(+), 146 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/backlog-en.yml b/.github/ISSUE_TEMPLATE/backlog-en.yml index 1a75779..ce49592 100644 --- a/.github/ISSUE_TEMPLATE/backlog-en.yml +++ b/.github/ISSUE_TEMPLATE/backlog-en.yml @@ -28,69 +28,46 @@ body: required: true - label: I searched existing issues/PRs and did not find a duplicate. required: true - - type: textarea - id: description - validations: - required: true + - type: checkboxes + id: ownership attributes: - label: Summary - description: | - What feature or improvement would you like to see? - Explain the motivation, goals, and how it benefits users. - placeholder: | - * I propose adding X to support Y. - * It would help users by Z. + label: πŸ’ͺ Ownership Declaration (Optional) + description: "Proact0 Culture: We value Hand-raise - taking charge and leading the solution." + options: + - label: "πŸ™‹ Hand-raise: I want to implement this feature myself" + - label: "🀝 Collaboration Welcome: I want to work on this with others" + - label: "πŸ’‘ Idea Only: Proposing for someone else to implement" - type: textarea - id: use-case + id: description validations: required: true attributes: - label: Use Case / Scenarios - description: Describe typical workflows or scenarios where this feature is useful. + label: πŸ’‘ What do you want? + description: Describe your idea in 1-3 sentences. placeholder: | - * When scaffolding ..., I need ... - * When adding casts ..., it would be helpful to ... + Example: "I want act new to support --template flag for custom scaffolds" + Example: "Add tab completion for cast names" - type: textarea - id: proposal + id: example validations: required: false attributes: - label: Proposed Solution / UX - description: | - Provide ideas for CLI flags, prompts, configuration, or example commands. + label: πŸ’» Example CLI or Code (Optional) + description: Show us what it would look like! placeholder: | - Example CLI: - uv run act new --path ./my-act --act-name "My Act" --cast-name "Main Cast" --flag ... + uv run act new --template corporate --act-name "MyAct" + # or paste code snippets, config examples, etc. - type: textarea - id: alternatives + id: mockup validations: required: false attributes: - label: Alternatives Considered - description: If applicable, describe alternative approaches and trade-offs. - - type: textarea - id: references - validations: - required: false - attributes: - label: References (optional) - description: Links to related issues, PRs, or docs. - - type: textarea - id: screenshots - validations: - required: false - attributes: - label: Mockups / Examples (optional) - description: If applicable, add screenshots or pseudo-output to illustrate the proposal. - - type: textarea - id: additional - validations: - required: false - attributes: - label: Additional context - description: Any other context or considerations. + label: πŸ“Έ Screenshots or Output (Optional) + description: Add screenshots, terminal output, or mockups if helpful. - type: markdown attributes: value: | - Branching tip: create a branch named `feat/[concise-feature-name]` when you start working on this. - Remember to keep PRs small and focused. + --- + + **Proact0 Culture:** This is a Working Standard - your idea will evolve through feedback. + Don't wait for perfection, just share your thought! πŸš€ diff --git a/.github/ISSUE_TEMPLATE/backlog-kr.yml b/.github/ISSUE_TEMPLATE/backlog-kr.yml index 4555357..5ddb1ac 100644 --- a/.github/ISSUE_TEMPLATE/backlog-kr.yml +++ b/.github/ISSUE_TEMPLATE/backlog-kr.yml @@ -28,70 +28,46 @@ body: required: true - label: κΈ°μ‘΄ 이슈/PR을 κ²€μƒ‰ν–ˆκ³ , μ€‘λ³΅λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. required: true - - type: textarea - id: description - validations: - required: true + - type: checkboxes + id: ownership attributes: - label: μš”μ•½ - description: | - μ–΄λ–€ κΈ°λŠ₯/κ°œμ„ μ„ μ›ν•˜μ‹œλ‚˜μš”? - 동기/λͺ©ν‘œ/μ‚¬μš©μžμ—κ²Œ μ£ΌλŠ” 이점을 μ„€λͺ…ν•΄μ£Όμ„Έμš”. - placeholder: | - * Yλ₯Ό μ§€μ›ν•˜κΈ° μœ„ν•΄ X μΆ”κ°€λ₯Ό μ œμ•ˆν•©λ‹ˆλ‹€. - * Z λ°©μ‹μœΌλ‘œ μ‚¬μš©μžμ—κ²Œ 도움이 λ©λ‹ˆλ‹€. + label: πŸ’ͺ μ˜€λ„ˆμ‹­ μ„ μ–Έ (선택) + description: "Proact0 λ¬Έν™”: Hand-raise - μ†”λ£¨μ…˜μ„ μ£Όλ„ν•˜κ³  μ±…μž„μ§€λŠ” 것을 μ‘΄μ€‘ν•©λ‹ˆλ‹€." + options: + - label: "πŸ™‹ Hand-raise: μ œκ°€ 이 κΈ°λŠ₯을 직접 κ΅¬ν˜„ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€" + - label: "🀝 ν˜‘μ—… ν™˜μ˜: λ‹€λ₯Έ λΆ„λ“€κ³Ό ν•¨κ»˜ μž‘μ—…ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€" + - label: "πŸ’‘ μ•„μ΄λ””μ–΄λ§Œ: λ‹€λ₯Έ 뢄이 κ΅¬ν˜„ν•΄μ£Όμ‹œκΈΈ μ œμ•ˆν•©λ‹ˆλ‹€" - type: textarea - id: use-case + id: description validations: required: true attributes: - label: μ‚¬μš© 사둀 / μ‹œλ‚˜λ¦¬μ˜€ - description: 이 κΈ°λŠ₯이 μœ μš©ν•œ λŒ€ν‘œ μ›Œν¬ν”Œλ‘œμš°/상황을 μ„€λͺ…ν•΄μ£Όμ„Έμš”. + label: πŸ’‘ 무엇을 μ›ν•˜μ‹œλ‚˜μš”? + description: 1-3λ¬Έμž₯으둜 아이디어λ₯Ό μ„€λͺ…ν•΄μ£Όμ„Έμš”. placeholder: | - * μŠ€μΊν΄λ”© μ‹œ ..., ...이 ν•„μš”ν•©λ‹ˆλ‹€. - * 캐슀트 μΆ”κ°€ μ‹œ ..., ...κ°€ 있으면 μ’‹κ² μŠ΅λ‹ˆλ‹€. - * ...에 κ΄€λ ¨λœ Claude Skill / Cursor Rule 등이 있으면 μ’‹κ² μŠ΅λ‹ˆλ‹€. + μ˜ˆμ‹œ: "act new에 --template ν”Œλž˜κ·Έλ‘œ μ»€μŠ€ν…€ μŠ€μΊν΄λ“œ μ§€μ›ν–ˆμœΌλ©΄ μ’‹κ² μ–΄μš”" + μ˜ˆμ‹œ: "캐슀트 이름 μžλ™μ™„μ„± κΈ°λŠ₯ μΆ”κ°€" - type: textarea - id: proposal + id: example validations: required: false attributes: - label: μ œμ•ˆ μ†”λ£¨μ…˜ / UX - description: | - CLI ν”Œλž˜κ·Έ, ν”„λ‘¬ν”„νŠΈ, μ„€μ •, μ˜ˆμ‹œ λͺ…령에 λŒ€ν•œ 아이디어가 μžˆλ‹€λ©΄ μž‘μ„±ν•΄μ£Όμ„Έμš”. + label: πŸ’» μ˜ˆμ‹œ CLI λ˜λŠ” μ½”λ“œ (선택) + description: μ–΄λ–»κ²Œ 보일지 λ³΄μ—¬μ£Όμ„Έμš”! placeholder: | - μ˜ˆμ‹œ CLI: - uv run act new --path ./my-act --act-name "My Act" --cast-name "Main Cast" --flag ... + uv run act new --template corporate --act-name "MyAct" + # λ˜λŠ” μ½”λ“œ μŠ€λ‹ˆνŽ«, μ„€μ • μ˜ˆμ‹œ λ“± - type: textarea - id: alternatives + id: mockup validations: required: false attributes: - label: κ³ λ €ν•œ λŒ€μ•ˆ - description: κ°€λŠ₯ν•˜λ‹€λ©΄, λ‹€λ₯Έ μ ‘κ·Όκ³Ό νŠΈλ ˆμ΄λ“œμ˜€ν”„λ₯Ό μ„€λͺ…ν•΄μ£Όμ„Έμš”. - - type: textarea - id: references - validations: - required: false - attributes: - label: 참고자료(선택) - description: κ΄€λ ¨ 이슈/PR/λ¬Έμ„œ 링크λ₯Ό μΆ”κ°€ν•΄μ£Όμ„Έμš”. - - type: textarea - id: screenshots - validations: - required: false - attributes: - label: λͺ©μ—… / μ˜ˆμ‹œ(선택) - description: ν•΄λ‹Ήλ˜λŠ” 경우 μ œμ•ˆμ„ μ΄ν•΄ν•˜λŠ” 데 도움이 λ˜λŠ” μŠ€ν¬λ¦°μƒ·μ΄λ‚˜ μ˜μ‚¬ 좜λ ₯(pseudo-output)을 μΆ”κ°€ν•΄μ£Όμ„Έμš”. - - type: textarea - id: additional - validations: - required: false - attributes: - label: μΆ”κ°€ μ»¨ν…μŠ€νŠΈ - description: 기타 κ³ λ € μ‚¬ν•­μ΄λ‚˜ 배경이 있으면 μž‘μ„±ν•΄μ£Όμ„Έμš”. + label: πŸ“Έ μŠ€ν¬λ¦°μƒ· λ˜λŠ” 좜λ ₯ (선택) + description: 도움이 λœλ‹€λ©΄ μŠ€ν¬λ¦°μƒ·, 터미널 좜λ ₯, λͺ©μ—… 등을 μΆ”κ°€ν•΄μ£Όμ„Έμš”. - type: markdown attributes: value: | - 브랜치 팁: μž‘μ—…μ„ μ‹œμž‘ν•  λ•Œ `feat/[κ°„κ²°ν•œ-κΈ°λŠ₯-이름]` 브랜치λ₯Ό λ§Œλ“€μ–΄μ£Όμ„Έμš”. - PR은 μž‘κ³  μ§‘μ€‘λœ λ³€κ²½μœΌλ‘œ μœ μ§€ν•΄μ£Όμ„Έμš”. + --- + + **Proact0 λ¬Έν™”:** 이것은 Working Standardμž…λ‹ˆλ‹€ - μ—¬λŸ¬λΆ„μ˜ μ•„μ΄λ””μ–΄λŠ” ν”Όλ“œλ°±μ„ 톡해 μ§„ν™”ν•©λ‹ˆλ‹€. + 완벽함을 기닀리지 말고, 생각을 λ¨Όμ € κ³΅μœ ν•΄μ£Όμ„Έμš”! πŸš€ diff --git a/.github/ISSUE_TEMPLATE/bug-report-en.yml b/.github/ISSUE_TEMPLATE/bug-report-en.yml index 741b40b..ba748c6 100644 --- a/.github/ISSUE_TEMPLATE/bug-report-en.yml +++ b/.github/ISSUE_TEMPLATE/bug-report-en.yml @@ -31,6 +31,15 @@ body: required: true - label: I included self-contained minimal reproduction steps, including the exact CLI commands or code used. required: true + - type: checkboxes + id: ownership + attributes: + label: πŸ’ͺ Ownership Declaration (Optional) + description: "Proact0 Culture: We value Hand-raise - taking charge and leading the solution." + options: + - label: "πŸ™‹ Hand-raise: I want to fix this bug myself" + - label: "🀝 Collaboration Welcome: I want to work on this with others" + - label: "πŸ› Report Only: Reporting for someone else to fix" - type: textarea id: reproduction validations: diff --git a/.github/ISSUE_TEMPLATE/bug-report-kr.yml b/.github/ISSUE_TEMPLATE/bug-report-kr.yml index 911ba21..ba4bbc2 100644 --- a/.github/ISSUE_TEMPLATE/bug-report-kr.yml +++ b/.github/ISSUE_TEMPLATE/bug-report-kr.yml @@ -31,6 +31,15 @@ body: required: true - label: μ‚¬μš©ν•œ μ •ν™•ν•œ CLI λͺ…λ Ή λ˜λŠ” μ½”λ“œ ν¬ν•¨ν•˜μ—¬, 자체 ν¬ν•¨λœ μ΅œμ†Œ μž¬ν˜„ 단계λ₯Ό ν¬ν•¨ν–ˆμŠ΅λ‹ˆλ‹€. required: true + - type: checkboxes + id: ownership + attributes: + label: πŸ’ͺ μ˜€λ„ˆμ‹­ μ„ μ–Έ (선택) + description: "Proact0 λ¬Έν™”: Hand-raise - μ†”λ£¨μ…˜μ„ μ£Όλ„ν•˜κ³  μ±…μž„μ§€λŠ” 것을 μ‘΄μ€‘ν•©λ‹ˆλ‹€." + options: + - label: "πŸ™‹ Hand-raise: μ œκ°€ 이 버그λ₯Ό 직접 μˆ˜μ •ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€" + - label: "🀝 ν˜‘μ—… ν™˜μ˜: λ‹€λ₯Έ λΆ„λ“€κ³Ό ν•¨κ»˜ μž‘μ—…ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€" + - label: "πŸ› 리포트만: λ‹€λ₯Έ 뢄이 μˆ˜μ •ν•΄μ£Όμ‹œκΈΈ λ°”λžλ‹ˆλ‹€" - type: textarea id: reproduction validations: diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 471cf79..dcfc684 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,41 +1,12 @@ -## βœ… Review Readiness Checklist (Required before review) - -Complete all items below before marking your PR ready for review. After completion, delete these instructions and replace with your actual PR message. - -- [ ] **PR title format**: `{TYPE}({SCOPE}): {DESCRIPTION}` - - Examples: - - `feat(cli): add cast scaffolding option` - - `fix(scaffold): resolve snake_case normalization bug` - - `docs(readme): clarify Python 3.12+ requirement` - - Allowed `{TYPE}` values: - - `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`, `release` - - Allowed `{SCOPE}` values (optional): project area - - `cli`, `scaffold`, `utils`, `docs`, `tests`, `workflow`, `cookiecutter` - - Once you've written the title, delete this checklist item. - -- [ ] **PR message**: Replace this entire checklist with the template below - - **Description:** Describe the change. Include a [linking a pull request to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue) keyword if applicable. - - **Issue:** The related issue number (e.g., `Fixes #123`) - - **Dependencies:** Any dependencies required for this change - - **SNS handle:** If announced publicly, add your handle for a shoutout - -- [ ] **Add tests and docs**: If you add a new feature/integration, include - 1. **Tests:** Prefer unit tests without network access (integration tests as needed) - 2. **Docs/examples:** Update user-facing docs/examples - - Update `README.md` or scaffold template docs (e.g., `act_operator/act_operator/scaffold/{{ cookiecutter.project_dir }}/README.md`) - -- [ ] **Lint and test**: From the root of modified package(s), run and ensure all pass - ```powershell - uv run ruff check . - uv run pytest -q - ``` - We will not consider a PR unless these two pass in CI. See `CONTRIBUTING.md` for more. - -### Additional guidelines -- Import optional dependencies **inside functions** (lazy import). -- Do not add dependencies to `pyproject.toml` (even optional) unless **required** for runtime/tests. -- Most PRs should modify **only one area/scope**. -- Changes must be **backwards compatible**. +## πŸš€ PR Type (Required) + +Select one and delete the others: + +- [ ] **🎯 Ready for Review** - All quality checks passed, ready for merge +- [ ] **πŸ”„ Draft/WIP** - Early feedback welcome (tests/docs may be incomplete) +- [ ] **⚑ Quick Fix** - Urgent fix requiring expedited review + +> **Proact0 Culture:** We value early collaboration! Draft PRs are encouraged for complex changes. --- @@ -59,11 +30,19 @@ Example: Enforce snake_case for scaffold directory names and auto-update related - Dependencies: - SNS handle: -## βœ… Local Checks +## πŸ’ͺ Ownership (Required) + +- [ ] **Hand-raise**: I will monitor the impact of this change and take responsibility for follow-up issues + +> **Extreme Ownership:** At Proact0, we track not just code changes, but their impact on team productivity. + +## βœ… Quality Checks (Required for "Ready for Review" only) - [ ] `uv run ruff check .` passed - [ ] `uv run pytest -q` passed +> **Draft/WIP PRs:** Skip quality checks for early feedback - just mark as Draft! + ## πŸ’‘ Notes (Optional)