codingbuddy-rules 3.1.1 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/.ai-rules/adapters/antigravity.md +48 -0
  2. package/.ai-rules/adapters/claude-code.md +48 -0
  3. package/.ai-rules/adapters/codex.md +48 -0
  4. package/.ai-rules/adapters/cursor.md +48 -0
  5. package/.ai-rules/adapters/kiro.md +48 -0
  6. package/.ai-rules/adapters/q.md +48 -0
  7. package/.ai-rules/agents/accessibility-specialist.json +0 -4
  8. package/.ai-rules/agents/act-mode.json +0 -15
  9. package/.ai-rules/agents/agent-architect.json +0 -14
  10. package/.ai-rules/agents/ai-ml-engineer.json +0 -17
  11. package/.ai-rules/agents/architecture-specialist.json +0 -4
  12. package/.ai-rules/agents/backend-developer.json +0 -22
  13. package/.ai-rules/agents/code-quality-specialist.json +0 -4
  14. package/.ai-rules/agents/code-reviewer.json +0 -50
  15. package/.ai-rules/agents/data-engineer.json +0 -18
  16. package/.ai-rules/agents/devops-engineer.json +0 -14
  17. package/.ai-rules/agents/documentation-specialist.json +0 -4
  18. package/.ai-rules/agents/eval-mode.json +0 -15
  19. package/.ai-rules/agents/event-architecture-specialist.json +0 -4
  20. package/.ai-rules/agents/frontend-developer.json +0 -21
  21. package/.ai-rules/agents/i18n-specialist.json +0 -4
  22. package/.ai-rules/agents/integration-specialist.json +0 -4
  23. package/.ai-rules/agents/migration-specialist.json +0 -4
  24. package/.ai-rules/agents/mobile-developer.json +0 -18
  25. package/.ai-rules/agents/observability-specialist.json +0 -4
  26. package/.ai-rules/agents/performance-specialist.json +0 -4
  27. package/.ai-rules/agents/plan-mode.json +0 -13
  28. package/.ai-rules/agents/platform-engineer.json +0 -16
  29. package/.ai-rules/agents/security-specialist.json +0 -4
  30. package/.ai-rules/agents/seo-specialist.json +0 -4
  31. package/.ai-rules/agents/solution-architect.json +0 -14
  32. package/.ai-rules/agents/technical-planner.json +0 -15
  33. package/.ai-rules/agents/test-strategy-specialist.json +0 -4
  34. package/.ai-rules/agents/tooling-engineer.json +0 -13
  35. package/.ai-rules/agents/ui-ux-designer.json +0 -12
  36. package/.ai-rules/keyword-modes.json +18 -4
  37. package/.ai-rules/skills/README.md +6 -0
  38. package/.ai-rules/skills/pr-all-in-one/SKILL.md +364 -0
  39. package/.ai-rules/skills/pr-all-in-one/configuration-guide.md +316 -0
  40. package/.ai-rules/skills/pr-all-in-one/issue-patterns.md +40 -0
  41. package/.ai-rules/skills/pr-all-in-one/pr-templates.md +154 -0
  42. package/package.json +1 -1
