codingbuddy-rules 5.0.0 → 5.1.1

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 (53) hide show
  1. package/.ai-rules/adapters/aider.md +374 -0
  2. package/.ai-rules/adapters/windsurf.md +395 -0
  3. package/.ai-rules/agents/accessibility-specialist.json +6 -0
  4. package/.ai-rules/agents/act-mode.json +6 -0
  5. package/.ai-rules/agents/agent-architect.json +6 -0
  6. package/.ai-rules/agents/ai-ml-engineer.json +6 -0
  7. package/.ai-rules/agents/architecture-specialist.json +6 -0
  8. package/.ai-rules/agents/auto-mode.json +6 -0
  9. package/.ai-rules/agents/backend-developer.json +6 -0
  10. package/.ai-rules/agents/code-quality-specialist.json +6 -0
  11. package/.ai-rules/agents/code-reviewer.json +25 -4
  12. package/.ai-rules/agents/data-engineer.json +6 -0
  13. package/.ai-rules/agents/data-scientist.json +6 -0
  14. package/.ai-rules/agents/devops-engineer.json +6 -0
  15. package/.ai-rules/agents/documentation-specialist.json +6 -0
  16. package/.ai-rules/agents/eval-mode.json +11 -1
  17. package/.ai-rules/agents/event-architecture-specialist.json +6 -0
  18. package/.ai-rules/agents/frontend-developer.json +6 -0
  19. package/.ai-rules/agents/i18n-specialist.json +6 -0
  20. package/.ai-rules/agents/integration-specialist.json +6 -0
  21. package/.ai-rules/agents/migration-specialist.json +6 -0
  22. package/.ai-rules/agents/mobile-developer.json +7 -10
  23. package/.ai-rules/agents/observability-specialist.json +6 -0
  24. package/.ai-rules/agents/parallel-orchestrator.json +6 -0
  25. package/.ai-rules/agents/performance-specialist.json +6 -0
  26. package/.ai-rules/agents/plan-mode.json +6 -0
  27. package/.ai-rules/agents/plan-reviewer.json +7 -4
  28. package/.ai-rules/agents/platform-engineer.json +6 -0
  29. package/.ai-rules/agents/security-engineer.json +6 -0
  30. package/.ai-rules/agents/security-specialist.json +6 -0
  31. package/.ai-rules/agents/seo-specialist.json +6 -0
  32. package/.ai-rules/agents/software-engineer.json +6 -0
  33. package/.ai-rules/agents/solution-architect.json +6 -0
  34. package/.ai-rules/agents/systems-developer.json +6 -0
  35. package/.ai-rules/agents/technical-planner.json +6 -0
  36. package/.ai-rules/agents/test-engineer.json +6 -0
  37. package/.ai-rules/agents/test-strategy-specialist.json +6 -0
  38. package/.ai-rules/agents/tooling-engineer.json +6 -0
  39. package/.ai-rules/agents/ui-ux-designer.json +6 -0
  40. package/.ai-rules/schemas/agent.schema.json +38 -0
  41. package/.ai-rules/skills/README.md +6 -0
  42. package/.ai-rules/skills/agent-design/examples/agent-template.json +1 -4
  43. package/.ai-rules/skills/mcp-builder/examples/tool-example.ts +8 -13
  44. package/.ai-rules/skills/onboard/SKILL.md +150 -0
  45. package/.ai-rules/skills/plan-to-issues/SKILL.md +318 -0
  46. package/.ai-rules/skills/retrospective/SKILL.md +192 -0
  47. package/.ai-rules/skills/ship/SKILL.md +242 -0
  48. package/.ai-rules/skills/skill-creator/assets/eval_review.html +539 -260
  49. package/bin/cli.js +11 -19
  50. package/lib/init/detect-stack.js +18 -4
  51. package/lib/init/prompt.js +2 -2
  52. package/lib/init/suggest-agent.js +13 -2
  53. package/package.json +1 -1
@@ -657,5 +657,11 @@
657
657
  "blue_green": "https://martinfowler.com/bliki/BlueGreenDeployment.html"
658
658
  },
659
659
  "project_rules": "See .ai-rules/rules/"
660
+ },
661
+ "visual": {
662
+ "eye": "✱",
663
+ "eyeFallback": "O",
664
+ "colorAnsi": "bright",
665
+ "group": "specialist"
660
666
  }
661
667
  }
@@ -50,16 +50,7 @@
50
50
  "android": ["build\\.gradle(\\.kts)?$", "AndroidManifest\\.xml$", "\\.kt$"]
