@wipal/agent-team 1.0.3 → 1.1.0
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/.claude/commands/skills/discover.md +127 -0
- package/.claude/commands/skills/install.md +225 -0
- package/.claude/commands/skills/review.md +234 -0
- package/.claude/commands/utils/learn.md +142 -0
- package/.claude/commands/utils/retrospect.md +62 -0
- package/.claude/commands/utils/switch.md +113 -0
- package/.claude/commands/utils/sync.md +183 -0
- package/.claude/rules/common/general-rules.md +6 -0
- package/.claude/rules/role-rules/dev-be-rules.md +241 -0
- package/.claude/rules/role-rules/dev-fe-rules.md +76 -0
- package/.claude/skills/SKILL-INDEX.md +24 -5
- package/.claude/skills/core/knowledge-graph/SKILL.md +214 -0
- package/.claude/skills/core/sequential-thinking/SKILL.md +112 -0
- package/.claude/skills/core/sequential-thinking/references/advanced.md +122 -0
- package/.claude/skills/core/sequential-thinking/references/examples.md +274 -0
- package/.claude/skills/domain/architecture/c4-architecture/SKILL.md +314 -0
- package/.claude/skills/domain/architecture/c4-architecture/references/advanced-patterns.md +552 -0
- package/.claude/skills/domain/architecture/c4-architecture/references/c4-syntax.md +492 -0
- package/.claude/skills/domain/architecture/c4-architecture/references/common-mistakes.md +437 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/SKILL.md +238 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/advanced-features.md +556 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/architecture-diagrams.md +192 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/c4-diagrams.md +410 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/class-diagrams.md +361 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/erd-diagrams.md +510 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/flowcharts.md +450 -0
- package/.claude/skills/domain/architecture/mermaid-diagrams/references/sequence-diagrams.md +394 -0
- package/.claude/skills/domain/backend/testing-be/SKILL.md +121 -17
- package/.claude/skills/domain/design/design-system/SKILL.md +169 -0
- package/.claude/skills/domain/design/html-css-output/SKILL.md +253 -0
- package/.claude/skills/domain/design/mockup-creation/SKILL.md +230 -0
- package/.claude/skills/domain/design/responsive-design/SKILL.md +207 -0
- package/.claude/skills/domain/design/ui-design/SKILL.md +124 -0
- package/.claude/skills/domain/frontend/testing-fe/SKILL.md +143 -38
- package/.claude/skills/domain/frontend/ui-ux-pro-max/README.md +45 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/SKILL.md +404 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/charts.csv +26 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/colors.csv +97 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/icons.csv +101 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/landing.csv +31 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/products.csv +97 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/styles.csv +68 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/typography.csv +58 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/core.py +253 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/search.py +114 -0
- package/.claude/skills/domain/product/requirements-clarity/SKILL.md +340 -0
- package/.claude/skills/skills-registry.yaml +103 -8
- package/README.md +107 -33
- package/README.npm.md +252 -0
- package/TUTORIAL.md +256 -0
- package/bin/agent-team.js +26 -7
- package/config/roles.yaml +107 -0
- package/docs/01-architecture.md +699 -0
- package/docs/02-setup-guide.md +634 -0
- package/docs/03-skills-guide.md +628 -0
- package/docs/04-workflows.md +792 -0
- package/docs/05-model-strategy.md +550 -0
- package/docs/06-extend-guide.md +1226 -0
- package/docs/07-quick-reference.md +578 -0
- package/docs/08-skills-discovery.md +342 -0
- package/docs/README.md +134 -0
- package/docs/rqm.md +560 -0
- package/package.json +10 -4
- package/scripts/postinstall.js +46 -0
- package/src/commands/add.js +131 -67
- package/src/commands/init.js +419 -9
- package/src/commands/list.js +20 -16
- package/src/commands/projects.js +127 -0
- package/src/commands/setup-hooks.js +261 -0
- package/src/index.js +0 -1
- package/src/utils/file-utils.js +147 -50
- package/src/utils/global-registry.js +224 -0
- package/templates/CLAUDE.md.tmpl +128 -20
- package/templates/MEMORY.md.tmpl +119 -0
- package/templates/agent.md.tmpl +205 -0
- package/templates/code/nestjs-controller.ts.tmpl +49 -0
- package/templates/code/nestjs-dto.ts.tmpl +63 -0
- package/templates/code/nestjs-service.ts.tmpl +45 -0
- package/templates/code/react-component.tsx.tmpl +24 -0
- package/templates/code/react-hook.ts.tmpl +54 -0
- package/templates/code/test.spec.ts.tmpl +50 -0
- package/templates/code/vue-component.vue.tmpl +49 -0
- package/templates/code/vue-composable.ts.tmpl +54 -0
- package/templates/knowledge.md.tmpl +152 -17
- package/templates/meeting-notes.md.tmpl +110 -0
- package/templates/memory/hooks.memory.json +50 -0
- package/templates/memory/settings.memory.json +16 -0
- package/templates/reports/bug-report.md.tmpl +164 -0
- package/templates/reports/code-review.md.tmpl +201 -0
- package/templates/reports/sprint-report.md.tmpl +218 -0
- package/templates/roles/ba.md +53 -0
- package/templates/roles/designer.md +82 -0
- package/templates/roles/dev-be.md +49 -0
- package/templates/roles/dev-fe.md +49 -0
- package/templates/roles/devops.md +53 -0
- package/templates/roles/pm.md +49 -0
- package/templates/roles/qa.md +53 -0
- package/templates/roles/sa.md +49 -0
- package/templates/roles/tech-lead.md +132 -0
- package/templates/skills/memory/memory-status.md +78 -0
- package/templates/skills/memory/recall.md +160 -0
- package/templates/skills/memory/reflect.md +168 -0
- package/templates/skills/memory/remember.md +105 -0
- package/templates/tasks/lessons.md.tmpl +77 -0
- package/templates/tasks/todo.md.tmpl +53 -0
- package/src/commands/switch.js +0 -53
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
# Class Diagrams
|
|
2
|
+
|
|
3
|
+
Class diagrams model object-oriented designs and domain models. They show entities (classes), their attributes/methods, and relationships.
|
|
4
|
+
|
|
5
|
+
## Basic Syntax
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
classDiagram
|
|
9
|
+
ClassName
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Defining Classes with Members
|
|
13
|
+
|
|
14
|
+
```mermaid
|
|
15
|
+
classDiagram
|
|
16
|
+
class BankAccount {
|
|
17
|
+
+String owner
|
|
18
|
+
+Decimal balance
|
|
19
|
+
-String accountNumber
|
|
20
|
+
+deposit(amount)
|
|
21
|
+
+withdraw(amount)
|
|
22
|
+
+getBalance() Decimal
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Visibility modifiers:**
|
|
27
|
+
- `+` Public
|
|
28
|
+
- `-` Private
|
|
29
|
+
- `#` Protected
|
|
30
|
+
- `~` Package/Internal
|
|
31
|
+
|
|
32
|
+
**Member syntax:**
|
|
33
|
+
- `+type attribute` - Attribute with type
|
|
34
|
+
- `+method(params) ReturnType` - Method with parameters and return type
|
|
35
|
+
|
|
36
|
+
## Relationships
|
|
37
|
+
|
|
38
|
+
### Association (`--`)
|
|
39
|
+
Loose relationship where entities use each other but exist independently.
|
|
40
|
+
|
|
41
|
+
```mermaid
|
|
42
|
+
classDiagram
|
|
43
|
+
Title -- Genre
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Composition (`*--`)
|
|
47
|
+
Strong ownership - child cannot exist without parent. When parent is deleted, children are deleted.
|
|
48
|
+
|
|
49
|
+
```mermaid
|
|
50
|
+
classDiagram
|
|
51
|
+
Order *-- LineItem
|
|
52
|
+
House *-- Room
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Aggregation (`o--`)
|
|
56
|
+
Weaker ownership - child can exist independently. Represents "has-a" relationship.
|
|
57
|
+
|
|
58
|
+
```mermaid
|
|
59
|
+
classDiagram
|
|
60
|
+
Department o-- Employee
|
|
61
|
+
Playlist o-- Song
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Inheritance (`<|--`)
|
|
65
|
+
"Is-a" relationship. Child class inherits from parent class.
|
|
66
|
+
|
|
67
|
+
```mermaid
|
|
68
|
+
classDiagram
|
|
69
|
+
Animal <|-- Dog
|
|
70
|
+
Animal <|-- Cat
|
|
71
|
+
|
|
72
|
+
class Animal {
|
|
73
|
+
+String name
|
|
74
|
+
+makeSound()
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
class Dog {
|
|
78
|
+
+bark()
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Dependency (`<..`)
|
|
83
|
+
One class depends on another, often as a parameter or local variable.
|
|
84
|
+
|
|
85
|
+
```mermaid
|
|
86
|
+
classDiagram
|
|
87
|
+
OrderProcessor <.. PaymentGateway
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Realization/Implementation (`<|..`)
|
|
91
|
+
Class implements an interface.
|
|
92
|
+
|
|
93
|
+
```mermaid
|
|
94
|
+
classDiagram
|
|
95
|
+
class Drawable {
|
|
96
|
+
<<interface>>
|
|
97
|
+
+draw()
|
|
98
|
+
}
|
|
99
|
+
Drawable <|.. Circle
|
|
100
|
+
Drawable <|.. Rectangle
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Multiplicity
|
|
104
|
+
|
|
105
|
+
Show how many instances participate in a relationship:
|
|
106
|
+
|
|
107
|
+
```mermaid
|
|
108
|
+
classDiagram
|
|
109
|
+
Customer "1" --> "0..*" Order : places
|
|
110
|
+
Order "1" *-- "1..*" LineItem : contains
|
|
111
|
+
Author "1..*" -- "1..*" Book : writes
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Common multiplicities:**
|
|
115
|
+
- `1` - Exactly one
|
|
116
|
+
- `0..1` - Zero or one
|
|
117
|
+
- `0..*` or `*` - Zero or many
|
|
118
|
+
- `1..*` - One or many
|
|
119
|
+
- `m..n` - Between m and n
|
|
120
|
+
|
|
121
|
+
## Relationship Labels
|
|
122
|
+
|
|
123
|
+
```mermaid
|
|
124
|
+
classDiagram
|
|
125
|
+
Customer --> Order : places
|
|
126
|
+
Order --> Product : contains
|
|
127
|
+
Driver --> Vehicle : drives
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Class Stereotypes
|
|
131
|
+
|
|
132
|
+
Mark special class types:
|
|
133
|
+
|
|
134
|
+
```mermaid
|
|
135
|
+
classDiagram
|
|
136
|
+
class IRepository {
|
|
137
|
+
<<interface>>
|
|
138
|
+
+save(entity)
|
|
139
|
+
+findById(id)
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
class UserService {
|
|
143
|
+
<<service>>
|
|
144
|
+
+createUser()
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
class UserDTO {
|
|
148
|
+
<<dataclass>>
|
|
149
|
+
+String name
|
|
150
|
+
+String email
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Abstract Classes and Methods
|
|
155
|
+
|
|
156
|
+
```mermaid
|
|
157
|
+
classDiagram
|
|
158
|
+
class Shape {
|
|
159
|
+
<<abstract>>
|
|
160
|
+
+int x
|
|
161
|
+
+int y
|
|
162
|
+
+draw()* abstract
|
|
163
|
+
+move(x, y)
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
Shape <|-- Circle
|
|
167
|
+
Shape <|-- Rectangle
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Generic Classes
|
|
171
|
+
|
|
172
|
+
```mermaid
|
|
173
|
+
classDiagram
|
|
174
|
+
class List~T~ {
|
|
175
|
+
+add(item: T)
|
|
176
|
+
+get(index: int) T
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
List~String~ <-- StringProcessor
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Comprehensive Example: E-Commerce Domain
|
|
183
|
+
|
|
184
|
+
```mermaid
|
|
185
|
+
classDiagram
|
|
186
|
+
%% Core entities
|
|
187
|
+
class Customer {
|
|
188
|
+
+UUID id
|
|
189
|
+
+String email
|
|
190
|
+
+String name
|
|
191
|
+
+Address shippingAddress
|
|
192
|
+
+placeOrder(cart: Cart) Order
|
|
193
|
+
+getOrderHistory() List~Order~
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
class Order {
|
|
197
|
+
+UUID id
|
|
198
|
+
+DateTime orderDate
|
|
199
|
+
+OrderStatus status
|
|
200
|
+
+Decimal total
|
|
201
|
+
+calculateTotal() Decimal
|
|
202
|
+
+ship()
|
|
203
|
+
+cancel()
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
class LineItem {
|
|
207
|
+
+int quantity
|
|
208
|
+
+Decimal pricePerUnit
|
|
209
|
+
+getSubtotal() Decimal
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
class Product {
|
|
213
|
+
+UUID id
|
|
214
|
+
+String name
|
|
215
|
+
+String description
|
|
216
|
+
+Decimal price
|
|
217
|
+
+int stockQuantity
|
|
218
|
+
+reduceStock(quantity: int)
|
|
219
|
+
+isAvailable() bool
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
class Category {
|
|
223
|
+
+String name
|
|
224
|
+
+String description
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
class Cart {
|
|
228
|
+
+addItem(product: Product, quantity: int)
|
|
229
|
+
+removeItem(product: Product)
|
|
230
|
+
+getTotal() Decimal
|
|
231
|
+
+clear()
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
%% Relationships
|
|
235
|
+
Customer "1" --> "0..*" Order : places
|
|
236
|
+
Customer "1" --> "1" Cart : has
|
|
237
|
+
Order "1" *-- "1..*" LineItem : contains
|
|
238
|
+
LineItem "1" --> "1" Product : references
|
|
239
|
+
Product "0..*" --> "1" Category : belongs to
|
|
240
|
+
Cart "1" o-- "0..*" Product : contains
|
|
241
|
+
|
|
242
|
+
%% Enums
|
|
243
|
+
class OrderStatus {
|
|
244
|
+
<<enumeration>>
|
|
245
|
+
PENDING
|
|
246
|
+
PAID
|
|
247
|
+
SHIPPED
|
|
248
|
+
DELIVERED
|
|
249
|
+
CANCELLED
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
Order --> OrderStatus
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## Domain-Driven Design Patterns
|
|
256
|
+
|
|
257
|
+
### Entities
|
|
258
|
+
```mermaid
|
|
259
|
+
classDiagram
|
|
260
|
+
class User {
|
|
261
|
+
<<entity>>
|
|
262
|
+
-UUID id
|
|
263
|
+
+String email
|
|
264
|
+
+String name
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Value Objects
|
|
269
|
+
```mermaid
|
|
270
|
+
classDiagram
|
|
271
|
+
class Money {
|
|
272
|
+
<<value object>>
|
|
273
|
+
+Decimal amount
|
|
274
|
+
+String currency
|
|
275
|
+
+add(other: Money) Money
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
class Address {
|
|
279
|
+
<<value object>>
|
|
280
|
+
+String street
|
|
281
|
+
+String city
|
|
282
|
+
+String postalCode
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### Aggregates
|
|
287
|
+
```mermaid
|
|
288
|
+
classDiagram
|
|
289
|
+
class Order {
|
|
290
|
+
<<aggregate root>>
|
|
291
|
+
-UUID id
|
|
292
|
+
+addLineItem(item)
|
|
293
|
+
+removeLineItem(item)
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
Order *-- LineItem
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
## Tips for Effective Class Diagrams
|
|
300
|
+
|
|
301
|
+
1. **Start with core entities** - Add attributes and methods incrementally
|
|
302
|
+
2. **Show only relevant details** - Omit obvious getters/setters unless important
|
|
303
|
+
3. **Use appropriate relationships** - Choose between association, aggregation, and composition carefully
|
|
304
|
+
4. **Add multiplicity** - Clarifies how many instances participate
|
|
305
|
+
5. **Group related classes** - Use notes or visual proximity
|
|
306
|
+
6. **Document invariants** - Use notes to explain business rules
|
|
307
|
+
|
|
308
|
+
## Common Patterns
|
|
309
|
+
|
|
310
|
+
### Repository Pattern
|
|
311
|
+
```mermaid
|
|
312
|
+
classDiagram
|
|
313
|
+
class IRepository~T~ {
|
|
314
|
+
<<interface>>
|
|
315
|
+
+save(entity: T)
|
|
316
|
+
+findById(id: UUID) T
|
|
317
|
+
+delete(entity: T)
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
class UserRepository {
|
|
321
|
+
+findByEmail(email: String) User
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
IRepository~User~ <|.. UserRepository
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Factory Pattern
|
|
328
|
+
```mermaid
|
|
329
|
+
classDiagram
|
|
330
|
+
class ShapeFactory {
|
|
331
|
+
+createShape(type: String) Shape
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
class Shape {
|
|
335
|
+
<<abstract>>
|
|
336
|
+
+draw()*
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
ShapeFactory ..> Shape : creates
|
|
340
|
+
Shape <|-- Circle
|
|
341
|
+
Shape <|-- Rectangle
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### Strategy Pattern
|
|
345
|
+
```mermaid
|
|
346
|
+
classDiagram
|
|
347
|
+
class PaymentProcessor {
|
|
348
|
+
-PaymentStrategy strategy
|
|
349
|
+
+setStrategy(strategy: PaymentStrategy)
|
|
350
|
+
+processPayment(amount: Decimal)
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
class PaymentStrategy {
|
|
354
|
+
<<interface>>
|
|
355
|
+
+pay(amount: Decimal)*
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
PaymentStrategy <|.. CreditCardPayment
|
|
359
|
+
PaymentStrategy <|.. PayPalPayment
|
|
360
|
+
PaymentProcessor --> PaymentStrategy
|
|
361
|
+
```
|