@@ -0,0 +1,316 @@
1
+ # Configuration Guide
2
+
3
+ ## Settings
4
+
5
+ | Setting | Type | Required | Default | Description |
6
+ |---------|------|----------|---------|-------------|
7
+ | `defaultTargetBranch` | string | ✅ | - | PR target branch |
8
+ | `issueTracker` | enum | ✅ | - | `jira`, `github`, `linear`, `gitlab`, `custom` |
9
+ | `issuePattern` | regex | ✅ | - | Issue ID matching pattern |
10
+ | `issueUrlTemplate` | string | ❌ | - | Issue URL template (`{id}` placeholder) |
11
+ | `prLanguage` | enum | ✅ | `en` | `en`, `ko`, `bilingual` |
12
+ | `commitLanguage` | enum | ❌ | `en` | Commit message language |
13
+ | `conventionalCommits` | boolean | ❌ | `true` | Use Conventional Commits |
14
+ | `branchNaming.pattern` | string | ❌ | `{type}/{description}` | Branch name pattern |
15
+ | `branchNaming.types` | array | ❌ | `["feat","fix","chore","docs","refactor","test"]` | Allowed types |
16
+ | `draftByDefault` | boolean | ❌ | `true` | Create PR as draft |
17
+
18
+ ## Interactive Setup Flow
19
+
20
+ The skill uses an interactive 4-step configuration flow:
21
+
22
+ ```
23
+ ┌─────────────────────────────────────────────┐
24
+ │ PR All-in-One Configuration Setup │
25
+ └─────────────────────────────────────────────┘
26
+
27
+ [1/4] PR Target Branch
28
+ ┌──────────────────────────┐
29
+ │ Select your default PR │
30
+ │ target branch │
31
+ │ [main] [master] [dev] │
32
+ └──────────────────────────┘
33
+
34
+ [2/4] Issue Tracker
35
+ ┌──────────────────────────┐
36
+ │ Which issue tracker? │
37
+ │ [JIRA] [GitHub Issues] │
38
+ │ [Linear] [GitLab] │
39
+ │ [Custom] │
40
+ └──────────────────────────┘
41
+
42
+ [3/4] PR Language
43
+ ┌──────────────────────────┐
44
+ │ PR description language │
45
+ │ [English] [한국어] │
46
+ │ [Bilingual] (EN + KO) │
47
+ └──────────────────────────┘
48
+
49
+ [4/4] Issue URL Template (Optional)
50
+ ┌──────────────────────────┐
51
+ │ Issue URL template for │
52
+ │ linking in PR body │
53
+ │ e.g.: │
54
+ │ https://domain.net/{id} │
55
+ └──────────────────────────┘
56
+
57
+ ✅ Configuration Complete
58
+ ```
59
+
60
+ ### Step Details
61
+
62
+ #### Step 1: PR Target Branch
63
+ Defines the default branch for pull requests. Common options:
64
+ - `main` - Modern default branch name
65
+ - `master` - Legacy default branch name
66
+ - `dev` - Development branch
67
+ - `develop` - Extended development branch
68
+
69
+ #### Step 2: Issue Tracker
70
+ Selects which issue tracking system is used:
71
+ - **JIRA**: Enterprise issue tracking
72
+ - **GitHub Issues**: GitHub's native issue system
73
+ - **Linear**: Modern issue tracking
74
+ - **GitLab**: GitLab's issue system
75
+ - **Custom**: For other trackers
76
+
77
+ #### Step 3: PR Language
78
+
79
+ Determines the language for PR descriptions:
80
+ - **English**: PRs written in English only
81
+ - **한국어**: PRs written in Korean only
82
+ - **Bilingual**: PRs include both English and Korean
83
+
84
+ ##### Detailed Language Behavior
85
+
86
+ | Value | PR Title | PR Body | Use Case |
87
+ |-------|----------|---------|----------|
88
+ | `en` | English | English only | International teams, open source projects |
89
+ | `ko` | 한국어 | 한국어만 | Korean-only teams, internal projects |
90
+ | `bilingual` | English | English + Korean | Mixed teams, global + local collaboration |
91
+
92
+ ##### Language Examples
93
+
94
+ **`en` (English)**:
95
+ - Title: `feat: add user authentication`
96
+ - Body: English-only description
97
+ - Best for: Open source, international collaboration
98
+
99
+ **`ko` (Korean)**:
100
+ - Title: `feat: 사용자 인증 추가`
101
+ - Body: 한국어만 사용한 설명
102
+ - Best for: 한국어 기반 팀, 내부 프로젝트
103
+
104
+ **`bilingual` (Both)**:
105
+ - Title: `feat: add user authentication` (English)
106
+ - Body: English description followed by Korean translation
107
+ - Best for: 글로벌 팀과 한국 팀이 함께 협업하는 프로젝트
108
+
109
+ #### Step 4: Issue URL Template
110
+ Optional template for auto-generating issue links in PR bodies. Use `{id}` placeholder for the issue ID.
111
+
112
+ ## Configuration Examples
113
+
114
+ ### JIRA Configuration
115
+
116
+ ```json
117
+ {
118
+ "defaultTargetBranch": "main",
119
+ "issueTracker": "jira",
120
+ "issuePattern": "[A-Z]+-[0-9]+",
121
+ "issueUrlTemplate": "https://your-domain.atlassian.net/browse/{id}",
122
+ "prLanguage": "bilingual",
123
+ "commitLanguage": "en",
124
+ "conventionalCommits": true,
125
+ "branchNaming": {
126
+ "pattern": "{type}/{description}",
127
+ "types": ["feat", "fix", "chore", "docs", "refactor", "test"]
128
+ },
129
+ "draftByDefault": true
130
+ }
131
+ ```
132
+
133
+ **Usage**: JIRA-101, PROJ-456
134
+
135
+ ### GitHub Issues Configuration
136
+
137
+ ```json
138
+ {
139
+ "defaultTargetBranch": "main",
140
+ "issueTracker": "github",
141
+ "issuePattern": "#[0-9]+",
142
+ "prLanguage": "en",
143
+ "commitLanguage": "en",
144
+ "conventionalCommits": true,
145
+ "branchNaming": {
146
+ "pattern": "{type}/{description}",
147
+ "types": ["feat", "fix", "chore", "docs", "refactor", "test"]
148
+ },
149
+ "draftByDefault": true
150
+ }
151
+ ```
152
+
153
+ **Usage**: #123, #456
154
+
155
+ ### Linear Configuration
156
+
157
+ ```json
158
+ {
159
+ "defaultTargetBranch": "main",
160
+ "issueTracker": "linear",
161
+ "issuePattern": "[A-Z]+-[0-9]+",
162
+ "issueUrlTemplate": "https://linear.app/your-team/issue/{id}",
163
+ "prLanguage": "en",
164
+ "commitLanguage": "en",
165
+ "conventionalCommits": true,
166
+ "branchNaming": {
167
+ "pattern": "{type}/{description}",
168
+ "types": ["feat", "fix", "chore", "docs", "refactor", "test"]
169
+ },
170
+ "draftByDefault": false
171
+ }
172
+ ```
173
+
174
+ **Usage**: ENG-123, PROJ-456
175
+
176
+ ### GitLab Configuration
177
+
178
+ ```json
179
+ {
180
+ "defaultTargetBranch": "master",
181
+ "issueTracker": "gitlab",
182
+ "issuePattern": "#[0-9]+",
183
+ "prLanguage": "en",
184
+ "commitLanguage": "en",
185
+ "conventionalCommits": true,
186
+ "branchNaming": {
187
+ "pattern": "{type}/{description}",
188
+ "types": ["feat", "fix", "chore", "docs", "refactor", "test"]
189
+ },
190
+ "draftByDefault": false
191
+ }
192
+ ```
193
+
194
+ **Usage**: #123, #456
195
+
196
+ ### Custom Issue Tracker Configuration
197
+
198
+ ```json
199
+ {
200
+ "defaultTargetBranch": "develop",
201
+ "issueTracker": "custom",
202
+ "issuePattern": "CUSTOM-[0-9]{4,}",
203
+ "issueUrlTemplate": "https://internal.company.com/issues/{id}",
204
+ "prLanguage": "bilingual",
205
+ "commitLanguage": "ko",
206
+ "conventionalCommits": true,
207
+ "branchNaming": {
208
+ "pattern": "{type}/{description}",
209
+ "types": ["feat", "fix", "chore", "docs", "refactor", "test", "style", "perf"]
210
+ },
211
+ "draftByDefault": true
212
+ }
213
+ ```
214
+
215
+ **Usage**: CUSTOM-0001, CUSTOM-1234
216
+
217
+ ## Configuration File Location
218
+
219
+ Configuration is stored at project root:
220
+ ```
221
+ .claude/pr-config.json
222
+ ```
223
+
224
+ Example configuration file: `.claude/pr-config.example.json`
225
+
226
+ ## Updating Configuration
227
+
228
+ To update an existing configuration:
229
+ 1. Edit `.claude/pr-config.json` directly, or
230
+ 2. Delete the file and run `/pr-all-in-one` to restart interactive setup
231
+
232
+ ## Issue Pattern Reference
233
+
234
+ ### Common Issue Patterns
235
+
236
+ | Tracker | Pattern | Example |
237
+ |---------|---------|---------|
238
+ | JIRA | `[A-Z]+-[0-9]+` | `PROJ-123`, `ENG-456` |
239
+ | GitHub | `#[0-9]+` | `#123`, `#456` |
240
+ | Linear | `[A-Z]+-[0-9]+` | `ENG-123`, `DES-456` |
241
+ | GitLab | `#[0-9]+` or `GL-[0-9]+` | `#123`, `GL-456` |
242
+ | Azure DevOps | `#[0-9]+` | `#123`, `#456` |
243
+ | YouTrack | `[A-Z]+-[0-9]+` | `PROJ-123`, `SUP-456` |
244
+
245
+ ## Conventional Commits Format
246
+
247
+ When `conventionalCommits` is enabled, commit messages follow this format:
248
+
249
+ ```
250
+ <type>[optional scope]: <description>
251
+
252
+ [optional body]
253
+
254
+ [optional footer(s)]
255
+ ```
256
+
257
+ ### Types
258
+
259
+ - `feat`: A new feature
260
+ - `fix`: A bug fix
261
+ - `chore`: Changes that don't modify code or test files
262
+ - `docs`: Documentation changes
263
+ - `refactor`: Code changes that don't fix bugs or add features
264
+ - `test`: Adding or updating tests
265
+ - `style`: Code style changes (formatting, missing semicolons, etc.)
266
+ - `perf`: Performance improvements
267
+
268
+ ### Examples
269
+
270
+ ```
271
+ feat(auth): add oauth2 provider integration
272
+
273
+ fix: prevent race condition in session handler
274
+
275
+ docs: update API documentation
276
+
277
+ refactor(core): simplify request handling logic
278
+ ```
279
+
280
+ ## Branch Naming Convention
281
+
282
+ The default branch naming pattern is: `{type}/{description}`
283
+
284
+ ### Examples
285
+
286
+ ```
287
+ feat/add-user-authentication
288
+ fix/resolve-memory-leak
289
+ chore/update-dependencies
290
+ docs/api-documentation
291
+ refactor/simplify-request-handler
292
+ test/add-integration-tests
293
+ ```
294
+
295
+ ### Pattern with Issue ID
296
+
297
+ You can include the issue ID in branch names using the `{issue}` placeholder:
298
+
299
+ **Pattern**: `{type}/{issue}-{description}`
300
+
301
+ **Examples**:
302
+ ```
303
+ feat/PROJ-123-add-user-authentication
304
+ fix/BUG-456-resolve-memory-leak
305
+ chore/TASK-789-update-dependencies
306
+ ```
307
+
308
+ **Note**: The `{issue}` placeholder is extracted from the issue ID argument or auto-detected from branch context.
309
+
310
+ ## Notes
311
+
312
+ - All configuration is validated before being saved
313
+ - Issue patterns are compiled as regex patterns for matching
314
+ - URL templates support `{id}` placeholder for issue ID substitution
315
+ - Bilingual mode generates both English and Korean PR descriptions
316
+ - Draft PRs can be automatically marked as ready for review
@@ -0,0 +1,40 @@
1
+ # Issue Patterns Reference
2
+
3
+ ## Supported Issue Trackers
4
+
5
+ | Tracker | Pattern | Example | URL Template |
6
+ |---------|---------|---------|--------------|
7
+ | **JIRA** | `[A-Z]+-[0-9]+` | `PROJ-12345`, `STUDIO-456` | `https://{domain}.atlassian.net/browse/{id}` |
8
+ | **GitHub Issues** | `#[0-9]+` | `#123`, `#4567` | `https://github.com/{owner}/{repo}/issues/{id}` |
9
+ | **Linear** | `[A-Z]+-[0-9]+` | `ENG-123`, `PROD-456` | `https://linear.app/{team}/issue/{id}` |
10
+ | **GitLab** | `#[0-9]+` | `#123` | `https://gitlab.com/{group}/{project}/-/issues/{id}` |
11
+ | **Azure DevOps** | `#[0-9]+` | `#12345` | `https://dev.azure.com/{org}/{project}/_workitems/edit/{id}` |
12
+ | **Shortcut** | `sc-[0-9]+` | `sc-12345` | `https://app.shortcut.com/{org}/story/{id}` |
13
+
14
+ ## Extracting Issue ID from Branch Name
15
+
16
+ | Branch Name | Extracted ID | Tracker |
17
+ |-------------|--------------|---------|
18
+ | `feat/PROJ-123-add-login` | `PROJ-123` | JIRA |
19
+ | `fix/123-bug-fix` | `#123` | GitHub |
20
+ | `feature/ENG-456-new-feature` | `ENG-456` | Linear |
21
+ | `bugfix/STUDIO-789-fix-issue` | `STUDIO-789` | JIRA |
22
+ | `chore/sc-12345-cleanup` | `sc-12345` | Shortcut |
23
+
24
+ ## Resolution Priority
25
+
26
+ 1. **Explicit argument**: `/pr-all-in-one main PROJ-123`
27
+ 2. **Branch name extraction**: Uses configured `issuePattern`
28
+ 3. **N/A**: If not found, no issue linking
29
+
30
+ ## Custom Patterns
31
+
32
+ For custom issue trackers, define in `pr-config.json`:
33
+
34
+ ```json
35
+ {
36
+ "issueTracker": "custom",
37
+ "issuePattern": "CUSTOM-[0-9]+",
38
+ "issueUrlTemplate": "https://tracker.example.com/issues/{id}"
39
+ }
40
+ ```
@@ -0,0 +1,154 @@
1
+ # PR Templates
2
+
3
+ ## Template Selection Logic
4
+
5
+ PR templates are automatically selected based on the `prLanguage` setting:
6
+
7
+ (PR 템플릿은 `prLanguage` 설정에 따라 자동 선택됩니다)
8
+
9
+ | `prLanguage` | Template Used | PR Title | PR Body |
10
+ |--------------|---------------|----------|---------|
11
+ | `en` | English Template | English | English only |
12
+ | `ko` | Korean Template | 한국어 | 한국어만 |
13
+ | `bilingual` | Bilingual Template | English | English + Korean |
14
+
15
+ ### Selection Flow
16
+
17
+ ```
18
+ ┌─────────────────────────────────┐
19
+ │ Read prLanguage from config │
20
+ └───────────────┬─────────────────┘
21
+
22
+ ┌───────────┼───────────┐
23
+ │ │ │
24
+ ▼ ▼ ▼
25
+ ┌───────┐ ┌───────┐ ┌──────────┐
26
+ │ "en" │ │ "ko" │ │"bilingual"│
27
+ └───┬───┘ └───┬───┘ └────┬─────┘
28
+ │ │ │
29
+ ▼ ▼ ▼
30
+ ┌───────┐ ┌───────┐ ┌──────────┐
31
+ │English│ │Korean │ │ Both EN │
32
+ │Template│ │Template│ │ + KO │
33
+ └───────┘ └───────┘ └──────────┘
34
+ ```
35
+
36
+ ## Default Templates
37
+
38
+ ### English Template
39
+ <!-- Used when `prLanguage: "en"` - for international teams and open source -->
40
+ ```markdown
41
+ ## Context
42
+
43
+ **Related Links:**
44
+ - Issue: [{issue_id}]({issue_url})
45
+
46
+ **Description Details:**
47
+
48
+ {description}
49
+
50
+ ## Screenshots or Videos
51
+
52
+ {screenshots_section}
53
+ ```
54
+
55
+ ### Korean Template (한국어)
56
+ <!-- Used when `prLanguage: "ko"` - for Korean-only teams -->
57
+ ```markdown
58
+ ## 컨텍스트
59
+
60
+ **관련 링크:**
61
+ - 이슈: [{issue_id}]({issue_url})
62
+
63
+ **상세 설명:**
64
+
65
+ {description}
66
+
67
+ ## 스크린샷 또는 비디오
68
+
69
+ {screenshots_section}
70
+ ```
71
+
72
+ ### Bilingual Template
73
+ <!-- Used when `prLanguage: "bilingual"` - for mixed teams -->
74
+ ```markdown
75
+ ## Context
76
+
77
+ **Related Links:**
78
+ - Issue: [{issue_id}]({issue_url})
79
+
80
+ **Description Details:**
81
+
82
+ {description_en}
83
+
84
+ ---
85
+
86
+ **상세 설명:**
87
+
88
+ {description_ko}
89
+
90
+ ## Screenshots or Videos
91
+
92
+ {screenshots_section}
93
+ ```
94
+
95
+ ## Project Template Integration
96
+
97
+ ### Priority
98
+ 1. Project template: `.github/pull_request_template.md` (if exists)
99
+ 2. Default template based on `prLanguage` config
100
+
101
+ ### Placeholder Replacement
102
+ When using project template, these placeholders are auto-filled:
103
+
104
+ | Placeholder | Replaced With |
105
+ |-------------|---------------|
106
+ | `{issue_id}` | Extracted issue ID |
107
+ | `{issue_url}` | Full issue URL |
108
+ | `{description}` | Auto-generated from commits |
109
+ | `{description_en}` | English description |
110
+ | `{description_ko}` | Korean description |
111
+ | `{screenshots_section}` | Screenshot guidance if UI changes detected |
112
+
113
+ ### Example: Before and After
114
+
115
+ **Before (Template):**
116
+ ```markdown
117
+ ## Context
118
+
119
+ **Related Links:**
120
+ - Issue: [{issue_id}]({issue_url})
121
+
122
+ **Description Details:**
123
+
124
+ {description}
125
+ ```
126
+
127
+ **After (Generated PR):**
128
+ ```markdown
129
+ ## Context
130
+
131
+ **Related Links:**
132
+ - Issue: [AUTH-123](https://jira.example.com/browse/AUTH-123)
133
+
134
+ **Description Details:**
135
+
136
+ Added JWT-based authentication with refresh token support. Includes:
137
+ - Login endpoint with credential validation
138
+ - Token generation and refresh logic
139
+ - Session middleware integration
140
+ ```
141
+
142
+ ## Title Format
143
+
144
+ - English: `{type}: {short description}` (max 70 chars)
145
+ - Korean: `{type}: {간단한 설명}` (max 70 chars)
146
+
147
+ Example: `feat: add user authentication flow`
148
+
149
+ ## No AI Signatures
150
+
151
+ PR body does NOT include:
152
+ - Co-Authored-By
153
+ - Generated by AI
154
+ - Any AI attribution
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codingbuddy-rules",
3
- "version": "3.1.1",
3
+ "version": "3.1.2",
4
4
  "description": "AI coding rules for consistent practices across AI assistants",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",