51
51
  },
52
52
  "intent_patterns": {
53
- "korean": [
54
- "mobile",
55
- "app",
56
- "react native",
57
- "flutter",
58
- "iOS",
59
- "android",
60
- "swift",
61
- "kotlin"
62
- ],
53
+ "korean": ["mobile", "app", "react native", "flutter", "iOS", "android", "swift", "kotlin"],
63
54
  "english": ["mobile", "app", "react native", "flutter", "iOS", "android", "swift", "kotlin"]
64
55
  },
65
56
  "mandatory_checklist": {
@@ -310,5 +301,11 @@
310
301
  "hig": "https://developer.apple.com/design/human-interface-guidelines/",
311
302
  "material_design": "https://m3.material.io/"
312
303
  }
304
+ },
305
+ "visual": {
306
+ "eye": "✶",
307
+ "eyeFallback": "O",
308
+ "colorAnsi": "bright",
309
+ "group": "specialist"
313
310
  }
314
311
  }
@@ -695,5 +695,11 @@
695
695
  "structured_logging": "JSON logging best practices"
696
696
  },
697
697
  "project_rules": "See .ai-rules/rules/"
698
+ },
699
+ "visual": {
700
+ "eye": "◌",
701
+ "eyeFallback": "O",
702
+ "colorAnsi": "white",
703
+ "group": "integration"
698
704
  }
699
705
  }
@@ -342,5 +342,11 @@
342
342
  }
343
343
  ]
344
344
  }
345
+ },
346
+ "visual": {
347
+ "eye": "▣",
348
+ "eyeFallback": "O",
349
+ "colorAnsi": "bright",
350
+ "group": "specialist"
345
351
  }
346
352
  }
@@ -535,5 +535,11 @@
535
535
  "project_performance": "See project.md 'Performance & Optimization' section"
536
536
  },
537
537
  "project_rules": "See .ai-rules/rules/"
538
+ },
539
+ "visual": {
540
+ "eye": "⊗",
541
+ "eyeFallback": "O",
542
+ "colorAnsi": "bright",
543
+ "group": "specialist"
538
544
  }
539
545
  }
@@ -89,5 +89,11 @@
89
89
  "✅ Verify Delegate Agent's planning workflow is applied",
90
90
  "✅ Verify structured plan (Plan Overview, Implementation Steps, Quality Checklist, etc.)"
91
91
  ]
92
+ },
93
+ "visual": {
94
+ "eye": "◇",
95
+ "eyeFallback": "O",
96
+ "colorAnsi": "blue",
97
+ "group": "workflow"
92
98
  }
93
99
  }
@@ -24,10 +24,7 @@
24
24
  "Produce severity-rated findings (Critical/High/Medium/Low)"
25
25
  ]
26
26
  },
27
- "context_files": [
28
- ".ai-rules/rules/core.md",
29
- ".ai-rules/rules/augmented-coding.md"
30
- ],
27
+ "context_files": [".ai-rules/rules/core.md", ".ai-rules/rules/augmented-coding.md"],
31
28
  "activation": {
32
29
  "trigger": "When an implementation plan needs quality review before execution",
33
30
  "explicit_patterns": [
@@ -204,5 +201,11 @@
204
201
  "existing_agents": ".ai-rules/agents/*.json",
205
202
  "plan_skill": ".ai-rules/skills/plan-and-review/SKILL.md",
206
203
  "writing_plans_skill": ".ai-rules/skills/writing-plans/SKILL.md"
204
+ },
205
+ "visual": {
206
+ "eye": "◆",
207
+ "eyeFallback": "O",
208
+ "colorAnsi": "bright",
209
+ "group": "specialist"
207
210
  }
208
211
  }
@@ -1244,5 +1244,11 @@
1244
1244
  "azure": "https://learn.microsoft.com/en-us/azure/",
1245
1245
  "finops": "https://www.finops.org/framework/"
1246
1246
  }
1247
+ },
1248
+ "visual": {
1249
+ "eye": "△",
1250
+ "eyeFallback": "O",
1251
+ "colorAnsi": "red",
1252
+ "group": "security"
1247
1253
  }
1248
1254
  }
@@ -95,5 +95,11 @@
95
95
  "communication": {
96
96
  "language": "Korean",
97
97
  "style": "Security-first approach, always explain the threat model and mitigation strategy"
98
+ },
99
+ "visual": {
100
+ "eye": "▲",
101
+ "eyeFallback": "O",
102
+ "colorAnsi": "red",
103
+ "group": "security"
98
104
  }
