create-claude-context 1.0.0 → 1.2.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/LICENSE +21 -21
- package/README.md +169 -146
- package/bin/create-claude-context.js +75 -61
- package/lib/ai-orchestrator.js +423 -0
- package/lib/call-tracer.js +444 -0
- package/lib/detector.js +456 -373
- package/lib/environment-detector.js +239 -0
- package/lib/index.js +271 -170
- package/lib/installer.js +371 -362
- package/lib/placeholder.js +269 -208
- package/lib/prompts.js +287 -287
- package/lib/spinner.js +60 -60
- package/lib/static-analyzer.js +729 -0
- package/lib/template-populator.js +835 -0
- package/lib/validate.js +147 -147
- package/package.json +59 -59
- package/templates/CLAUDE.md.template +235 -235
- package/templates/base/README.md +257 -257
- package/templates/base/RPI_WORKFLOW_PLAN.md +320 -320
- package/templates/base/agents/api-developer.md +76 -76
- package/templates/base/agents/context-engineer.md +525 -525
- package/templates/base/agents/core-architect.md +76 -76
- package/templates/base/agents/database-ops.md +76 -76
- package/templates/base/agents/deployment-ops.md +76 -76
- package/templates/base/agents/integration-hub.md +76 -76
- package/templates/base/analytics/README.md +114 -114
- package/templates/base/automation/config.json +58 -0
- package/templates/base/automation/generators/code-mapper.js +308 -0
- package/templates/base/automation/generators/index-builder.js +321 -0
- package/templates/base/automation/hooks/post-commit.sh +83 -0
- package/templates/base/automation/hooks/pre-commit.sh +103 -0
- package/templates/base/ci-templates/README.md +108 -108
- package/templates/base/ci-templates/github-actions/context-check.yml +144 -144
- package/templates/base/ci-templates/github-actions/validate-docs.yml +105 -105
- package/templates/base/commands/analytics.md +238 -238
- package/templates/base/commands/auto-sync.md +172 -0
- package/templates/base/commands/collab.md +194 -194
- package/templates/base/commands/help.md +450 -450
- package/templates/base/commands/rpi-implement.md +115 -115
- package/templates/base/commands/rpi-plan.md +93 -93
- package/templates/base/commands/rpi-research.md +88 -88
- package/templates/base/commands/session-resume.md +144 -0
- package/templates/base/commands/session-save.md +112 -0
- package/templates/base/commands/validate-all.md +77 -77
- package/templates/base/commands/verify-docs-current.md +86 -86
- package/templates/base/config/base.json +57 -57
- package/templates/base/config/environments/development.json +13 -13
- package/templates/base/config/environments/production.json +17 -17
- package/templates/base/config/environments/staging.json +13 -13
- package/templates/base/config/local.json.example +21 -21
- package/templates/base/context/.meta/generated-at.json +18 -0
- package/templates/base/context/ARCHITECTURE_SNAPSHOT.md +156 -156
- package/templates/base/context/CODE_TO_WORKFLOW_MAP.md +94 -94
- package/templates/base/context/FILE_OWNERSHIP.md +57 -0
- package/templates/base/context/INTEGRATION_POINTS.md +92 -0
- package/templates/base/context/KNOWN_GOTCHAS.md +195 -195
- package/templates/base/context/TESTING_MAP.md +95 -0
- package/templates/base/context/WORKFLOW_INDEX.md +129 -129
- package/templates/base/context/workflows/WORKFLOW_TEMPLATE.md +294 -294
- package/templates/base/indexes/agents/CAPABILITY_MATRIX.md +255 -255
- package/templates/base/indexes/agents/CATEGORY_INDEX.md +44 -44
- package/templates/base/indexes/code/CATEGORY_INDEX.md +38 -38
- package/templates/base/indexes/routing/CATEGORY_INDEX.md +39 -39
- package/templates/base/indexes/search/CATEGORY_INDEX.md +39 -39
- package/templates/base/indexes/workflows/CATEGORY_INDEX.md +38 -38
- package/templates/base/knowledge/README.md +98 -98
- package/templates/base/knowledge/sessions/README.md +88 -88
- package/templates/base/knowledge/sessions/TEMPLATE.md +150 -150
- package/templates/base/knowledge/shared/decisions/0001-adopt-context-engineering.md +144 -144
- package/templates/base/knowledge/shared/decisions/README.md +49 -49
- package/templates/base/knowledge/shared/decisions/TEMPLATE.md +123 -123
- package/templates/base/knowledge/shared/patterns/README.md +62 -62
- package/templates/base/knowledge/shared/patterns/TEMPLATE.md +120 -120
- package/templates/base/plans/PLAN_TEMPLATE.md +250 -250
- package/templates/base/research/RESEARCH_TEMPLATE.md +153 -153
- package/templates/base/schemas/agent.schema.json +141 -141
- package/templates/base/schemas/anchors.schema.json +54 -0
- package/templates/base/schemas/automation.schema.json +93 -0
- package/templates/base/schemas/command.schema.json +134 -134
- package/templates/base/schemas/hashes.schema.json +40 -0
- package/templates/base/schemas/manifest.schema.json +117 -117
- package/templates/base/schemas/plan.schema.json +136 -136
- package/templates/base/schemas/research.schema.json +115 -115
- package/templates/base/schemas/roles.schema.json +34 -0
- package/templates/base/schemas/session.schema.json +77 -0
- package/templates/base/schemas/settings.schema.json +244 -244
- package/templates/base/schemas/staleness.schema.json +53 -0
- package/templates/base/schemas/team-config.schema.json +42 -0
- package/templates/base/schemas/workflow.schema.json +126 -126
- package/templates/base/session/checkpoints/.gitkeep +2 -0
- package/templates/base/session/current/state.json +20 -0
- package/templates/base/session/history/.gitkeep +2 -0
- package/templates/base/settings.json +3 -57
- package/templates/base/standards/COMPATIBILITY.md +219 -219
- package/templates/base/standards/EXTENSION_GUIDELINES.md +280 -280
- package/templates/base/standards/QUALITY_CHECKLIST.md +211 -211
- package/templates/base/standards/README.md +66 -66
- package/templates/base/sync/anchors.json +6 -0
- package/templates/base/sync/hashes.json +6 -0
- package/templates/base/sync/staleness.json +10 -0
- package/templates/base/team/README.md +168 -168
- package/templates/base/team/config.json +79 -79
- package/templates/base/team/roles.json +145 -145
- package/templates/base/tools/bin/claude-context.js +151 -151
- package/templates/base/tools/lib/anchor-resolver.js +276 -0
- package/templates/base/tools/lib/config-loader.js +363 -363
- package/templates/base/tools/lib/detector.js +350 -350
- package/templates/base/tools/lib/diagnose.js +206 -206
- package/templates/base/tools/lib/drift-detector.js +373 -0
- package/templates/base/tools/lib/errors.js +199 -199
- package/templates/base/tools/lib/index.js +36 -24
- package/templates/base/tools/lib/init.js +192 -192
- package/templates/base/tools/lib/logger.js +230 -230
- package/templates/base/tools/lib/placeholder.js +201 -201
- package/templates/base/tools/lib/session-manager.js +354 -0
- package/templates/base/tools/lib/validate.js +521 -521
- package/templates/base/tools/package.json +49 -49
|
@@ -1,123 +1,123 @@
|
|
|
1
|
-
# ADR-NNNN: Title
|
|
2
|
-
|
|
3
|
-
## Metadata
|
|
4
|
-
|
|
5
|
-
| Field | Value |
|
|
6
|
-
|-------|-------|
|
|
7
|
-
| **Status** | proposed / accepted / deprecated / rejected |
|
|
8
|
-
| **Created** | YYYY-MM-DD |
|
|
9
|
-
| **Updated** | YYYY-MM-DD |
|
|
10
|
-
| **Author** | {{AUTHOR_NAME}} |
|
|
11
|
-
| **Reviewers** | {{REVIEWER_NAMES}} |
|
|
12
|
-
| **Supersedes** | ADR-XXXX (if applicable) |
|
|
13
|
-
| **Superseded by** | ADR-XXXX (if applicable) |
|
|
14
|
-
|
|
15
|
-
## Context
|
|
16
|
-
|
|
17
|
-
Describe the context and problem statement. What is the issue that we're seeing that is motivating this decision or change?
|
|
18
|
-
|
|
19
|
-
### Background
|
|
20
|
-
|
|
21
|
-
- Relevant technical background
|
|
22
|
-
- Business requirements driving this decision
|
|
23
|
-
- Constraints we must work within
|
|
24
|
-
|
|
25
|
-
### Current State
|
|
26
|
-
|
|
27
|
-
Describe the current situation, if applicable.
|
|
28
|
-
|
|
29
|
-
## Decision
|
|
30
|
-
|
|
31
|
-
Describe the change that we're proposing or have made.
|
|
32
|
-
|
|
33
|
-
### Key Points
|
|
34
|
-
|
|
35
|
-
1. Point 1
|
|
36
|
-
2. Point 2
|
|
37
|
-
3. Point 3
|
|
38
|
-
|
|
39
|
-
## Alternatives Considered
|
|
40
|
-
|
|
41
|
-
### Alternative 1: [Name]
|
|
42
|
-
|
|
43
|
-
**Description:** Brief description
|
|
44
|
-
|
|
45
|
-
**Pros:**
|
|
46
|
-
- Pro 1
|
|
47
|
-
- Pro 2
|
|
48
|
-
|
|
49
|
-
**Cons:**
|
|
50
|
-
- Con 1
|
|
51
|
-
- Con 2
|
|
52
|
-
|
|
53
|
-
**Why not chosen:** Explanation
|
|
54
|
-
|
|
55
|
-
### Alternative 2: [Name]
|
|
56
|
-
|
|
57
|
-
**Description:** Brief description
|
|
58
|
-
|
|
59
|
-
**Pros:**
|
|
60
|
-
- Pro 1
|
|
61
|
-
- Pro 2
|
|
62
|
-
|
|
63
|
-
**Cons:**
|
|
64
|
-
- Con 1
|
|
65
|
-
- Con 2
|
|
66
|
-
|
|
67
|
-
**Why not chosen:** Explanation
|
|
68
|
-
|
|
69
|
-
## Consequences
|
|
70
|
-
|
|
71
|
-
### Positive
|
|
72
|
-
|
|
73
|
-
- Positive consequence 1
|
|
74
|
-
- Positive consequence 2
|
|
75
|
-
|
|
76
|
-
### Negative
|
|
77
|
-
|
|
78
|
-
- Negative consequence 1
|
|
79
|
-
- Negative consequence 2
|
|
80
|
-
|
|
81
|
-
### Risks
|
|
82
|
-
|
|
83
|
-
- Risk 1 and mitigation
|
|
84
|
-
- Risk 2 and mitigation
|
|
85
|
-
|
|
86
|
-
## Implementation
|
|
87
|
-
|
|
88
|
-
### Steps
|
|
89
|
-
|
|
90
|
-
1. Step 1
|
|
91
|
-
2. Step 2
|
|
92
|
-
3. Step 3
|
|
93
|
-
|
|
94
|
-
### Affected Components
|
|
95
|
-
|
|
96
|
-
- Component 1: How it's affected
|
|
97
|
-
- Component 2: How it's affected
|
|
98
|
-
|
|
99
|
-
### Migration Plan
|
|
100
|
-
|
|
101
|
-
Describe any migration required, if applicable.
|
|
102
|
-
|
|
103
|
-
## Verification
|
|
104
|
-
|
|
105
|
-
How will we verify this decision is successful?
|
|
106
|
-
|
|
107
|
-
- [ ] Verification criteria 1
|
|
108
|
-
- [ ] Verification criteria 2
|
|
109
|
-
- [ ] Verification criteria 3
|
|
110
|
-
|
|
111
|
-
## References
|
|
112
|
-
|
|
113
|
-
- [Link to relevant documentation]()
|
|
114
|
-
- [Link to related issue/PR]()
|
|
115
|
-
- [Link to external resources]()
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## Revision History
|
|
120
|
-
|
|
121
|
-
| Date | Author | Changes |
|
|
122
|
-
|------|--------|---------|
|
|
123
|
-
| YYYY-MM-DD | Name | Initial draft |
|
|
1
|
+
# ADR-NNNN: Title
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| **Status** | proposed / accepted / deprecated / rejected |
|
|
8
|
+
| **Created** | YYYY-MM-DD |
|
|
9
|
+
| **Updated** | YYYY-MM-DD |
|
|
10
|
+
| **Author** | {{AUTHOR_NAME}} |
|
|
11
|
+
| **Reviewers** | {{REVIEWER_NAMES}} |
|
|
12
|
+
| **Supersedes** | ADR-XXXX (if applicable) |
|
|
13
|
+
| **Superseded by** | ADR-XXXX (if applicable) |
|
|
14
|
+
|
|
15
|
+
## Context
|
|
16
|
+
|
|
17
|
+
Describe the context and problem statement. What is the issue that we're seeing that is motivating this decision or change?
|
|
18
|
+
|
|
19
|
+
### Background
|
|
20
|
+
|
|
21
|
+
- Relevant technical background
|
|
22
|
+
- Business requirements driving this decision
|
|
23
|
+
- Constraints we must work within
|
|
24
|
+
|
|
25
|
+
### Current State
|
|
26
|
+
|
|
27
|
+
Describe the current situation, if applicable.
|
|
28
|
+
|
|
29
|
+
## Decision
|
|
30
|
+
|
|
31
|
+
Describe the change that we're proposing or have made.
|
|
32
|
+
|
|
33
|
+
### Key Points
|
|
34
|
+
|
|
35
|
+
1. Point 1
|
|
36
|
+
2. Point 2
|
|
37
|
+
3. Point 3
|
|
38
|
+
|
|
39
|
+
## Alternatives Considered
|
|
40
|
+
|
|
41
|
+
### Alternative 1: [Name]
|
|
42
|
+
|
|
43
|
+
**Description:** Brief description
|
|
44
|
+
|
|
45
|
+
**Pros:**
|
|
46
|
+
- Pro 1
|
|
47
|
+
- Pro 2
|
|
48
|
+
|
|
49
|
+
**Cons:**
|
|
50
|
+
- Con 1
|
|
51
|
+
- Con 2
|
|
52
|
+
|
|
53
|
+
**Why not chosen:** Explanation
|
|
54
|
+
|
|
55
|
+
### Alternative 2: [Name]
|
|
56
|
+
|
|
57
|
+
**Description:** Brief description
|
|
58
|
+
|
|
59
|
+
**Pros:**
|
|
60
|
+
- Pro 1
|
|
61
|
+
- Pro 2
|
|
62
|
+
|
|
63
|
+
**Cons:**
|
|
64
|
+
- Con 1
|
|
65
|
+
- Con 2
|
|
66
|
+
|
|
67
|
+
**Why not chosen:** Explanation
|
|
68
|
+
|
|
69
|
+
## Consequences
|
|
70
|
+
|
|
71
|
+
### Positive
|
|
72
|
+
|
|
73
|
+
- Positive consequence 1
|
|
74
|
+
- Positive consequence 2
|
|
75
|
+
|
|
76
|
+
### Negative
|
|
77
|
+
|
|
78
|
+
- Negative consequence 1
|
|
79
|
+
- Negative consequence 2
|
|
80
|
+
|
|
81
|
+
### Risks
|
|
82
|
+
|
|
83
|
+
- Risk 1 and mitigation
|
|
84
|
+
- Risk 2 and mitigation
|
|
85
|
+
|
|
86
|
+
## Implementation
|
|
87
|
+
|
|
88
|
+
### Steps
|
|
89
|
+
|
|
90
|
+
1. Step 1
|
|
91
|
+
2. Step 2
|
|
92
|
+
3. Step 3
|
|
93
|
+
|
|
94
|
+
### Affected Components
|
|
95
|
+
|
|
96
|
+
- Component 1: How it's affected
|
|
97
|
+
- Component 2: How it's affected
|
|
98
|
+
|
|
99
|
+
### Migration Plan
|
|
100
|
+
|
|
101
|
+
Describe any migration required, if applicable.
|
|
102
|
+
|
|
103
|
+
## Verification
|
|
104
|
+
|
|
105
|
+
How will we verify this decision is successful?
|
|
106
|
+
|
|
107
|
+
- [ ] Verification criteria 1
|
|
108
|
+
- [ ] Verification criteria 2
|
|
109
|
+
- [ ] Verification criteria 3
|
|
110
|
+
|
|
111
|
+
## References
|
|
112
|
+
|
|
113
|
+
- [Link to relevant documentation]()
|
|
114
|
+
- [Link to related issue/PR]()
|
|
115
|
+
- [Link to external resources]()
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Revision History
|
|
120
|
+
|
|
121
|
+
| Date | Author | Changes |
|
|
122
|
+
|------|--------|---------|
|
|
123
|
+
| YYYY-MM-DD | Name | Initial draft |
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
# Reusable Patterns
|
|
2
|
-
|
|
3
|
-
This directory contains proven solutions to common problems encountered in the codebase.
|
|
4
|
-
|
|
5
|
-
## Categories
|
|
6
|
-
|
|
7
|
-
| Category | Description |
|
|
8
|
-
|----------|-------------|
|
|
9
|
-
| `api/` | API design and implementation patterns |
|
|
10
|
-
| `data/` | Data handling, validation, transformation |
|
|
11
|
-
| `ui/` | User interface components and interactions |
|
|
12
|
-
| `testing/` | Testing strategies and patterns |
|
|
13
|
-
| `security/` | Security implementation patterns |
|
|
14
|
-
| `performance/` | Performance optimization patterns |
|
|
15
|
-
|
|
16
|
-
## Pattern Template
|
|
17
|
-
|
|
18
|
-
Each pattern document should include:
|
|
19
|
-
|
|
20
|
-
```markdown
|
|
21
|
-
# Pattern Name
|
|
22
|
-
|
|
23
|
-
## Problem
|
|
24
|
-
What problem does this pattern solve?
|
|
25
|
-
|
|
26
|
-
## Context
|
|
27
|
-
When should this pattern be applied?
|
|
28
|
-
|
|
29
|
-
## Solution
|
|
30
|
-
How does the pattern work?
|
|
31
|
-
|
|
32
|
-
## Code Example
|
|
33
|
-
Concrete implementation example.
|
|
34
|
-
|
|
35
|
-
## Consequences
|
|
36
|
-
Trade-offs and considerations.
|
|
37
|
-
|
|
38
|
-
## Related Patterns
|
|
39
|
-
Links to related patterns.
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Adding a Pattern
|
|
43
|
-
|
|
44
|
-
1. Identify a recurring problem with a proven solution
|
|
45
|
-
2. Create document in appropriate category
|
|
46
|
-
3. Follow the template structure
|
|
47
|
-
4. Include working code examples
|
|
48
|
-
5. Reference actual codebase usage
|
|
49
|
-
|
|
50
|
-
## Using Patterns
|
|
51
|
-
|
|
52
|
-
1. Identify the problem you're solving
|
|
53
|
-
2. Check relevant category for existing patterns
|
|
54
|
-
3. Adapt the pattern to your specific context
|
|
55
|
-
4. Reference the pattern in your implementation
|
|
56
|
-
|
|
57
|
-
## Pattern Quality Criteria
|
|
58
|
-
|
|
59
|
-
- **Proven**: Used successfully in production
|
|
60
|
-
- **Documented**: Clear explanation and examples
|
|
61
|
-
- **Maintained**: Updated when implementation changes
|
|
62
|
-
- **Reviewed**: Approved by team lead or senior developer
|
|
1
|
+
# Reusable Patterns
|
|
2
|
+
|
|
3
|
+
This directory contains proven solutions to common problems encountered in the codebase.
|
|
4
|
+
|
|
5
|
+
## Categories
|
|
6
|
+
|
|
7
|
+
| Category | Description |
|
|
8
|
+
|----------|-------------|
|
|
9
|
+
| `api/` | API design and implementation patterns |
|
|
10
|
+
| `data/` | Data handling, validation, transformation |
|
|
11
|
+
| `ui/` | User interface components and interactions |
|
|
12
|
+
| `testing/` | Testing strategies and patterns |
|
|
13
|
+
| `security/` | Security implementation patterns |
|
|
14
|
+
| `performance/` | Performance optimization patterns |
|
|
15
|
+
|
|
16
|
+
## Pattern Template
|
|
17
|
+
|
|
18
|
+
Each pattern document should include:
|
|
19
|
+
|
|
20
|
+
```markdown
|
|
21
|
+
# Pattern Name
|
|
22
|
+
|
|
23
|
+
## Problem
|
|
24
|
+
What problem does this pattern solve?
|
|
25
|
+
|
|
26
|
+
## Context
|
|
27
|
+
When should this pattern be applied?
|
|
28
|
+
|
|
29
|
+
## Solution
|
|
30
|
+
How does the pattern work?
|
|
31
|
+
|
|
32
|
+
## Code Example
|
|
33
|
+
Concrete implementation example.
|
|
34
|
+
|
|
35
|
+
## Consequences
|
|
36
|
+
Trade-offs and considerations.
|
|
37
|
+
|
|
38
|
+
## Related Patterns
|
|
39
|
+
Links to related patterns.
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Adding a Pattern
|
|
43
|
+
|
|
44
|
+
1. Identify a recurring problem with a proven solution
|
|
45
|
+
2. Create document in appropriate category
|
|
46
|
+
3. Follow the template structure
|
|
47
|
+
4. Include working code examples
|
|
48
|
+
5. Reference actual codebase usage
|
|
49
|
+
|
|
50
|
+
## Using Patterns
|
|
51
|
+
|
|
52
|
+
1. Identify the problem you're solving
|
|
53
|
+
2. Check relevant category for existing patterns
|
|
54
|
+
3. Adapt the pattern to your specific context
|
|
55
|
+
4. Reference the pattern in your implementation
|
|
56
|
+
|
|
57
|
+
## Pattern Quality Criteria
|
|
58
|
+
|
|
59
|
+
- **Proven**: Used successfully in production
|
|
60
|
+
- **Documented**: Clear explanation and examples
|
|
61
|
+
- **Maintained**: Updated when implementation changes
|
|
62
|
+
- **Reviewed**: Approved by team lead or senior developer
|
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
# Pattern: [Pattern Name]
|
|
2
|
-
|
|
3
|
-
## Metadata
|
|
4
|
-
|
|
5
|
-
| Field | Value |
|
|
6
|
-
|-------|-------|
|
|
7
|
-
| **Category** | api / data / ui / testing / security / performance |
|
|
8
|
-
| **Created** | YYYY-MM-DD |
|
|
9
|
-
| **Updated** | YYYY-MM-DD |
|
|
10
|
-
| **Author** | {{AUTHOR_NAME}} |
|
|
11
|
-
| **Status** | draft / approved / deprecated |
|
|
12
|
-
|
|
13
|
-
## Problem
|
|
14
|
-
|
|
15
|
-
Describe the problem this pattern solves.
|
|
16
|
-
|
|
17
|
-
- What symptoms indicate this problem?
|
|
18
|
-
- What are the consequences of not addressing it?
|
|
19
|
-
|
|
20
|
-
## Context
|
|
21
|
-
|
|
22
|
-
When should this pattern be applied?
|
|
23
|
-
|
|
24
|
-
### Use When
|
|
25
|
-
|
|
26
|
-
- Condition 1
|
|
27
|
-
- Condition 2
|
|
28
|
-
- Condition 3
|
|
29
|
-
|
|
30
|
-
### Don't Use When
|
|
31
|
-
|
|
32
|
-
- Condition 1
|
|
33
|
-
- Condition 2
|
|
34
|
-
|
|
35
|
-
## Solution
|
|
36
|
-
|
|
37
|
-
### Overview
|
|
38
|
-
|
|
39
|
-
Brief description of how the pattern works.
|
|
40
|
-
|
|
41
|
-
### Structure
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
[Diagram or structure description]
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Implementation Steps
|
|
48
|
-
|
|
49
|
-
1. Step 1
|
|
50
|
-
2. Step 2
|
|
51
|
-
3. Step 3
|
|
52
|
-
|
|
53
|
-
## Code Example
|
|
54
|
-
|
|
55
|
-
### Basic Usage
|
|
56
|
-
|
|
57
|
-
```{{LANGUAGE}}
|
|
58
|
-
// Example code demonstrating the pattern
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Advanced Usage
|
|
62
|
-
|
|
63
|
-
```{{LANGUAGE}}
|
|
64
|
-
// More complex example with edge cases
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Anti-Pattern (What NOT to Do)
|
|
68
|
-
|
|
69
|
-
```{{LANGUAGE}}
|
|
70
|
-
// Example of incorrect implementation
|
|
71
|
-
// Explain why this is wrong
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Codebase References
|
|
75
|
-
|
|
76
|
-
Where this pattern is used in our codebase:
|
|
77
|
-
|
|
78
|
-
| Location | Description |
|
|
79
|
-
|----------|-------------|
|
|
80
|
-
| `path/to/file.ext:123` | Brief description |
|
|
81
|
-
| `path/to/other.ext:456` | Brief description |
|
|
82
|
-
|
|
83
|
-
## Consequences
|
|
84
|
-
|
|
85
|
-
### Benefits
|
|
86
|
-
|
|
87
|
-
- Benefit 1
|
|
88
|
-
- Benefit 2
|
|
89
|
-
- Benefit 3
|
|
90
|
-
|
|
91
|
-
### Trade-offs
|
|
92
|
-
|
|
93
|
-
- Trade-off 1
|
|
94
|
-
- Trade-off 2
|
|
95
|
-
|
|
96
|
-
### Risks
|
|
97
|
-
|
|
98
|
-
- Risk 1 and mitigation
|
|
99
|
-
- Risk 2 and mitigation
|
|
100
|
-
|
|
101
|
-
## Related Patterns
|
|
102
|
-
|
|
103
|
-
| Pattern | Relationship |
|
|
104
|
-
|---------|--------------|
|
|
105
|
-
| [Pattern Name](./path.md) | How they relate |
|
|
106
|
-
| [Pattern Name](./path.md) | How they relate |
|
|
107
|
-
|
|
108
|
-
## References
|
|
109
|
-
|
|
110
|
-
- [External resource]()
|
|
111
|
-
- [Documentation]()
|
|
112
|
-
- [Original source]()
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## Revision History
|
|
117
|
-
|
|
118
|
-
| Date | Author | Changes |
|
|
119
|
-
|------|--------|---------|
|
|
120
|
-
| YYYY-MM-DD | Name | Initial version |
|
|
1
|
+
# Pattern: [Pattern Name]
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|-------|-------|
|
|
7
|
+
| **Category** | api / data / ui / testing / security / performance |
|
|
8
|
+
| **Created** | YYYY-MM-DD |
|
|
9
|
+
| **Updated** | YYYY-MM-DD |
|
|
10
|
+
| **Author** | {{AUTHOR_NAME}} |
|
|
11
|
+
| **Status** | draft / approved / deprecated |
|
|
12
|
+
|
|
13
|
+
## Problem
|
|
14
|
+
|
|
15
|
+
Describe the problem this pattern solves.
|
|
16
|
+
|
|
17
|
+
- What symptoms indicate this problem?
|
|
18
|
+
- What are the consequences of not addressing it?
|
|
19
|
+
|
|
20
|
+
## Context
|
|
21
|
+
|
|
22
|
+
When should this pattern be applied?
|
|
23
|
+
|
|
24
|
+
### Use When
|
|
25
|
+
|
|
26
|
+
- Condition 1
|
|
27
|
+
- Condition 2
|
|
28
|
+
- Condition 3
|
|
29
|
+
|
|
30
|
+
### Don't Use When
|
|
31
|
+
|
|
32
|
+
- Condition 1
|
|
33
|
+
- Condition 2
|
|
34
|
+
|
|
35
|
+
## Solution
|
|
36
|
+
|
|
37
|
+
### Overview
|
|
38
|
+
|
|
39
|
+
Brief description of how the pattern works.
|
|
40
|
+
|
|
41
|
+
### Structure
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
[Diagram or structure description]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Implementation Steps
|
|
48
|
+
|
|
49
|
+
1. Step 1
|
|
50
|
+
2. Step 2
|
|
51
|
+
3. Step 3
|
|
52
|
+
|
|
53
|
+
## Code Example
|
|
54
|
+
|
|
55
|
+
### Basic Usage
|
|
56
|
+
|
|
57
|
+
```{{LANGUAGE}}
|
|
58
|
+
// Example code demonstrating the pattern
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Advanced Usage
|
|
62
|
+
|
|
63
|
+
```{{LANGUAGE}}
|
|
64
|
+
// More complex example with edge cases
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Anti-Pattern (What NOT to Do)
|
|
68
|
+
|
|
69
|
+
```{{LANGUAGE}}
|
|
70
|
+
// Example of incorrect implementation
|
|
71
|
+
// Explain why this is wrong
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Codebase References
|
|
75
|
+
|
|
76
|
+
Where this pattern is used in our codebase:
|
|
77
|
+
|
|
78
|
+
| Location | Description |
|
|
79
|
+
|----------|-------------|
|
|
80
|
+
| `path/to/file.ext:123` | Brief description |
|
|
81
|
+
| `path/to/other.ext:456` | Brief description |
|
|
82
|
+
|
|
83
|
+
## Consequences
|
|
84
|
+
|
|
85
|
+
### Benefits
|
|
86
|
+
|
|
87
|
+
- Benefit 1
|
|
88
|
+
- Benefit 2
|
|
89
|
+
- Benefit 3
|
|
90
|
+
|
|
91
|
+
### Trade-offs
|
|
92
|
+
|
|
93
|
+
- Trade-off 1
|
|
94
|
+
- Trade-off 2
|
|
95
|
+
|
|
96
|
+
### Risks
|
|
97
|
+
|
|
98
|
+
- Risk 1 and mitigation
|
|
99
|
+
- Risk 2 and mitigation
|
|
100
|
+
|
|
101
|
+
## Related Patterns
|
|
102
|
+
|
|
103
|
+
| Pattern | Relationship |
|
|
104
|
+
|---------|--------------|
|
|
105
|
+
| [Pattern Name](./path.md) | How they relate |
|
|
106
|
+
| [Pattern Name](./path.md) | How they relate |
|
|
107
|
+
|
|
108
|
+
## References
|
|
109
|
+
|
|
110
|
+
- [External resource]()
|
|
111
|
+
- [Documentation]()
|
|
112
|
+
- [Original source]()
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Revision History
|
|
117
|
+
|
|
118
|
+
| Date | Author | Changes |
|
|
119
|
+
|------|--------|---------|
|
|
120
|
+
| YYYY-MM-DD | Name | Initial version |
|