@relipa/ai-flow-kit 0.0.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.
- package/AIFLOW.md +432 -0
- package/CHANGELOG.md +78 -0
- package/CONTRIBUTING.md +351 -0
- package/IMPLEMENTATION_SUMMARY.md +348 -0
- package/QUICK_START.md +392 -0
- package/README.md +323 -0
- package/bin/aiflow.js +178 -0
- package/custom/mcp-presets/README.md +138 -0
- package/custom/mcp-presets/backlog.json +15 -0
- package/custom/mcp-presets/figma.json +15 -0
- package/custom/mcp-presets/google-sheets.json +14 -0
- package/custom/mcp-presets/jira.json +16 -0
- package/custom/prompts/bug-fix.md +149 -0
- package/custom/prompts/feature.md +190 -0
- package/custom/prompts/investigation.md +164 -0
- package/custom/rules/code-style.md +7 -0
- package/custom/rules/java/code-style.md +11 -0
- package/custom/rules/java/naming.md +17 -0
- package/custom/rules/java/review-checklist.md +36 -0
- package/custom/rules/javascript/code-style.md +12 -0
- package/custom/rules/javascript/naming.md +14 -0
- package/custom/rules/naming.md +9 -0
- package/custom/rules/php/code-style.md +10 -0
- package/custom/rules/php/naming.md +15 -0
- package/custom/rules/review-checklist.md +9 -0
- package/custom/skills/figma-to-component/SKILL.md +207 -0
- package/custom/skills/generate-spec/SKILL.md +97 -0
- package/custom/skills/impact-analysis/SKILL.md +94 -0
- package/custom/skills/investigate-bug/SKILL.md +93 -0
- package/custom/skills/report-customer/SKILL.md +95 -0
- package/custom/skills/review-plan/SKILL.md +158 -0
- package/custom/skills/validate-ticket/SKILL.md +240 -0
- package/custom/templates/laravel.md +90 -0
- package/custom/templates/nextjs.md +89 -0
- package/custom/templates/reactjs.md +567 -0
- package/custom/templates/spring-boot.md +598 -0
- package/custom/templates/vue-nuxt.md +89 -0
- package/docs/architecture.md +395 -0
- package/docs/cli-reference.md +438 -0
- package/docs/configuration.md +412 -0
- package/docs/getting-started.md +248 -0
- package/docs/troubleshooting.md +587 -0
- package/docs/workflows/bug-fix.md +126 -0
- package/docs/workflows/feature.md +123 -0
- package/docs/workflows/impact-analysis.md +13 -0
- package/docs/workflows/investigation.md +13 -0
- package/docs/workflows/refactor.md +13 -0
- package/index.js +27 -0
- package/package.json +70 -0
- package/scripts/config.js +317 -0
- package/scripts/context.js +117 -0
- package/scripts/detect.js +239 -0
- package/scripts/doctor.js +48 -0
- package/scripts/guide.js +282 -0
- package/scripts/hooks/session-start.js +140 -0
- package/scripts/init.js +453 -0
- package/scripts/memory.js +247 -0
- package/scripts/prompt.js +392 -0
- package/scripts/remove.js +170 -0
- package/scripts/update.js +111 -0
- package/scripts/use.js +570 -0
- package/scripts/validate.js +303 -0
- package/upstream/.claude-plugin/marketplace.json +20 -0
- package/upstream/.claude-plugin/plugin.json +20 -0
- package/upstream/.codex/INSTALL.md +67 -0
- package/upstream/.cursor-plugin/plugin.json +25 -0
- package/upstream/.gitattributes +18 -0
- package/upstream/.github/FUNDING.yml +3 -0
- package/upstream/.github/ISSUE_TEMPLATE/bug_report.md +52 -0
- package/upstream/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/upstream/.github/ISSUE_TEMPLATE/feature_request.md +34 -0
- package/upstream/.github/ISSUE_TEMPLATE/platform_support.md +23 -0
- package/upstream/.github/PULL_REQUEST_TEMPLATE.md +87 -0
- package/upstream/.opencode/INSTALL.md +83 -0
- package/upstream/.opencode/plugins/superpowers.js +112 -0
- package/upstream/.version-bump.json +19 -0
- package/upstream/AGENTS.md +1 -0
- package/upstream/CHANGELOG.md +13 -0
- package/upstream/CLAUDE.md +85 -0
- package/upstream/CODE_OF_CONDUCT.md +128 -0
- package/upstream/GEMINI.md +2 -0
- package/upstream/LICENSE +21 -0
- package/upstream/README.md +190 -0
- package/upstream/RELEASE-NOTES.md +1096 -0
- package/upstream/agents/code-reviewer.md +48 -0
- package/upstream/commands/brainstorm.md +5 -0
- package/upstream/commands/execute-plan.md +5 -0
- package/upstream/commands/write-plan.md +5 -0
- package/upstream/docs/README.codex.md +126 -0
- package/upstream/docs/README.opencode.md +130 -0
- package/upstream/docs/plans/2025-11-22-opencode-support-design.md +294 -0
- package/upstream/docs/plans/2025-11-22-opencode-support-implementation.md +1095 -0
- package/upstream/docs/plans/2025-11-28-skills-improvements-from-user-feedback.md +711 -0
- package/upstream/docs/plans/2026-01-17-visual-brainstorming.md +571 -0
- package/upstream/docs/superpowers/plans/2026-01-22-document-review-system.md +301 -0
- package/upstream/docs/superpowers/plans/2026-02-19-visual-brainstorming-refactor.md +523 -0
- package/upstream/docs/superpowers/plans/2026-03-11-zero-dep-brainstorm-server.md +479 -0
- package/upstream/docs/superpowers/plans/2026-03-23-codex-app-compatibility.md +564 -0
- package/upstream/docs/superpowers/specs/2026-01-22-document-review-system-design.md +136 -0
- package/upstream/docs/superpowers/specs/2026-02-19-visual-brainstorming-refactor-design.md +162 -0
- package/upstream/docs/superpowers/specs/2026-03-11-zero-dep-brainstorm-server-design.md +118 -0
- package/upstream/docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md +244 -0
- package/upstream/docs/testing.md +303 -0
- package/upstream/docs/windows/polyglot-hooks.md +212 -0
- package/upstream/gemini-extension.json +6 -0
- package/upstream/hooks/hooks-cursor.json +10 -0
- package/upstream/hooks/hooks.json +16 -0
- package/upstream/hooks/run-hook.cmd +46 -0
- package/upstream/hooks/session-start +57 -0
- package/upstream/package.json +6 -0
- package/upstream/scripts/bump-version.sh +220 -0
- package/upstream/skills/brainstorming/SKILL.md +164 -0
- package/upstream/skills/brainstorming/scripts/frame-template.html +214 -0
- package/upstream/skills/brainstorming/scripts/helper.js +88 -0
- package/upstream/skills/brainstorming/scripts/server.cjs +354 -0
- package/upstream/skills/brainstorming/scripts/start-server.sh +148 -0
- package/upstream/skills/brainstorming/scripts/stop-server.sh +56 -0
- package/upstream/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/upstream/skills/brainstorming/visual-companion.md +287 -0
- package/upstream/skills/dispatching-parallel-agents/SKILL.md +182 -0
- package/upstream/skills/executing-plans/SKILL.md +70 -0
- package/upstream/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/upstream/skills/receiving-code-review/SKILL.md +213 -0
- package/upstream/skills/requesting-code-review/SKILL.md +105 -0
- package/upstream/skills/requesting-code-review/code-reviewer.md +146 -0
- package/upstream/skills/subagent-driven-development/SKILL.md +277 -0
- package/upstream/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/upstream/skills/subagent-driven-development/implementer-prompt.md +113 -0
- package/upstream/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/upstream/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/upstream/skills/systematic-debugging/SKILL.md +296 -0
- package/upstream/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/upstream/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/upstream/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/upstream/skills/systematic-debugging/find-polluter.sh +63 -0
- package/upstream/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/upstream/skills/systematic-debugging/test-academic.md +14 -0
- package/upstream/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/upstream/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/upstream/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/upstream/skills/test-driven-development/SKILL.md +371 -0
- package/upstream/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/upstream/skills/using-git-worktrees/SKILL.md +218 -0
- package/upstream/skills/using-superpowers/SKILL.md +117 -0
- package/upstream/skills/using-superpowers/references/codex-tools.md +100 -0
- package/upstream/skills/using-superpowers/references/copilot-tools.md +52 -0
- package/upstream/skills/using-superpowers/references/gemini-tools.md +33 -0
- package/upstream/skills/verification-before-completion/SKILL.md +139 -0
- package/upstream/skills/writing-plans/SKILL.md +152 -0
- package/upstream/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/upstream/skills/writing-skills/SKILL.md +655 -0
- package/upstream/skills/writing-skills/anthropic-best-practices.md +1150 -0
- package/upstream/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/upstream/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/upstream/skills/writing-skills/persuasion-principles.md +187 -0
- package/upstream/skills/writing-skills/render-graphs.js +168 -0
- package/upstream/skills/writing-skills/testing-skills-with-subagents.md +384 -0
- package/upstream/tests/brainstorm-server/package-lock.json +36 -0
- package/upstream/tests/brainstorm-server/package.json +10 -0
- package/upstream/tests/brainstorm-server/server.test.js +427 -0
- package/upstream/tests/brainstorm-server/windows-lifecycle.test.sh +351 -0
- package/upstream/tests/brainstorm-server/ws-protocol.test.js +392 -0
- package/upstream/tests/claude-code/README.md +158 -0
- package/upstream/tests/claude-code/analyze-token-usage.py +168 -0
- package/upstream/tests/claude-code/run-skill-tests.sh +187 -0
- package/upstream/tests/claude-code/test-document-review-system.sh +177 -0
- package/upstream/tests/claude-code/test-helpers.sh +202 -0
- package/upstream/tests/claude-code/test-subagent-driven-development-integration.sh +314 -0
- package/upstream/tests/claude-code/test-subagent-driven-development.sh +165 -0
- package/upstream/tests/explicit-skill-requests/prompts/action-oriented.txt +3 -0
- package/upstream/tests/explicit-skill-requests/prompts/after-planning-flow.txt +17 -0
- package/upstream/tests/explicit-skill-requests/prompts/claude-suggested-it.txt +11 -0
- package/upstream/tests/explicit-skill-requests/prompts/i-know-what-sdd-means.txt +8 -0
- package/upstream/tests/explicit-skill-requests/prompts/mid-conversation-execute-plan.txt +3 -0
- package/upstream/tests/explicit-skill-requests/prompts/please-use-brainstorming.txt +1 -0
- package/upstream/tests/explicit-skill-requests/prompts/skip-formalities.txt +3 -0
- package/upstream/tests/explicit-skill-requests/prompts/subagent-driven-development-please.txt +1 -0
- package/upstream/tests/explicit-skill-requests/prompts/use-systematic-debugging.txt +1 -0
- package/upstream/tests/explicit-skill-requests/run-all.sh +70 -0
- package/upstream/tests/explicit-skill-requests/run-claude-describes-sdd.sh +100 -0
- package/upstream/tests/explicit-skill-requests/run-extended-multiturn-test.sh +113 -0
- package/upstream/tests/explicit-skill-requests/run-haiku-test.sh +144 -0
- package/upstream/tests/explicit-skill-requests/run-multiturn-test.sh +143 -0
- package/upstream/tests/explicit-skill-requests/run-test.sh +136 -0
- package/upstream/tests/opencode/run-tests.sh +163 -0
- package/upstream/tests/opencode/setup.sh +88 -0
- package/upstream/tests/opencode/test-plugin-loading.sh +82 -0
- package/upstream/tests/opencode/test-priority.sh +198 -0
- package/upstream/tests/opencode/test-tools.sh +104 -0
- package/upstream/tests/skill-triggering/prompts/dispatching-parallel-agents.txt +8 -0
- package/upstream/tests/skill-triggering/prompts/executing-plans.txt +1 -0
- package/upstream/tests/skill-triggering/prompts/requesting-code-review.txt +3 -0
- package/upstream/tests/skill-triggering/prompts/systematic-debugging.txt +11 -0
- package/upstream/tests/skill-triggering/prompts/test-driven-development.txt +7 -0
- package/upstream/tests/skill-triggering/prompts/writing-plans.txt +10 -0
- package/upstream/tests/skill-triggering/run-all.sh +60 -0
- package/upstream/tests/skill-triggering/run-test.sh +88 -0
- package/upstream/tests/subagent-driven-dev/go-fractals/design.md +81 -0
- package/upstream/tests/subagent-driven-dev/go-fractals/plan.md +172 -0
- package/upstream/tests/subagent-driven-dev/go-fractals/scaffold.sh +45 -0
- package/upstream/tests/subagent-driven-dev/run-test.sh +106 -0
- package/upstream/tests/subagent-driven-dev/svelte-todo/design.md +70 -0
- package/upstream/tests/subagent-driven-dev/svelte-todo/plan.md +222 -0
- package/upstream/tests/subagent-driven-dev/svelte-todo/scaffold.sh +46 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Feature Development Prompt
|
|
2
|
+
|
|
3
|
+
## 📋 Requirements
|
|
4
|
+
|
|
5
|
+
**Title:** {{TITLE}}
|
|
6
|
+
|
|
7
|
+
**Description:**
|
|
8
|
+
{{DESCRIPTION}}
|
|
9
|
+
|
|
10
|
+
**User Stories:**
|
|
11
|
+
{{USER_STORIES}}
|
|
12
|
+
|
|
13
|
+
**Acceptance Criteria:**
|
|
14
|
+
{{ACCEPTANCE_CRITERIA}}
|
|
15
|
+
|
|
16
|
+
**Design Specifications:**
|
|
17
|
+
{{DESIGN_SPECS}}
|
|
18
|
+
|
|
19
|
+
**Constraints & Limitations:**
|
|
20
|
+
{{CONSTRAINTS}}
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 🎯 Your Task
|
|
25
|
+
|
|
26
|
+
Build this feature systematically following the phases below.
|
|
27
|
+
|
|
28
|
+
### Phase 1: Design & Planning
|
|
29
|
+
|
|
30
|
+
Before writing code:
|
|
31
|
+
|
|
32
|
+
1. **Understand Requirements**
|
|
33
|
+
- What exactly needs to be built?
|
|
34
|
+
- Who will use this?
|
|
35
|
+
- When do they need it?
|
|
36
|
+
|
|
37
|
+
2. **Plan Architecture**
|
|
38
|
+
- What layers/components are needed?
|
|
39
|
+
- How do they interact?
|
|
40
|
+
- What database changes are needed?
|
|
41
|
+
- What API endpoints are required?
|
|
42
|
+
|
|
43
|
+
3. **Identify Dependencies**
|
|
44
|
+
- Does this depend on other features?
|
|
45
|
+
- Are there related systems to consider?
|
|
46
|
+
- Any performance implications?
|
|
47
|
+
|
|
48
|
+
4. **Design Database Schema** (if applicable)
|
|
49
|
+
- New tables or columns?
|
|
50
|
+
- Relationships and indexes?
|
|
51
|
+
- Migration strategy?
|
|
52
|
+
|
|
53
|
+
5. **Design API Endpoints** (if applicable)
|
|
54
|
+
- What endpoints are needed?
|
|
55
|
+
- Request/response formats?
|
|
56
|
+
- Error handling?
|
|
57
|
+
|
|
58
|
+
### Phase 2: Implementation
|
|
59
|
+
|
|
60
|
+
Build the feature following your design:
|
|
61
|
+
|
|
62
|
+
1. **Backend/Core Logic**
|
|
63
|
+
- Models and migrations
|
|
64
|
+
- Services and business logic
|
|
65
|
+
- API endpoints or methods
|
|
66
|
+
- Error handling
|
|
67
|
+
|
|
68
|
+
2. **Frontend/UI** (if applicable)
|
|
69
|
+
- Component structure
|
|
70
|
+
- User interactions
|
|
71
|
+
- State management
|
|
72
|
+
- Styling approach
|
|
73
|
+
|
|
74
|
+
3. **Follow Team Patterns**
|
|
75
|
+
- Use existing conventions
|
|
76
|
+
- Match code style
|
|
77
|
+
- Use approved libraries
|
|
78
|
+
- Follow architectural patterns
|
|
79
|
+
|
|
80
|
+
### Phase 3: Testing
|
|
81
|
+
|
|
82
|
+
Ensure quality:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Unit tests - test individual components
|
|
86
|
+
npm test -- --unit
|
|
87
|
+
|
|
88
|
+
# Integration tests - test component interactions
|
|
89
|
+
npm test -- --integration
|
|
90
|
+
|
|
91
|
+
# Run full test suite
|
|
92
|
+
npm test
|
|
93
|
+
|
|
94
|
+
# Check code quality
|
|
95
|
+
npm run lint
|
|
96
|
+
|
|
97
|
+
# Check performance (if applicable)
|
|
98
|
+
npm run benchmark
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Test everything:
|
|
102
|
+
- ✅ Happy path (normal usage)
|
|
103
|
+
- ✅ Edge cases (boundary conditions)
|
|
104
|
+
- ✅ Error scenarios (what breaks?)
|
|
105
|
+
- ✅ Acceptance criteria (meets requirements?)
|
|
106
|
+
|
|
107
|
+
### Phase 4: Verification
|
|
108
|
+
|
|
109
|
+
Verify against requirements:
|
|
110
|
+
|
|
111
|
+
**Acceptance Criteria Checklist:**
|
|
112
|
+
- [ ] {{ACCEPTANCE_CRITERIA_1}}
|
|
113
|
+
- [ ] {{ACCEPTANCE_CRITERIA_2}}
|
|
114
|
+
- [ ] {{ACCEPTANCE_CRITERIA_3}}
|
|
115
|
+
|
|
116
|
+
**Code Quality:**
|
|
117
|
+
- [ ] Code style compliant
|
|
118
|
+
- [ ] No security issues
|
|
119
|
+
- [ ] Performance acceptable
|
|
120
|
+
- [ ] Tests comprehensive
|
|
121
|
+
- [ ] Documentation complete
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 📚 Team Framework Rules
|
|
126
|
+
|
|
127
|
+
{{FRAMEWORK_RULES}}
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 📏 Team Rules & Standards
|
|
132
|
+
|
|
133
|
+
{{TEAM_RULES}}
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 🏗️ Implementation Checklist
|
|
138
|
+
|
|
139
|
+
### Setup Phase
|
|
140
|
+
- [ ] Created feature branch
|
|
141
|
+
- [ ] Updated .env if needed
|
|
142
|
+
- [ ] Database schema designed
|
|
143
|
+
|
|
144
|
+
### Development Phase
|
|
145
|
+
- [ ] Core logic implemented
|
|
146
|
+
- [ ] API endpoints working
|
|
147
|
+
- [ ] UI components built
|
|
148
|
+
- [ ] Integrated together
|
|
149
|
+
|
|
150
|
+
### Testing Phase
|
|
151
|
+
- [ ] Unit tests written
|
|
152
|
+
- [ ] Integration tests written
|
|
153
|
+
- [ ] All tests passing
|
|
154
|
+
- [ ] No linting errors
|
|
155
|
+
|
|
156
|
+
### Review Phase
|
|
157
|
+
- [ ] Meets acceptance criteria
|
|
158
|
+
- [ ] Follows team patterns
|
|
159
|
+
- [ ] Code quality high
|
|
160
|
+
- [ ] Documentation complete
|
|
161
|
+
- [ ] Performance acceptable
|
|
162
|
+
- [ ] No breaking changes
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## 💡 Tips
|
|
167
|
+
|
|
168
|
+
- **Start with design** → Plan before coding
|
|
169
|
+
- **Follow patterns** → Use what exists
|
|
170
|
+
- **Write tests early** → Verify as you build
|
|
171
|
+
- **Test thoroughly** → Don't skip edge cases
|
|
172
|
+
- **Document as you go** → Help future maintainers
|
|
173
|
+
- **Keep it simple** → Don't over-engineer
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 🚀 Success Criteria
|
|
178
|
+
|
|
179
|
+
- [ ] All acceptance criteria met
|
|
180
|
+
- [ ] Full test coverage
|
|
181
|
+
- [ ] Code follows team standards
|
|
182
|
+
- [ ] No performance issues
|
|
183
|
+
- [ ] Ready for production
|
|
184
|
+
- [ ] Team can understand and maintain
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
**Build features right: understand requirements, design well, test thoroughly.** ✨
|
|
189
|
+
|
|
190
|
+
Start development now! 🚀
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# Code Investigation Prompt
|
|
2
|
+
|
|
3
|
+
## 🔍 Investigation Question
|
|
4
|
+
|
|
5
|
+
**Question:**
|
|
6
|
+
{{QUESTION}}
|
|
7
|
+
|
|
8
|
+
**Scope:**
|
|
9
|
+
{{SCOPE}}
|
|
10
|
+
|
|
11
|
+
**Background:**
|
|
12
|
+
{{BACKGROUND}}
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 🎯 Your Task
|
|
17
|
+
|
|
18
|
+
Investigate systematically to answer your question and document findings.
|
|
19
|
+
|
|
20
|
+
### Phase 1: Clarify the Question
|
|
21
|
+
|
|
22
|
+
- Restate the question clearly
|
|
23
|
+
- Identify what you need to understand
|
|
24
|
+
- What are you trying to learn?
|
|
25
|
+
- Who needs this information?
|
|
26
|
+
|
|
27
|
+
### Phase 2: Locate Relevant Code
|
|
28
|
+
|
|
29
|
+
Identify which files and components are relevant:
|
|
30
|
+
|
|
31
|
+
- Where does the feature start? (entry point)
|
|
32
|
+
- How does it flow through the system?
|
|
33
|
+
- What files are involved?
|
|
34
|
+
- Are there tests that show usage?
|
|
35
|
+
|
|
36
|
+
### Phase 3: Trace the Flow
|
|
37
|
+
|
|
38
|
+
Follow the code flow from entry to end:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
User Action / API Call
|
|
42
|
+
↓
|
|
43
|
+
Controller / Route Handler
|
|
44
|
+
↓
|
|
45
|
+
Service / Business Logic
|
|
46
|
+
↓
|
|
47
|
+
Model / Data Layer
|
|
48
|
+
↓
|
|
49
|
+
External Systems (if any)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Document:
|
|
53
|
+
- What happens at each step?
|
|
54
|
+
- What data is passed?
|
|
55
|
+
- What transformations occur?
|
|
56
|
+
- What are the key files?
|
|
57
|
+
|
|
58
|
+
### Phase 4: Understand Patterns
|
|
59
|
+
|
|
60
|
+
Look for patterns and conventions:
|
|
61
|
+
|
|
62
|
+
- How is this feature structured?
|
|
63
|
+
- What design patterns are used?
|
|
64
|
+
- How does it follow team conventions?
|
|
65
|
+
- Are there alternative approaches?
|
|
66
|
+
|
|
67
|
+
### Phase 5: Identify Potential Issues
|
|
68
|
+
|
|
69
|
+
Note:
|
|
70
|
+
- Potential bugs or edge cases
|
|
71
|
+
- Performance concerns
|
|
72
|
+
- Security considerations
|
|
73
|
+
- Opportunities for improvement
|
|
74
|
+
|
|
75
|
+
### Phase 6: Document Findings
|
|
76
|
+
|
|
77
|
+
Create clear documentation:
|
|
78
|
+
|
|
79
|
+
**Summary:**
|
|
80
|
+
- What you found
|
|
81
|
+
- How the system works
|
|
82
|
+
- Key takeaways
|
|
83
|
+
|
|
84
|
+
**Code Examples:**
|
|
85
|
+
- Show the important parts
|
|
86
|
+
- Explain the logic
|
|
87
|
+
- Highlight key patterns
|
|
88
|
+
|
|
89
|
+
**Key Files:**
|
|
90
|
+
- List files involved
|
|
91
|
+
- Explain their roles
|
|
92
|
+
- Show dependencies
|
|
93
|
+
|
|
94
|
+
**Questions Answered:**
|
|
95
|
+
- Your original question answered?
|
|
96
|
+
- Any new questions?
|
|
97
|
+
- Follow-up areas to investigate?
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 📚 Team Framework Rules
|
|
102
|
+
|
|
103
|
+
{{FRAMEWORK_RULES}}
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 📏 Team Rules & Standards
|
|
108
|
+
|
|
109
|
+
{{TEAM_RULES}}
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 🔬 Investigation Checklist
|
|
114
|
+
|
|
115
|
+
### Understanding Phase
|
|
116
|
+
- [ ] Question is clear
|
|
117
|
+
- [ ] Scope is defined
|
|
118
|
+
- [ ] Background understood
|
|
119
|
+
|
|
120
|
+
### Code Exploration Phase
|
|
121
|
+
- [ ] Entry point found
|
|
122
|
+
- [ ] Flow traced
|
|
123
|
+
- [ ] Key files identified
|
|
124
|
+
- [ ] Tests examined
|
|
125
|
+
|
|
126
|
+
### Analysis Phase
|
|
127
|
+
- [ ] Patterns understood
|
|
128
|
+
- [ ] Implementation clear
|
|
129
|
+
- [ ] Interactions mapped
|
|
130
|
+
- [ ] Issues noted
|
|
131
|
+
|
|
132
|
+
### Documentation Phase
|
|
133
|
+
- [ ] Summary written
|
|
134
|
+
- [ ] Examples provided
|
|
135
|
+
- [ ] Files documented
|
|
136
|
+
- [ ] Findings saved
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 💡 Tips
|
|
141
|
+
|
|
142
|
+
- **Start with tests** → Show how code is used
|
|
143
|
+
- **Read code carefully** → Don't skim
|
|
144
|
+
- **Ask questions** → Why is it this way?
|
|
145
|
+
- **Follow the flow** → Don't jump around
|
|
146
|
+
- **Document as you go** → Don't lose findings
|
|
147
|
+
- **Save for team** → Use memory system
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## ✅ Success Criteria
|
|
152
|
+
|
|
153
|
+
- [ ] Original question fully answered
|
|
154
|
+
- [ ] Code flow understood
|
|
155
|
+
- [ ] Key patterns identified
|
|
156
|
+
- [ ] Can explain to others
|
|
157
|
+
- [ ] Findings documented
|
|
158
|
+
- [ ] Saved to team memory
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
**Deep understanding leads to better code decisions.** 🔍
|
|
163
|
+
|
|
164
|
+
Start investigating now! 🕵️
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Code Style Guidelines
|
|
2
|
+
|
|
3
|
+
- **Formatting:** Use Prettier (for JS/TS) or standard Laravel formatters (Pint) for PHP.
|
|
4
|
+
- **Indentation:** 4 spaces for PHP, 2 spaces for JS/TS/CSS.
|
|
5
|
+
- **Line Length:** Max 120 characters per line.
|
|
6
|
+
- **Complexity:** Functions should do one thing only. If a function goes over 50 lines, reconsider the design.
|
|
7
|
+
- **Comments:** Comment the "why", not the "what". Code should be self-explanatory whenever possible.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Code Style Guidelines — Java / Spring Boot
|
|
2
|
+
|
|
3
|
+
- **Formatter:** Google Java Format or IntelliJ default Java formatter
|
|
4
|
+
- **Indentation:** 4 spaces (no tabs)
|
|
5
|
+
- **Line Length:** Max 120 characters per line
|
|
6
|
+
- **Braces:** Always use braces even for single-line if/else/for
|
|
7
|
+
- **Blank lines:** 1 blank line between methods; 2 blank lines between top-level declarations
|
|
8
|
+
- **Complexity:** Methods should do one thing only. If a method exceeds ~30 lines, consider extracting
|
|
9
|
+
- **Comments:** Comment the "why", not the "what". Use Javadoc for public API methods
|
|
10
|
+
- **Annotations:** Place each annotation on its own line above the declaration
|
|
11
|
+
- **Imports:** No wildcard imports (`import java.util.*`). Organize: Java → javax → third-party → internal
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Naming Conventions — Java / Spring Boot
|
|
2
|
+
|
|
3
|
+
- **Classes:** PascalCase → `UserService`, `OrderController`, `PaymentRepository`
|
|
4
|
+
- **Interfaces:** PascalCase (no `I` prefix) → `UserService`, NOT `IUserService`
|
|
5
|
+
- **Implementations:** Append `Impl` → `UserServiceImpl`
|
|
6
|
+
- **Methods:** camelCase, verb-first → `findById()`, `createOrder()`, `isActive()`
|
|
7
|
+
- **Variables:** camelCase, descriptive → `userId`, `orderList`, NOT `u`, `ol`
|
|
8
|
+
- **Constants:** UPPER_SNAKE_CASE → `MAX_RETRY_COUNT`, `DEFAULT_TIMEOUT_MS`
|
|
9
|
+
- **Packages:** all lowercase → `com.company.project.service`
|
|
10
|
+
- **Database tables:** snake_case → `user_orders`, `product_items`
|
|
11
|
+
- **Database columns:** snake_case → `created_at`, `user_id`, `is_deleted`
|
|
12
|
+
- **REST endpoints:** kebab-case, plural → `/api/v1/user-profiles`, `/api/v1/orders`
|
|
13
|
+
- **Request DTOs:** `[Action][Resource]Request` → `CreateUserRequest`, `UpdateOrderRequest`
|
|
14
|
+
- **Response DTOs:** `[Resource]Response` → `UserResponse`, `OrderDetailResponse`
|
|
15
|
+
- **Enums:** PascalCase class, UPPER_SNAKE_CASE values → `OrderStatus.PENDING`
|
|
16
|
+
- **Test classes:** `[ClassUnderTest]Test` → `UserServiceImplTest`
|
|
17
|
+
- **Test methods:** `methodName_shouldExpectedBehavior_whenCondition` → `create_shouldThrowException_whenEmailDuplicated`
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Code Review Checklist — Java / Spring Boot
|
|
2
|
+
|
|
3
|
+
## Architecture
|
|
4
|
+
- [ ] Controller only handles HTTP (parse request, call service, return response) — no business logic
|
|
5
|
+
- [ ] Business logic resides in Service, not in Controller or Repository
|
|
6
|
+
- [ ] Repository only performs data access — no business logic
|
|
7
|
+
- [ ] Entity is not exposed directly — always use DTOs
|
|
8
|
+
|
|
9
|
+
## Code Quality
|
|
10
|
+
- [ ] No `@Autowired` field injection — use constructor injection (Lombok `@RequiredArgsConstructor`)
|
|
11
|
+
- [ ] No `@Data` on Entity — use `@Getter @Setter` separately
|
|
12
|
+
- [ ] No `new RuntimeException()` — create specific custom exceptions
|
|
13
|
+
- [ ] No magic numbers/strings — use named constants
|
|
14
|
+
- [ ] No dead code (commented-out code, unused variables)
|
|
15
|
+
|
|
16
|
+
## Database & Performance
|
|
17
|
+
- [ ] No N+1 queries — use `@EntityGraph` or `JOIN FETCH`
|
|
18
|
+
- [ ] Lists are paginated — do not return the entire table
|
|
19
|
+
- [ ] Read-only service methods have `@Transactional(readOnly = true)`
|
|
20
|
+
- [ ] Indexes on columns frequently used in WHERE/JOIN
|
|
21
|
+
|
|
22
|
+
## Testing
|
|
23
|
+
- [ ] Unit tests for Service layer (Mockito)
|
|
24
|
+
- [ ] Tests cover: happy path, error cases, edge cases
|
|
25
|
+
- [ ] Do not mock things that don't need mocking
|
|
26
|
+
|
|
27
|
+
## Security
|
|
28
|
+
- [ ] Input is validated using Bean Validation (`@Valid`)
|
|
29
|
+
- [ ] No logging of passwords, tokens, or PII
|
|
30
|
+
- [ ] SQL injection is not possible (use parameterized JPA/JPQL)
|
|
31
|
+
- [ ] Stack traces are not returned to the client
|
|
32
|
+
|
|
33
|
+
## Logging
|
|
34
|
+
- [ ] Use `@Slf4j` + SLF4J — no `System.out.println`
|
|
35
|
+
- [ ] Correct log levels: `info` (normal), `warn` (recoverable), `error` (unexpected + exception)
|
|
36
|
+
- [ ] Log messages have enough context for debugging (include ID, action)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Code Style Guidelines — JavaScript / TypeScript
|
|
2
|
+
|
|
3
|
+
- **Formatter:** Prettier (auto-format on save)
|
|
4
|
+
- **Linter:** ESLint with team config
|
|
5
|
+
- **Indentation:** 2 spaces (no tabs)
|
|
6
|
+
- **Line Length:** Max 100 characters per line
|
|
7
|
+
- **Quotes:** Single quotes for JS/TS; double quotes in JSX attributes
|
|
8
|
+
- **Semicolons:** Required at end of statements
|
|
9
|
+
- **Trailing comma:** Required in multi-line arrays/objects/params
|
|
10
|
+
- **Complexity:** Functions should do one thing only. Max ~40 lines; extract if longer
|
|
11
|
+
- **Comments:** Comment the "why", not the "what". JSDoc for exported functions
|
|
12
|
+
- **TypeScript:** No `any`. Use proper types, generics, or `unknown`
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Naming Conventions — JavaScript / TypeScript
|
|
2
|
+
|
|
3
|
+
- **Files (components):** PascalCase → `UserCard.tsx`, `OrderList.tsx`
|
|
4
|
+
- **Files (utils/hooks):** camelCase → `useUserList.ts`, `formatDate.ts`
|
|
5
|
+
- **Components:** PascalCase → `UserCard`, `OrderDetail`
|
|
6
|
+
- **Functions/methods:** camelCase, verb-first → `getUser()`, `handleSubmit()`, `formatDate()`
|
|
7
|
+
- **Variables:** camelCase, descriptive → `userId`, `orderList`, NOT `u`, `ol`
|
|
8
|
+
- **Constants:** UPPER_SNAKE_CASE → `MAX_RETRY`, `API_TIMEOUT`
|
|
9
|
+
- **Types/Interfaces:** PascalCase → `User`, `CreateUserRequest`, `ApiResponse<T>`
|
|
10
|
+
- **Boolean variables:** `is/has/can` prefix → `isLoading`, `hasError`, `canEdit`
|
|
11
|
+
- **Event handlers:** `handle` prefix → `handleDelete`, `handleFormSubmit`
|
|
12
|
+
- **Custom hooks:** `use` prefix → `useUserList`, `useAuth`, `useModal`
|
|
13
|
+
- **Enums:** PascalCase → `OrderStatus.Pending`
|
|
14
|
+
- **CSS classes:** kebab-case → `user-card`, `nav-item`
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Naming Conventions
|
|
2
|
+
|
|
3
|
+
- **Variables & Functions:** `camelCase`
|
|
4
|
+
- **Classes & Interfaces:** `PascalCase`
|
|
5
|
+
- **Database Tables:** `snake_case` (plural), e.g., `user_settings`
|
|
6
|
+
- **Constants:** `UPPER_SNAKE_CASE`
|
|
7
|
+
- **Files/Folders:**
|
|
8
|
+
- `kebab-case` for Vue/React components and standard files by default.
|
|
9
|
+
- Exception: Next.js or Laravel core conventions override this rule (e.g. `PascalCase.tsx` if team uses it).
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Code Style Guidelines — PHP / Laravel
|
|
2
|
+
|
|
3
|
+
- **Formatter:** Laravel Pint (runs `./vendor/bin/pint`)
|
|
4
|
+
- **Standard:** PSR-12
|
|
5
|
+
- **Indentation:** 4 spaces (no tabs)
|
|
6
|
+
- **Line Length:** Max 120 characters per line
|
|
7
|
+
- **PHP Version:** 8.1+ — use typed properties, enums, match expression, named arguments
|
|
8
|
+
- **Strict types:** Always declare `declare(strict_types=1)` at top of every file
|
|
9
|
+
- **Complexity:** Methods should do one thing only. Max ~30 lines; use Services/Actions for complex logic
|
|
10
|
+
- **Comments:** Comment the "why", not the "what". PHPDoc for public methods
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Naming Conventions — PHP / Laravel
|
|
2
|
+
|
|
3
|
+
- **Classes:** PascalCase → `UserService`, `OrderController`
|
|
4
|
+
- **Methods:** camelCase → `findById()`, `createOrder()`
|
|
5
|
+
- **Variables:** camelCase → `$userId`, `$orderList`
|
|
6
|
+
- **Constants:** UPPER_SNAKE_CASE → `MAX_RETRY_COUNT`
|
|
7
|
+
- **Database tables:** snake_case, plural → `users`, `order_items`
|
|
8
|
+
- **Database columns:** snake_case → `created_at`, `user_id`
|
|
9
|
+
- **Routes:** kebab-case → `/user-profiles`, `/order-history`
|
|
10
|
+
- **Controllers:** singular + Controller → `UserController`, `OrderController`
|
|
11
|
+
- **Models:** singular PascalCase → `User`, `OrderItem`
|
|
12
|
+
- **Migrations:** descriptive snake_case → `create_users_table`, `add_status_to_orders_table`
|
|
13
|
+
- **Form Requests:** `[Action][Resource]Request` → `CreateUserRequest`, `UpdateOrderRequest`
|
|
14
|
+
- **Events:** past tense → `UserCreated`, `OrderShipped`
|
|
15
|
+
- **Jobs:** imperative → `SendWelcomeEmail`, `ProcessPayment`
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Code Review Checklist
|
|
2
|
+
|
|
3
|
+
Before creating a Pull Request, verify:
|
|
4
|
+
- [ ] Code compiles and passes all local tests.
|
|
5
|
+
- [ ] No strict dependency on local environment (hardcoded IPs, paths).
|
|
6
|
+
- [ ] Security checks: No exposed API keys, no raw SQL vulnerability.
|
|
7
|
+
- [ ] Impact Analysis run (via `impact-analysis` skill) and implications documented.
|
|
8
|
+
- [ ] Naming and Code Style rules observed.
|
|
9
|
+
- [ ] Feature is covered by unit/feature tests where applicable.
|