99
105
  }
@@ -480,5 +480,11 @@
480
480
  "project_security": "See project.md"
481
481
  },
482
482
  "project_rules": "See .ai-rules/rules/"
483
+ },
484
+ "visual": {
485
+ "eye": "◮",
486
+ "eyeFallback": "O",
487
+ "colorAnsi": "red",
488
+ "group": "security"
483
489
  }
484
490
  }
@@ -423,5 +423,11 @@
423
423
  "project_seo": "See project.md"
424
424
  },
425
425
  "project_rules": "See .ai-rules/rules/"
426
+ },
427
+ "visual": {
428
+ "eye": "✧",
429
+ "eyeFallback": "O",
430
+ "colorAnsi": "yellow",
431
+ "group": "frontend"
426
432
  }
427
433
  }
@@ -71,5 +71,11 @@
71
71
  "communication": {
72
72
  "style": "Execution-focused step-by-step progress reporting",
73
73
  "format": "Show implementation progress, test results, and quality verification"
74
+ },
75
+ "visual": {
76
+ "eye": "◈",
77
+ "eyeFallback": "O",
78
+ "colorAnsi": "bright",
79
+ "group": "specialist"
74
80
  }
75
81
  }
@@ -163,5 +163,11 @@
163
163
  "project_rules": ".ai-rules/rules/",
164
164
  "existing_agents": ".ai-rules/agents/*.json",
165
165
  "skills_location": "superpowers plugin skills"
166
+ },
167
+ "visual": {
168
+ "eye": "⬢",
169
+ "eyeFallback": "O",
170
+ "colorAnsi": "magenta",
171
+ "group": "architecture"
166
172
  }
167
173
  }
@@ -80,5 +80,11 @@
80
80
  "communication": {
81
81
  "language": "Korean",
82
82
  "style": "Safety-first approach, always explain memory model and ownership decisions"
83
+ },
84
+ "visual": {
85
+ "eye": "⊞",
86
+ "eyeFallback": "O",
87
+ "colorAnsi": "bright",
88
+ "group": "specialist"
83
89
  }
84
90
  }
@@ -195,5 +195,11 @@
195
195
  "existing_agents": ".ai-rules/agents/*.json",
196
196
  "skills_location": "superpowers plugin skills",
197
197
  "plan_examples": "See superpowers:writing-plans skill for examples"
198
+ },
199
+ "visual": {
200
+ "eye": "⎔",
201
+ "eyeFallback": "O",
202
+ "colorAnsi": "magenta",
203
+ "group": "architecture"
198
204
  }
199
205
  }
@@ -66,5 +66,11 @@
66
66
  "communication": {
67
67
  "language": "Korean",
68
68
  "style": "TDD-first approach, always write the test before the implementation"
69
+ },
70
+ "visual": {
71
+ "eye": "◉",
72
+ "eyeFallback": "O",
73
+ "colorAnsi": "green",
74
+ "group": "quality"
69
75
  }
70
76
  }
@@ -521,5 +521,11 @@
521
521
  "project_testing": "See augmented-coding.md 'Testing Best Practices' section"
522
522
  },
523
523
  "project_rules": "See .ai-rules/rules/"
524
+ },
525
+ "visual": {
526
+ "eye": "⊙",
527
+ "eyeFallback": "O",
528
+ "colorAnsi": "green",
529
+ "group": "quality"
524
530
  }
525
531
  }
@@ -204,5 +204,11 @@
204
204
  "vite": "https://vite.dev/config/",
205
205
  "nextjs": "https://nextjs.org/docs/app/api-reference/config/next-config-js"
206
206
  }
207
+ },
208
+ "visual": {
209
+ "eye": "⊠",
210
+ "eyeFallback": "O",
211
+ "colorAnsi": "bright",
212
+ "group": "specialist"
207
213
  }
208
214
  }
@@ -506,5 +506,11 @@
506
506
  "performance": "Consider performance-specialist.json for animation/interaction performance"
507
507
  },
508
508
  "project_rules": "See .ai-rules/rules/"
509
+ },
510
+ "visual": {
511
+ "eye": "☆",
512
+ "eyeFallback": "O",
513
+ "colorAnsi": "yellow",
514
+ "group": "frontend"
509
515
  }
510
516
  }
@@ -291,6 +291,44 @@
291
291
  }
292
292
  ],
293
293
  "description": "General checklist (can be object or array)"
