proagents 1.6.16 → 1.6.18
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/settings.local.json +169 -0
- package/COMMANDS.md +595 -0
- package/README.md +22 -64
- package/bin/proagents.js +0 -2
- package/lib/commands/init.js +4 -174
- package/package.json +2 -7
- package/.proagents/ai-models/README.md +0 -141
- package/.proagents/ai-models/cost-management.md +0 -362
- package/.proagents/ai-models/fallbacks.md +0 -342
- package/.proagents/ai-models/model-config.md +0 -318
- package/.proagents/ai-models/task-routing.md +0 -503
- package/.proagents/ai-training/README.md +0 -155
- package/.proagents/ai-training/continuous-learning.md +0 -413
- package/.proagents/ai-training/domain-knowledge.md +0 -378
- package/.proagents/ai-training/pattern-learning.md +0 -455
- package/.proagents/ai-training/training-data.md +0 -337
- package/.proagents/ai-training/user-preferences.md +0 -346
- package/.proagents/approval-workflows/README.md +0 -146
- package/.proagents/approval-workflows/approval-config.md +0 -332
- package/.proagents/approval-workflows/approval-stages.md +0 -503
- package/.proagents/approval-workflows/emergency-bypass.md +0 -351
- package/.proagents/approval-workflows/examples.md +0 -859
- package/.proagents/approval-workflows/notifications.md +0 -320
- package/.proagents/compliance/README.md +0 -206
- package/.proagents/compliance/access-control.md +0 -310
- package/.proagents/compliance/audit-logging.md +0 -444
- package/.proagents/compliance/compliance-frameworks.md +0 -429
- package/.proagents/compliance/reports.md +0 -491
- package/.proagents/compliance/retention-policies.md +0 -454
- package/.proagents/config-versioning/README.md +0 -120
- package/.proagents/config-versioning/changelog.md +0 -300
- package/.proagents/config-versioning/rollback.md +0 -283
- package/.proagents/config-versioning/versioning.md +0 -330
- package/.proagents/contract-testing/README.md +0 -223
- package/.proagents/contract-testing/contract-testing.md +0 -614
- package/.proagents/contract-testing/pact-integration.md +0 -507
- package/.proagents/contract-testing/schema-validation.md +0 -565
- package/.proagents/dependency-management/README.md +0 -140
- package/.proagents/dependency-management/automation.md +0 -363
- package/.proagents/dependency-management/compatibility.md +0 -319
- package/.proagents/dependency-management/security-scanning.md +0 -413
- package/.proagents/dependency-management/update-policies.md +0 -374
- package/.proagents/disaster-recovery/README.md +0 -247
- package/.proagents/disaster-recovery/automation.md +0 -366
- package/.proagents/disaster-recovery/backup-recovery.md +0 -571
- package/.proagents/disaster-recovery/incident-response.md +0 -565
- package/.proagents/disaster-recovery/rollback-procedures.md +0 -499
- package/.proagents/disaster-recovery/runbooks.md +0 -603
- package/.proagents/disaster-recovery/scenarios.md +0 -892
- package/.proagents/disaster-recovery/testing.md +0 -438
- package/.proagents/environments/README.md +0 -244
- package/.proagents/environments/configuration.md +0 -437
- package/.proagents/environments/promotion.md +0 -434
- package/.proagents/environments/setup.md +0 -420
- package/.proagents/examples/README.md +0 -55
- package/.proagents/examples/backend-nodejs/README.md +0 -188
- package/.proagents/examples/backend-nodejs/complete-conversation.md +0 -601
- package/.proagents/examples/backend-nodejs/proagents.config.yaml +0 -415
- package/.proagents/examples/backend-nodejs/workflow-example.md +0 -909
- package/.proagents/examples/fullstack-nextjs/README.md +0 -155
- package/.proagents/examples/fullstack-nextjs/complete-conversation.md +0 -604
- package/.proagents/examples/fullstack-nextjs/proagents.config.yaml +0 -287
- package/.proagents/examples/fullstack-nextjs/workflow-example.md +0 -553
- package/.proagents/examples/mobile-react-native/README.md +0 -171
- package/.proagents/examples/mobile-react-native/complete-conversation.md +0 -825
- package/.proagents/examples/mobile-react-native/proagents.config.yaml +0 -330
- package/.proagents/examples/mobile-react-native/workflow-example.md +0 -723
- package/.proagents/examples/web-frontend-react/README.md +0 -125
- package/.proagents/examples/web-frontend-react/complete-conversation.md +0 -556
- package/.proagents/examples/web-frontend-react/proagents.config.yaml +0 -183
- package/.proagents/examples/web-frontend-react/workflow-example.md +0 -603
- package/.proagents/existing-projects/README.md +0 -65
- package/.proagents/existing-projects/challenges.md +0 -861
- package/.proagents/existing-projects/coexistence-mode.md +0 -483
- package/.proagents/existing-projects/compatibility-assessment.md +0 -541
- package/.proagents/existing-projects/gradual-adoption.md +0 -515
- package/.proagents/existing-projects/migration-strategies.md +0 -788
- package/.proagents/existing-projects/pattern-reconciliation.md +0 -489
- package/.proagents/existing-projects/team-onboarding.md +0 -617
- package/.proagents/existing-projects/technical-debt-handling.md +0 -644
- package/.proagents/feature-flags/README.md +0 -263
- package/.proagents/feature-flags/ab-testing.md +0 -413
- package/.proagents/feature-flags/configuration.md +0 -420
- package/.proagents/feature-flags/kill-switches.md +0 -444
- package/.proagents/feature-flags/rollout-strategies.md +0 -392
- package/.proagents/history.log +0 -12
- package/.proagents/i18n/README.md +0 -133
- package/.proagents/i18n/extraction.md +0 -433
- package/.proagents/i18n/tms-integration.md +0 -332
- package/.proagents/i18n/translation-workflow.md +0 -413
- package/.proagents/i18n/validation.md +0 -355
- package/.proagents/logging/README.md +0 -276
- package/.proagents/logging/aggregation.md +0 -475
- package/.proagents/logging/log-levels.md +0 -376
- package/.proagents/logging/sensitive-data.md +0 -423
- package/.proagents/logging/structured-logging.md +0 -406
- package/.proagents/metrics/README.md +0 -69
- package/.proagents/metrics/code-quality-kpis.md +0 -461
- package/.proagents/metrics/deployment-metrics.md +0 -517
- package/.proagents/metrics/developer-productivity.md +0 -368
- package/.proagents/metrics/learning-effectiveness.md +0 -478
- package/.proagents/migrations/README.md +0 -77
- package/.proagents/migrations/from-claude-projects.md +0 -313
- package/.proagents/migrations/from-cursor-rules.md +0 -345
- package/.proagents/migrations/from-custom-workflows.md +0 -410
- package/.proagents/monitoring/README.md +0 -308
- package/.proagents/monitoring/alerting.md +0 -449
- package/.proagents/monitoring/dashboards.md +0 -454
- package/.proagents/monitoring/health-checks.md +0 -436
- package/.proagents/monitoring/metrics.md +0 -434
- package/.proagents/multi-project/README.md +0 -170
- package/.proagents/multi-project/coordinated-deploy.md +0 -510
- package/.proagents/multi-project/cross-project-deps.md +0 -395
- package/.proagents/multi-project/unified-changelog.md +0 -477
- package/.proagents/multi-project/walkthroughs/monorepo-setup.md +0 -787
- package/.proagents/multi-project/workspace-config.md +0 -408
- package/.proagents/notifications/README.md +0 -151
- package/.proagents/notifications/channels.md +0 -457
- package/.proagents/notifications/preferences.md +0 -415
- package/.proagents/notifications/routing.md +0 -449
- package/.proagents/notifications/scheduling.md +0 -425
- package/.proagents/notifications/templates.md +0 -446
- package/.proagents/offline-mode/README.md +0 -145
- package/.proagents/offline-mode/caching.md +0 -344
- package/.proagents/offline-mode/offline-operations.md +0 -312
- package/.proagents/offline-mode/queue-specifications.md +0 -679
- package/.proagents/offline-mode/sync.md +0 -475
- package/.proagents/parallel-features/README.md +0 -85
- package/.proagents/parallel-features/conflict-detection.md +0 -226
- package/.proagents/parallel-features/dependency-management.md +0 -392
- package/.proagents/parallel-features/merge-coordination.md +0 -506
- package/.proagents/parallel-features/tracking-system.md +0 -416
- package/.proagents/performance/README.md +0 -59
- package/.proagents/performance/bundle-analysis.md +0 -375
- package/.proagents/performance/load-testing.md +0 -563
- package/.proagents/performance/runtime-metrics.md +0 -489
- package/.proagents/performance/web-vitals.md +0 -425
- package/.proagents/plugins/README.md +0 -139
- package/.proagents/plugins/creating-plugins.md +0 -504
- package/.proagents/plugins/plugin-api.md +0 -467
- package/.proagents/plugins/plugin-registry.md +0 -276
- package/.proagents/reporting/README.md +0 -158
- package/.proagents/reporting/dashboards.md +0 -366
- package/.proagents/reporting/exports.md +0 -524
- package/.proagents/reporting/quality-metrics.md +0 -385
- package/.proagents/reporting/templates/README.md +0 -56
- package/.proagents/reporting/templates/dashboard-config.json +0 -187
- package/.proagents/reporting/templates/metrics-queries.md +0 -427
- package/.proagents/reporting/templates/react-dashboard.tsx +0 -544
- package/.proagents/reporting/templates/widgets.md +0 -451
- package/.proagents/reporting/velocity-metrics.md +0 -340
- package/.proagents/reverse-engineering/README.md +0 -151
- package/.proagents/reverse-engineering/architecture-extraction.md +0 -325
- package/.proagents/reverse-engineering/code-analysis.md +0 -377
- package/.proagents/reverse-engineering/dependency-mapping.md +0 -567
- package/.proagents/reverse-engineering/diagram-generation.md +0 -586
- package/.proagents/reverse-engineering/documentation-generation.md +0 -468
- package/.proagents/reverse-engineering/pattern-detection.md +0 -569
- package/.proagents/reverse-engineering/quality-assessment.md +0 -733
- package/.proagents/secrets/README.md +0 -278
- package/.proagents/secrets/access-control.md +0 -443
- package/.proagents/secrets/rotation.md +0 -403
- package/.proagents/secrets/scanning.md +0 -487
- package/.proagents/secrets/storage.md +0 -394
- package/.proagents/webhooks/README.md +0 -126
- package/.proagents/webhooks/endpoints.md +0 -298
- package/.proagents/webhooks/events.md +0 -316
- package/.proagents/webhooks/payloads.md +0 -325
- package/.proagents/webhooks/reliability.md +0 -363
- package/.proagents/webhooks/security.md +0 -380
|
@@ -1,455 +0,0 @@
|
|
|
1
|
-
# Pattern Learning
|
|
2
|
-
|
|
3
|
-
Learn code patterns, conventions, and architectural preferences from your codebase.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Pattern Types
|
|
8
|
-
|
|
9
|
-
### Code Style Patterns
|
|
10
|
-
|
|
11
|
-
```yaml
|
|
12
|
-
learned_patterns:
|
|
13
|
-
code_style:
|
|
14
|
-
# Indentation
|
|
15
|
-
indentation:
|
|
16
|
-
type: "spaces"
|
|
17
|
-
size: 2
|
|
18
|
-
confidence: 0.98
|
|
19
|
-
|
|
20
|
-
# Quotes
|
|
21
|
-
quotes:
|
|
22
|
-
style: "single"
|
|
23
|
-
jsx_style: "double"
|
|
24
|
-
confidence: 0.95
|
|
25
|
-
|
|
26
|
-
# Semicolons
|
|
27
|
-
semicolons:
|
|
28
|
-
required: true
|
|
29
|
-
confidence: 0.99
|
|
30
|
-
|
|
31
|
-
# Trailing commas
|
|
32
|
-
trailing_commas:
|
|
33
|
-
arrays: true
|
|
34
|
-
objects: true
|
|
35
|
-
functions: false
|
|
36
|
-
confidence: 0.92
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Naming Conventions
|
|
40
|
-
|
|
41
|
-
```yaml
|
|
42
|
-
learned_patterns:
|
|
43
|
-
naming:
|
|
44
|
-
# Components
|
|
45
|
-
components:
|
|
46
|
-
pattern: "PascalCase"
|
|
47
|
-
suffix: "" # No suffix required
|
|
48
|
-
examples:
|
|
49
|
-
- "UserProfile"
|
|
50
|
-
- "NavigationMenu"
|
|
51
|
-
- "PaymentForm"
|
|
52
|
-
confidence: 0.97
|
|
53
|
-
|
|
54
|
-
# Hooks
|
|
55
|
-
hooks:
|
|
56
|
-
pattern: "camelCase"
|
|
57
|
-
prefix: "use"
|
|
58
|
-
examples:
|
|
59
|
-
- "useAuth"
|
|
60
|
-
- "useUserData"
|
|
61
|
-
- "usePagination"
|
|
62
|
-
confidence: 0.99
|
|
63
|
-
|
|
64
|
-
# Utilities
|
|
65
|
-
utilities:
|
|
66
|
-
pattern: "camelCase"
|
|
67
|
-
examples:
|
|
68
|
-
- "formatDate"
|
|
69
|
-
- "calculateTotal"
|
|
70
|
-
- "parseResponse"
|
|
71
|
-
confidence: 0.94
|
|
72
|
-
|
|
73
|
-
# Constants
|
|
74
|
-
constants:
|
|
75
|
-
pattern: "UPPER_SNAKE_CASE"
|
|
76
|
-
examples:
|
|
77
|
-
- "MAX_RETRY_COUNT"
|
|
78
|
-
- "API_BASE_URL"
|
|
79
|
-
- "DEFAULT_TIMEOUT"
|
|
80
|
-
confidence: 0.96
|
|
81
|
-
|
|
82
|
-
# Files
|
|
83
|
-
files:
|
|
84
|
-
components: "PascalCase" # UserProfile.tsx
|
|
85
|
-
utilities: "camelCase" # formatDate.ts
|
|
86
|
-
tests: "*.test.ts" # UserProfile.test.tsx
|
|
87
|
-
styles: "*.module.css" # UserProfile.module.css
|
|
88
|
-
confidence: 0.93
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Component Patterns
|
|
92
|
-
|
|
93
|
-
```yaml
|
|
94
|
-
learned_patterns:
|
|
95
|
-
components:
|
|
96
|
-
# Component structure
|
|
97
|
-
structure:
|
|
98
|
-
type: "functional"
|
|
99
|
-
export_style: "named" # or "default"
|
|
100
|
-
props_location: "inline" # or "separate_interface"
|
|
101
|
-
confidence: 0.95
|
|
102
|
-
|
|
103
|
-
# Props pattern
|
|
104
|
-
props:
|
|
105
|
-
interface_naming: "{ComponentName}Props"
|
|
106
|
-
destructure_in_signature: true
|
|
107
|
-
default_props: "inline"
|
|
108
|
-
examples:
|
|
109
|
-
- |
|
|
110
|
-
interface UserCardProps {
|
|
111
|
-
user: User;
|
|
112
|
-
onSelect?: (user: User) => void;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export const UserCard = ({ user, onSelect }: UserCardProps) => {
|
|
116
|
-
// ...
|
|
117
|
-
};
|
|
118
|
-
confidence: 0.94
|
|
119
|
-
|
|
120
|
-
# State management
|
|
121
|
-
state:
|
|
122
|
-
local_state: "useState"
|
|
123
|
-
complex_state: "useReducer"
|
|
124
|
-
global_state: "zustand"
|
|
125
|
-
server_state: "react-query"
|
|
126
|
-
confidence: 0.91
|
|
127
|
-
|
|
128
|
-
# Common patterns
|
|
129
|
-
common_patterns:
|
|
130
|
-
- pattern: "early_return"
|
|
131
|
-
description: "Return early for loading/error states"
|
|
132
|
-
example: |
|
|
133
|
-
if (isLoading) return <Spinner />;
|
|
134
|
-
if (error) return <ErrorMessage error={error} />;
|
|
135
|
-
return <Component data={data} />;
|
|
136
|
-
|
|
137
|
-
- pattern: "compound_components"
|
|
138
|
-
description: "Use compound components for complex UIs"
|
|
139
|
-
example: |
|
|
140
|
-
<Card>
|
|
141
|
-
<Card.Header />
|
|
142
|
-
<Card.Body />
|
|
143
|
-
<Card.Footer />
|
|
144
|
-
</Card>
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### API Patterns
|
|
148
|
-
|
|
149
|
-
```yaml
|
|
150
|
-
learned_patterns:
|
|
151
|
-
api:
|
|
152
|
-
# Request pattern
|
|
153
|
-
requests:
|
|
154
|
-
library: "axios"
|
|
155
|
-
style: "service_functions"
|
|
156
|
-
error_handling: "try_catch"
|
|
157
|
-
example: |
|
|
158
|
-
export const getUser = async (id: string): Promise<User> => {
|
|
159
|
-
try {
|
|
160
|
-
const response = await api.get(`/users/${id}`);
|
|
161
|
-
return response.data;
|
|
162
|
-
} catch (error) {
|
|
163
|
-
throw handleApiError(error);
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
confidence: 0.93
|
|
167
|
-
|
|
168
|
-
# Response handling
|
|
169
|
-
responses:
|
|
170
|
-
unwrap_data: true
|
|
171
|
-
type_responses: true
|
|
172
|
-
handle_pagination: "cursor_based"
|
|
173
|
-
confidence: 0.89
|
|
174
|
-
|
|
175
|
-
# Error handling
|
|
176
|
-
errors:
|
|
177
|
-
error_class: "ApiError"
|
|
178
|
-
include_status_code: true
|
|
179
|
-
include_message: true
|
|
180
|
-
confidence: 0.91
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### Testing Patterns
|
|
184
|
-
|
|
185
|
-
```yaml
|
|
186
|
-
learned_patterns:
|
|
187
|
-
testing:
|
|
188
|
-
# Framework
|
|
189
|
-
framework: "vitest" # or jest
|
|
190
|
-
confidence: 0.99
|
|
191
|
-
|
|
192
|
-
# Test structure
|
|
193
|
-
structure:
|
|
194
|
-
describe_pattern: "Component/Function name"
|
|
195
|
-
it_pattern: "should {expected behavior}"
|
|
196
|
-
example: |
|
|
197
|
-
describe('UserCard', () => {
|
|
198
|
-
it('should render user name', () => {
|
|
199
|
-
// ...
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
it('should call onSelect when clicked', () => {
|
|
203
|
-
// ...
|
|
204
|
-
});
|
|
205
|
-
});
|
|
206
|
-
confidence: 0.94
|
|
207
|
-
|
|
208
|
-
# Mocking
|
|
209
|
-
mocking:
|
|
210
|
-
api_mocks: "msw"
|
|
211
|
-
module_mocks: "vi.mock"
|
|
212
|
-
confidence: 0.88
|
|
213
|
-
|
|
214
|
-
# Assertions
|
|
215
|
-
assertions:
|
|
216
|
-
prefer: "expect().toBe()"
|
|
217
|
-
matchers:
|
|
218
|
-
- "toBe"
|
|
219
|
-
- "toEqual"
|
|
220
|
-
- "toHaveBeenCalled"
|
|
221
|
-
- "toContain"
|
|
222
|
-
confidence: 0.92
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## Learning Process
|
|
228
|
-
|
|
229
|
-
### Automatic Learning
|
|
230
|
-
|
|
231
|
-
```
|
|
232
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
233
|
-
│ Pattern Detection │
|
|
234
|
-
├─────────────────────────────────────────────────────────────┤
|
|
235
|
-
│ │
|
|
236
|
-
│ 1. Scan Codebase │
|
|
237
|
-
│ └── Analyze all source files │
|
|
238
|
-
│ │
|
|
239
|
-
│ 2. Extract Patterns │
|
|
240
|
-
│ ├── Naming conventions │
|
|
241
|
-
│ ├── Code structures │
|
|
242
|
-
│ ├── Import patterns │
|
|
243
|
-
│ └── Common functions │
|
|
244
|
-
│ │
|
|
245
|
-
│ 3. Calculate Confidence │
|
|
246
|
-
│ └── Pattern frequency / Total occurrences │
|
|
247
|
-
│ │
|
|
248
|
-
│ 4. Store Patterns │
|
|
249
|
-
│ └── .proagents/learning/patterns.json │
|
|
250
|
-
│ │
|
|
251
|
-
│ 5. Apply to Suggestions │
|
|
252
|
-
│ └── Use patterns in code generation │
|
|
253
|
-
│ │
|
|
254
|
-
└─────────────────────────────────────────────────────────────┘
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
### Manual Training
|
|
258
|
-
|
|
259
|
-
```bash
|
|
260
|
-
# Train on specific files
|
|
261
|
-
proagents learning train --path src/components/
|
|
262
|
-
|
|
263
|
-
# Train on recent changes
|
|
264
|
-
proagents learning train --recent 30d
|
|
265
|
-
|
|
266
|
-
# Train on specific patterns
|
|
267
|
-
proagents learning train --type naming
|
|
268
|
-
|
|
269
|
-
# Full retraining
|
|
270
|
-
proagents learning train --full
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## Pattern Application
|
|
276
|
-
|
|
277
|
-
### In Code Suggestions
|
|
278
|
-
|
|
279
|
-
```
|
|
280
|
-
Before Learning:
|
|
281
|
-
AI: "Here's a component..."
|
|
282
|
-
function user_card(props) {
|
|
283
|
-
return <div>...</div>
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
After Learning:
|
|
287
|
-
AI: "Following your project patterns..."
|
|
288
|
-
interface UserCardProps {
|
|
289
|
-
user: User;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
export const UserCard = ({ user }: UserCardProps) => {
|
|
293
|
-
return <div>...</div>;
|
|
294
|
-
};
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
### In Code Review
|
|
298
|
-
|
|
299
|
-
```
|
|
300
|
-
Before Learning:
|
|
301
|
-
AI: "This looks fine."
|
|
302
|
-
|
|
303
|
-
After Learning:
|
|
304
|
-
AI: "This component doesn't follow the project's naming convention.
|
|
305
|
-
Suggestion: Rename 'user_profile' to 'UserProfile' to match
|
|
306
|
-
the PascalCase pattern used in other components."
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
---
|
|
310
|
-
|
|
311
|
-
## Pattern Storage
|
|
312
|
-
|
|
313
|
-
### Storage Structure
|
|
314
|
-
|
|
315
|
-
```
|
|
316
|
-
.proagents/learning/
|
|
317
|
-
├── patterns/
|
|
318
|
-
│ ├── code-style.json
|
|
319
|
-
│ ├── naming.json
|
|
320
|
-
│ ├── components.json
|
|
321
|
-
│ ├── api.json
|
|
322
|
-
│ └── testing.json
|
|
323
|
-
├── confidence/
|
|
324
|
-
│ └── scores.json
|
|
325
|
-
└── metadata.json
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
### Pattern File Format
|
|
329
|
-
|
|
330
|
-
```json
|
|
331
|
-
{
|
|
332
|
-
"pattern_type": "naming",
|
|
333
|
-
"category": "components",
|
|
334
|
-
"pattern": {
|
|
335
|
-
"format": "PascalCase",
|
|
336
|
-
"examples": ["UserProfile", "NavigationMenu"],
|
|
337
|
-
"counter_examples": [],
|
|
338
|
-
"regex": "^[A-Z][a-zA-Z]*$"
|
|
339
|
-
},
|
|
340
|
-
"confidence": 0.97,
|
|
341
|
-
"occurrences": 145,
|
|
342
|
-
"last_updated": "2024-01-15T10:30:00Z",
|
|
343
|
-
"sources": [
|
|
344
|
-
"src/components/UserProfile.tsx",
|
|
345
|
-
"src/components/NavigationMenu.tsx"
|
|
346
|
-
]
|
|
347
|
-
}
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
---
|
|
351
|
-
|
|
352
|
-
## Confidence Scoring
|
|
353
|
-
|
|
354
|
-
### Calculation
|
|
355
|
-
|
|
356
|
-
```
|
|
357
|
-
Confidence = (Pattern Matches) / (Total Occurrences)
|
|
358
|
-
|
|
359
|
-
Example:
|
|
360
|
-
- 145 components use PascalCase
|
|
361
|
-
- 5 components use other naming
|
|
362
|
-
- Confidence = 145/150 = 0.97
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
### Thresholds
|
|
366
|
-
|
|
367
|
-
```yaml
|
|
368
|
-
learning:
|
|
369
|
-
confidence_thresholds:
|
|
370
|
-
high: 0.90 # Auto-apply pattern
|
|
371
|
-
medium: 0.70 # Suggest pattern
|
|
372
|
-
low: 0.50 # Note but don't suggest
|
|
373
|
-
ignore: 0.30 # Too inconsistent
|
|
374
|
-
```
|
|
375
|
-
|
|
376
|
-
---
|
|
377
|
-
|
|
378
|
-
## Pattern Override
|
|
379
|
-
|
|
380
|
-
### User Corrections
|
|
381
|
-
|
|
382
|
-
When user corrects a suggestion:
|
|
383
|
-
|
|
384
|
-
```yaml
|
|
385
|
-
corrections:
|
|
386
|
-
- timestamp: "2024-01-15T10:30:00Z"
|
|
387
|
-
type: "naming"
|
|
388
|
-
suggested: "user_profile"
|
|
389
|
-
corrected: "UserProfile"
|
|
390
|
-
context: "Component naming"
|
|
391
|
-
weight: 1.5 # Corrections have higher weight
|
|
392
|
-
```
|
|
393
|
-
|
|
394
|
-
### Manual Pattern Definition
|
|
395
|
-
|
|
396
|
-
```yaml
|
|
397
|
-
# Override learned patterns
|
|
398
|
-
learning:
|
|
399
|
-
overrides:
|
|
400
|
-
naming:
|
|
401
|
-
components:
|
|
402
|
-
pattern: "PascalCase"
|
|
403
|
-
enforce: true # Always use this
|
|
404
|
-
|
|
405
|
-
code_style:
|
|
406
|
-
semicolons:
|
|
407
|
-
required: true
|
|
408
|
-
enforce: true
|
|
409
|
-
```
|
|
410
|
-
|
|
411
|
-
---
|
|
412
|
-
|
|
413
|
-
## Pattern Reports
|
|
414
|
-
|
|
415
|
-
### View Learned Patterns
|
|
416
|
-
|
|
417
|
-
```bash
|
|
418
|
-
proagents learning patterns
|
|
419
|
-
|
|
420
|
-
# Output:
|
|
421
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
422
|
-
│ Learned Patterns │
|
|
423
|
-
├─────────────────────────────────────────────────────────────┤
|
|
424
|
-
│ Category │ Pattern │ Confidence │
|
|
425
|
-
├───────────────────┼───────────────────┼─────────────────────┤
|
|
426
|
-
│ Components │ PascalCase │ 97% │
|
|
427
|
-
│ Hooks │ use* prefix │ 99% │
|
|
428
|
-
│ Constants │ UPPER_SNAKE │ 96% │
|
|
429
|
-
│ Files │ PascalCase.tsx │ 93% │
|
|
430
|
-
│ Indentation │ 2 spaces │ 98% │
|
|
431
|
-
│ Quotes │ Single quotes │ 95% │
|
|
432
|
-
│ State Mgmt │ Zustand │ 91% │
|
|
433
|
-
│ Testing │ Vitest │ 99% │
|
|
434
|
-
└─────────────────────────────────────────────────────────────┘
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
### Export Patterns
|
|
438
|
-
|
|
439
|
-
```bash
|
|
440
|
-
# Export to JSON
|
|
441
|
-
proagents learning export --format json > patterns.json
|
|
442
|
-
|
|
443
|
-
# Export to YAML
|
|
444
|
-
proagents learning export --format yaml > patterns.yaml
|
|
445
|
-
```
|
|
446
|
-
|
|
447
|
-
---
|
|
448
|
-
|
|
449
|
-
## Best Practices
|
|
450
|
-
|
|
451
|
-
1. **Let It Learn First**: Allow 1-2 weeks of usage before relying heavily
|
|
452
|
-
2. **Review Patterns**: Periodically review what's been learned
|
|
453
|
-
3. **Correct Mistakes**: Corrections improve future suggestions
|
|
454
|
-
4. **Override When Needed**: Use overrides for strict standards
|
|
455
|
-
5. **Reset When Necessary**: Reset if patterns become outdated
|