294
+ },
295
+ "visual": {
296
+ "type": "object",
297
+ "description": "Visual identity for the agent character system",
298
+ "required": ["eye", "eyeFallback", "colorAnsi", "group"],
299
+ "properties": {
300
+ "eye": {
301
+ "type": "string",
302
+ "description": "Unicode symbol representing the agent's eye/icon",
303
+ "minLength": 1
304
+ },
305
+ "eyeFallback": {
306
+ "type": "string",
307
+ "description": "ASCII fallback character for terminals without Unicode support",
308
+ "minLength": 1,
309
+ "maxLength": 1
310
+ },
311
+ "colorAnsi": {
312
+ "type": "string",
313
+ "enum": ["black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", "bright"],
314
+ "description": "ANSI color name for terminal rendering"
315
+ },
316
+ "group": {
317
+ "type": "string",
318
+ "enum": [
319
+ "workflow",
320
+ "architecture",
321
+ "quality",
322
+ "security",
323
+ "frontend",
324
+ "backend",
325
+ "integration",
326
+ "specialist"
327
+ ],
328
+ "description": "Domain group for visual categorization"
329
+ }
330
+ },
331
+ "additionalProperties": false
294
332
  }
295
333
  },
296
334
  "additionalProperties": true
@@ -41,6 +41,7 @@ Reusable workflows for consistent development practices.
41
41
  | subagent-driven-development | Execute plans with independent tasks in current session | In-session plan execution |
42
42
  | systematic-debugging | Systematic approach before proposing fixes | Encountering bugs or failures |
43
43
  | cross-repo-issues | Detect, confirm, and create issues in upstream/related repositories with safety checks | Bug belongs upstream, dependency issue, fork-to-upstream reporting |
44
+ | retrospective | Analyze session archives for coding patterns, agent usage, and improvement suggestions | Sprint reviews, periodic retrospectives, process improvement |
44
45
  | writing-plans | Create implementation plans before coding | Multi-step tasks with specs |
45
46
 
46
47
  ### Documentation & Communication
@@ -49,6 +50,7 @@ Reusable workflows for consistent development practices.
49
50
  |-------|-------------|-------------|
50
51
  | documentation-generation | Generate README, API docs, CHANGELOG, and ADRs from code | Creating or updating project documentation |
51
52
  | pr-all-in-one | Unified commit and PR workflow with smart issue linking | `/pr-all-in-one [target] [issue]` |
53
+ | ship | Run local CI checks and ship changes — branch, commit, push, and PR | Changes are ready to ship |
52
54
  | pr-review | Systematic, evidence-based PR review with anti-sycophancy principles | Conducting manual PR reviews |
53
55
  | prompt-engineering | Write and optimize prompts for AI tools and agent system prompts | AI tool instructions, MCP tool descriptions, agent prompts |
54
56
 
@@ -210,6 +212,8 @@ EOF
210
212
  │ └── SKILL.md
211
213
  ├── subagent-driven-development/
212
214
  │ └── SKILL.md
215
+ ├── retrospective/
216
+ │ └── SKILL.md
213
217
  ├── systematic-debugging/
214
218
  │ └── SKILL.md
215
219
  ├── writing-plans/
@@ -227,6 +231,8 @@ EOF
227
231
  │ └── SKILL.md
228
232
  ├── prompt-engineering/
229
233
  │ └── SKILL.md
234
+ ├── ship/
235
+ │ └── SKILL.md
230
236
 
231
237
  ├── [DevOps & Infrastructure]
232
238
  ├── cost-budget/
@@ -21,10 +21,7 @@
21
21
  ]
22
22
  },
23
23
 
24
- "context_files": [
25
- ".ai-rules/rules/core.md",
26
- ".ai-rules/rules/project.md"
27
- ],
24
+ "context_files": [".ai-rules/rules/core.md", ".ai-rules/rules/project.md"],
28
25
 
29
26
  "modes": {
30
27
  "planning": {
@@ -105,10 +105,7 @@ export class FileAnalyzerHandler {
105
105
  }
106
106
  }
107
107
 
108
- private async analyze(
109
- filePath: string,
110
- metrics?: string[],
111
- ): Promise<FileAnalysis> {
108
+ private async analyze(filePath: string, metrics?: string[]): Promise<FileAnalysis> {
112
109
  const content = await this.fileService.read(filePath);
113
110
  const lines = content.split('\n');
114
111
  const selected = new Set(metrics ?? ['complexity', 'lines', 'dependencies', 'exports']);
@@ -133,22 +130,20 @@ export class FileAnalyzerHandler {
133
130
  private extractDependencies(lines: string[]): string[] {
134
131
  const importPattern = /^import\s+.*from\s+['"]([^'"]+)['"]/;
135
132
  return lines
136
- .map((line) => line.match(importPattern)?.[1])
133
+ .map(line => line.match(importPattern)?.[1])
137
134
  .filter((dep): dep is string => dep !== undefined);
138
135
  }
139
136
 
140
137
  private extractExports(lines: string[]): string[] {
141
- const exportPattern = /^export\s+(?:default\s+)?(?:class|function|const|interface|type|enum)\s+(\w+)/;
138
+ const exportPattern =
139
+ /^export\s+(?:default\s+)?(?:class|function|const|interface|type|enum)\s+(\w+)/;
142
140
  return lines
143
- .map((line) => line.match(exportPattern)?.[1])
141
+ .map(line => line.match(exportPattern)?.[1])
144
142
  .filter((name): name is string => name !== undefined);
145
143
  }
146
144
 
147
145
  private formatAnalysis(analysis: FileAnalysis, includeSource?: boolean): string {
148
- const sections: string[] = [
149
- `## File Analysis: ${analysis.filePath}`,
150
- '',
151
- ];
146
+ const sections: string[] = [`## File Analysis: ${analysis.filePath}`, ''];
152
147
 
153
148
  if (analysis.lineCount >= 0) {
154
149
  sections.push(`**Lines:** ${analysis.lineCount}`);
@@ -158,11 +153,11 @@ export class FileAnalyzerHandler {
158
153
  }
159
154
  if (analysis.dependencies.length > 0) {
160
155
  sections.push('', '**Dependencies:**');
161
- analysis.dependencies.forEach((dep) => sections.push(`- \`${dep}\``));
156
+ analysis.dependencies.forEach(dep => sections.push(`- \`${dep}\``));
162
157
  }
163
158
  if (analysis.exports.length > 0) {
164
159
  sections.push('', '**Exports:**');
165
- analysis.exports.forEach((exp) => sections.push(`- \`${exp}\``));
160
+ analysis.exports.forEach(exp => sections.push(`- \`${exp}\``));
166
161
  }
167
162
 
168
163
  return sections.join('\n');
@@ -0,0 +1,150 @@
1
+ ---
2
+ name: onboard
3
+ description: "Guided onboarding for new projects - scans tech stack, generates codingbuddy.config.json, sets up adapters, and installs .ai-rules with interactive Q&A."
4
+ ---
5
+
6
+ # Onboard: New Project Setup
7
+
8
+ ## Overview
9
+
10
+ Guide users through setting up codingbuddy in a new project via interactive, step-by-step onboarding. Detect the tech stack automatically, generate configuration, and create adapter files for their AI tools.
11
+
12
+ ## Step 1: Project Scanning
13
+
14
+ Scan the project root to detect:
15
+
16
+ **Package managers & languages:**
17
+ - `package.json` → Node.js/TypeScript (check for `typescript` dep)
18
+ - `requirements.txt` / `pyproject.toml` / `setup.py` → Python
19
+ - `go.mod` → Go
20
+ - `Cargo.toml` → Rust
21
+ - `pom.xml` / `build.gradle` → Java/Kotlin
22
+ - `Gemfile` → Ruby
23
+ - `composer.json` → PHP
24
+
25
+ **Frameworks** (from dependency files):
26
+ - React, Next.js, Vue, Angular, Svelte, Express, NestJS, Django, Flask, FastAPI, Spring Boot, Rails, Laravel, Gin, Echo, etc.
27
+
28
+ **Test setup:**
29
+ - Jest, Vitest, Mocha, Pytest, Go test, JUnit, RSpec, PHPUnit, etc.
30
+
31
+ **Monorepo indicators:**
32
+ - `workspaces` in package.json, `lerna.json`, `pnpm-workspace.yaml`, `nx.json`, `turbo.json`
33
+
34
+ **AI tools already present:**
35
+ - `.cursor/` → Cursor
36
+ - `.claude/` → Claude Code
37
+ - `.antigravity/` → Antigravity (Gemini)
38
+ - `.codex/` → Codex
39
+ - `.q/` → Amazon Q
40
+ - `.kiro/` → Kiro
41
+ - `.github/copilot/` → GitHub Copilot
42
+
43
+ After scanning, present findings to the user:
44
+
45
+ ```
46
+ Detected:
47
+ - Language: TypeScript
48
+ - Framework: Next.js 14, React 18
49
+ - Test: Vitest
50
+ - Monorepo: Yarn workspaces
51
+ - AI tools: .claude/ (existing)
52
+ ```
53
+
54
+ Ask: "Does this look correct? Anything to add or change?" (use AskUserQuestion)
55
+
56
+ ## Step 2: Generate codingbuddy.config.json
57
+
58
+ Based on detected info, generate a draft config:
59
+
60
+ ```json
61
+ {
62
+ "language": "en",
63
+ "techStack": {
64
+ "languages": ["typescript"],
65
+ "frameworks": ["nextjs", "react"],
66
+ "testing": ["vitest"],
67
+ "packageManager": "yarn"
68
+ },
69
+ "architecture": {
70
+ "pattern": "layered",
71
+ "monorepo": true
72
+ },
73
+ "agents": {
74
+ "primary": "software-engineer",
75
+ "specialists": ["frontend-developer", "test-engineer"]
76
+ }
77
+ }
78
+ ```
79
+
80
+ Ask the user to confirm or adjust:
81
+ - Communication language (en, ko, ja, zh, es, etc.)
82
+ - Primary agent selection (show top 3 recommendations based on tech stack)
83
+ - Architecture pattern (layered, clean, hexagonal, or custom)
84
+
85
+ Write `codingbuddy.config.json` to project root after confirmation.
86
+
87
+ ## Step 3: Adapter Setup
88
+
89
+ Based on detected AI tools (or ask which tools the user wants to set up):
90
+
91
+ | Tool | Config Path | What to Create |
92
+ |------|------------|----------------|
93
+ | Cursor | `.cursor/rules/codingbuddy.mdc` | Rules include pointing to .ai-rules |
94
+ | Claude Code | `.claude/settings.json` + `CLAUDE.md` | MCP server config + instructions |
95
+ | Antigravity | `.antigravity/rules/codingbuddy.md` | Gemini rules file |
96
+ | Codex | `.codex/AGENTS.md` | Codex agent instructions |
97
+ | Amazon Q | `.q/rules/codingbuddy.md` | Q rules file |
98
+ | Kiro | `.kiro/rules/codingbuddy.md` | Kiro rules file |
99
+
100
+ For each selected tool:
101
+ 1. Create the config directory if it does not exist
102
+ 2. Generate a starter config file referencing the shared `.ai-rules/` rules
103
+ 3. Show the user what was created
104
+
105
+ Ask: "Which AI tools do you want to configure?" (use AskUserQuestion with multiSelect)
106
+
107
+ ## Step 4: Optional .ai-rules Setup
108
+
109
+ Present two options:
110
+
111
+ **Option A: Copy rules locally** (recommended for customization)
112
+ - Copy `packages/rules/.ai-rules/` into the project as `.ai-rules/`
113
+ - User can customize rules for their project
114
+
115
+ **Option B: Install via npm package**
116
+ - `npm install codingbuddy-rules` / `yarn add codingbuddy-rules`
117
+ - Reference rules from `node_modules/codingbuddy-rules/.ai-rules/`
118
+ - Stays in sync with upstream updates
119
+
120
+ Ask: "How would you like to set up the AI rules?" (use AskUserQuestion)
121
+
122
+ If Option A: copy the rules directory and confirm.
123
+ If Option B: run the install command and update adapter configs to point to node_modules path.
124
+
125
+ ## Step 5: Summary
126
+
127
+ Present a summary of everything that was created:
128
+
129
+ ```
130
+ Onboarding complete!
131
+
132
+ Created files:
133
+ - codingbuddy.config.json (project configuration)
134
+ - .claude/settings.json (Claude Code MCP config)
135
+ - .ai-rules/ (shared AI coding rules)
136
+
137
+ Next steps:
138
+ 1. Review codingbuddy.config.json and adjust settings
139
+ 2. Start with: PLAN <your first task>
140
+ 3. Use AUTO mode for autonomous development cycles
141
+ 4. Run /help to see available commands
142
+ ```
143
+
144
+ ## Key Principles
145
+
146
+ - **Interactive** — Ask one question at a time using AskUserQuestion, never assume
147
+ - **Non-destructive** — Never overwrite existing config files; ask before modifying
148
+ - **Detect first** — Auto-detect as much as possible, then confirm with user
149
+ - **Minimal setup** — Only create what the user needs; skip unnecessary adapters
150
+ - **Clear output** — Show exactly what files were created and what to do next