@forwardimpact/pathway 0.4.0 → 0.5.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/app/commands/behaviour.js +1 -1
- package/app/commands/command-factory.js +2 -2
- package/app/commands/discipline.js +1 -1
- package/app/commands/driver.js +1 -1
- package/app/commands/grade.js +1 -1
- package/app/commands/serve.js +2 -2
- package/app/commands/site.js +22 -2
- package/app/commands/skill.js +1 -1
- package/app/commands/stage.js +1 -1
- package/app/commands/track.js +1 -1
- package/app/components/card.js +11 -1
- package/app/components/code-display.js +153 -0
- package/app/components/markdown-textarea.js +68 -47
- package/app/css/bundles/app.css +14 -0
- package/app/css/components/badges.css +15 -8
- package/app/css/components/forms.css +23 -13
- package/app/css/components/surfaces.css +49 -3
- package/app/css/components/typography.css +1 -2
- package/app/css/pages/agent-builder.css +11 -102
- package/app/css/pages/detail.css +11 -1
- package/app/css/tokens.css +3 -0
- package/app/formatters/agent/dom.js +26 -71
- package/app/formatters/agent/profile.js +11 -6
- package/app/formatters/grade/dom.js +6 -6
- package/app/formatters/job/dom.js +3 -3
- package/app/formatters/json-ld.js +1 -1
- package/app/formatters/skill/dom.js +68 -56
- package/app/formatters/skill/shared.js +3 -1
- package/app/formatters/stage/microdata.js +2 -2
- package/app/formatters/stage/shared.js +3 -3
- package/app/formatters/tool/shared.js +6 -0
- package/app/handout-main.js +12 -11
- package/app/index.html +7 -1
- package/app/lib/card-mappers.js +27 -0
- package/app/model/agent.js +21 -5
- package/app/model/checklist.js +2 -2
- package/app/model/derivation.js +2 -2
- package/app/model/levels.js +2 -2
- package/app/model/validation.js +3 -3
- package/app/pages/agent-builder.js +119 -75
- package/app/pages/landing.js +1 -1
- package/app/pages/stage.js +4 -4
- package/app/slide-main.js +1 -1
- package/app/slides/chapter.js +8 -8
- package/app/slides/index.js +1 -1
- package/app/slides/overview.js +8 -8
- package/app/slides/skill.js +1 -0
- package/examples/capabilities/business.yaml +1 -1
- package/examples/capabilities/delivery.yaml +3 -1
- package/examples/capabilities/people.yaml +1 -1
- package/examples/capabilities/reliability.yaml +3 -1
- package/examples/capabilities/scale.yaml +1 -1
- package/examples/framework.yaml +11 -11
- package/examples/stages.yaml +18 -10
- package/package.json +2 -1
- package/templates/agent.template.md +47 -17
- package/templates/job.template.md +8 -8
- package/templates/skill.template.md +12 -9
- package/examples/agents/.claude/skills/architecture-design/SKILL.md +0 -130
- package/examples/agents/.claude/skills/cloud-platforms/SKILL.md +0 -131
- package/examples/agents/.claude/skills/code-quality-review/SKILL.md +0 -108
- package/examples/agents/.claude/skills/devops-cicd/SKILL.md +0 -142
- package/examples/agents/.claude/skills/full-stack-development/SKILL.md +0 -134
- package/examples/agents/.claude/skills/sre-practices/SKILL.md +0 -163
- package/examples/agents/.claude/skills/technical-debt-management/SKILL.md +0 -164
- package/examples/agents/.github/agents/se-platform-code.agent.md +0 -132
- package/examples/agents/.github/agents/se-platform-plan.agent.md +0 -131
- package/examples/agents/.github/agents/se-platform-review.agent.md +0 -136
- package/examples/agents/.vscode/settings.json +0 -8
package/examples/stages.yaml
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
- id: specify
|
|
4
4
|
name: Specify
|
|
5
|
-
|
|
5
|
+
emojiIcon: "🎯"
|
|
6
6
|
description:
|
|
7
|
-
|
|
7
|
+
Your primary task is to define WHAT users need and WHY, not how to build it.
|
|
8
|
+
Gather requirements, write user stories, and define acceptance criteria.
|
|
8
9
|
handoffs:
|
|
9
10
|
- targetStage: specify
|
|
10
11
|
label: Refine Spec
|
|
@@ -28,9 +29,10 @@
|
|
|
28
29
|
|
|
29
30
|
- id: plan
|
|
30
31
|
name: Plan
|
|
31
|
-
|
|
32
|
+
emojiIcon: "📐"
|
|
32
33
|
description:
|
|
33
|
-
|
|
34
|
+
Your primary task is to define HOW to build the solution. Make technology
|
|
35
|
+
choices, design architecture, define contracts and data models.
|
|
34
36
|
handoffs:
|
|
35
37
|
- targetStage: plan
|
|
36
38
|
label: Refine Plan
|
|
@@ -57,8 +59,10 @@
|
|
|
57
59
|
|
|
58
60
|
- id: code
|
|
59
61
|
name: Code
|
|
60
|
-
|
|
61
|
-
description:
|
|
62
|
+
emojiIcon: "💻"
|
|
63
|
+
description:
|
|
64
|
+
Your primary task is to implement the solution. Write code, write tests, and
|
|
65
|
+
iterate until the implementation is complete.
|
|
62
66
|
handoffs:
|
|
63
67
|
- targetStage: review
|
|
64
68
|
label: Request Review
|
|
@@ -78,8 +82,10 @@
|
|
|
78
82
|
|
|
79
83
|
- id: review
|
|
80
84
|
name: Review
|
|
81
|
-
|
|
82
|
-
description:
|
|
85
|
+
emojiIcon: "🔍"
|
|
86
|
+
description:
|
|
87
|
+
Your primary task is to verify the implementation works correctly. Run the
|
|
88
|
+
application, test against acceptance criteria, document findings.
|
|
83
89
|
handoffs:
|
|
84
90
|
- targetStage: code
|
|
85
91
|
label: Request Changes
|
|
@@ -109,8 +115,10 @@
|
|
|
109
115
|
|
|
110
116
|
- id: deploy
|
|
111
117
|
name: Deploy
|
|
112
|
-
|
|
113
|
-
description:
|
|
118
|
+
emojiIcon: "🚀"
|
|
119
|
+
description:
|
|
120
|
+
Your primary task is to ship the changes to production. Push code, monitor
|
|
121
|
+
CI/CD workflows, and verify successful deployment.
|
|
114
122
|
handoffs:
|
|
115
123
|
- targetStage: code
|
|
116
124
|
label: Fix Pipeline
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forwardimpact/pathway",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Engineering Pathway framework for human and AI collaboration",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"ajv": "^8.17.1",
|
|
60
60
|
"ajv-formats": "^3.0.1",
|
|
61
61
|
"mustache": "^4.2.0",
|
|
62
|
+
"simple-icons": "^16.7.0",
|
|
62
63
|
"yaml": "^2.3.4"
|
|
63
64
|
},
|
|
64
65
|
"devDependencies": {
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
{{
|
|
5
|
-
|
|
6
|
-
{{#
|
|
2
|
+
{{#name}}
|
|
3
|
+
name: {{name}}
|
|
4
|
+
{{/name}}
|
|
5
|
+
description: {{{description}}}
|
|
6
|
+
{{#infer}}
|
|
7
|
+
infer: {{infer}}
|
|
8
|
+
{{/infer}}
|
|
9
|
+
{{#handoffs.length}}
|
|
10
|
+
handoffs:
|
|
11
|
+
{{#handoffs}}
|
|
12
|
+
- label: {{label}}
|
|
13
|
+
{{#agent}}
|
|
14
|
+
agent: {{agent}}
|
|
15
|
+
{{/agent}}
|
|
16
|
+
prompt: "{{{prompt}}}"
|
|
17
|
+
{{#send}}
|
|
18
|
+
send: {{send}}
|
|
19
|
+
{{/send}}
|
|
20
|
+
{{/handoffs}}
|
|
21
|
+
{{/handoffs.length}}
|
|
22
|
+
---
|
|
7
23
|
|
|
8
24
|
# {{title}}
|
|
9
25
|
|
|
@@ -13,29 +29,43 @@
|
|
|
13
29
|
|
|
14
30
|
{{{identity}}}
|
|
15
31
|
|
|
16
|
-
{{#priority}}
|
|
32
|
+
{{#priority}}
|
|
33
|
+
{{{priority}}}
|
|
34
|
+
|
|
35
|
+
{{/priority}}
|
|
36
|
+
{{#hasSkills}}
|
|
37
|
+
## Available Skills
|
|
17
38
|
|
|
18
|
-
|
|
19
|
-
|
|
39
|
+
IMPORTANT: Before starting work, read the relevant skill file for project-specific
|
|
40
|
+
guidance. Do not rely solely on pre-training knowledge.
|
|
20
41
|
|
|
21
|
-
|
|
42
|
+
| Skill | Location | Use When |
|
|
43
|
+
|-------|----------|----------|
|
|
44
|
+
{{#skillIndex}}
|
|
45
|
+
| {{{name}}} | `.claude/skills/{{dirname}}/SKILL.md` | {{{useWhen}}} |
|
|
46
|
+
{{/skillIndex}}
|
|
22
47
|
|
|
23
|
-
{{/
|
|
24
|
-
{{#beforeMakingChanges
|
|
48
|
+
{{/hasSkills}}
|
|
49
|
+
{{#beforeMakingChanges.length}}
|
|
50
|
+
Before making changes:
|
|
25
51
|
|
|
26
|
-
{{
|
|
52
|
+
{{#beforeMakingChanges}}
|
|
53
|
+
{{index}}. {{{text}}}
|
|
54
|
+
{{/beforeMakingChanges}}
|
|
55
|
+
{{/beforeMakingChanges.length}}
|
|
27
56
|
|
|
57
|
+
{{#delegation}}
|
|
28
58
|
## Delegation
|
|
29
59
|
|
|
30
60
|
{{{delegation}}}
|
|
31
|
-
|
|
32
61
|
{{/delegation}}
|
|
33
62
|
|
|
34
63
|
## Operational Context
|
|
35
64
|
|
|
36
65
|
{{{operationalContext}}}
|
|
37
66
|
|
|
38
|
-
{{{workingStyle}}}
|
|
67
|
+
{{{workingStyle}}}
|
|
68
|
+
{{#beforeHandoff}}
|
|
39
69
|
|
|
40
70
|
## Before Handoff
|
|
41
71
|
|
|
@@ -57,9 +87,9 @@ When completing work (for handoff or as a subagent), provide:
|
|
|
57
87
|
3. **Recommendation**: Ready for next stage, or needs more work
|
|
58
88
|
|
|
59
89
|
{{#constraints.length}}
|
|
60
|
-
|
|
61
90
|
## Constraints
|
|
62
91
|
|
|
63
92
|
{{#constraints}}
|
|
64
|
-
|
|
65
|
-
|
|
93
|
+
- {{{.}}}
|
|
94
|
+
{{/constraints}}
|
|
95
|
+
{{/constraints.length}}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# {{title}}
|
|
1
|
+
# {{{title}}}
|
|
2
2
|
|
|
3
|
-
- **Level:** {{gradeId}}
|
|
4
|
-
- **Experience:** {{typicalExperienceRange}}
|
|
5
|
-
{{#trackName}}- **Track:** {{trackName}}
|
|
3
|
+
- **Level:** {{{gradeId}}}
|
|
4
|
+
- **Experience:** {{{typicalExperienceRange}}}
|
|
5
|
+
{{#trackName}}- **Track:** {{{trackName}}}
|
|
6
6
|
{{/trackName}}
|
|
7
7
|
|
|
8
8
|
## ROLE SUMMARY
|
|
@@ -21,21 +21,21 @@
|
|
|
21
21
|
## ROLE RESPONSIBILITIES
|
|
22
22
|
|
|
23
23
|
{{#responsibilities}}
|
|
24
|
-
- **{{capabilityName}}:** {{responsibility}}
|
|
24
|
+
- **{{{capabilityName}}}:** {{{responsibility}}}
|
|
25
25
|
{{/responsibilities}}
|
|
26
26
|
|
|
27
27
|
## ROLE BEHAVIOURS
|
|
28
28
|
|
|
29
29
|
{{#behaviours}}
|
|
30
|
-
- **{{behaviourName}}:** {{maturityDescription}}
|
|
30
|
+
- **{{{behaviourName}}}:** {{{maturityDescription}}}
|
|
31
31
|
{{/behaviours}}
|
|
32
32
|
|
|
33
33
|
{{#skillLevels}}
|
|
34
34
|
|
|
35
|
-
## {{levelHeading}}
|
|
35
|
+
## {{{levelHeading}}}
|
|
36
36
|
|
|
37
37
|
{{#skills}}
|
|
38
|
-
- **{{skillName}}:** {{levelDescription}}
|
|
38
|
+
- **{{{skillName}}}:** {{{levelDescription}}}
|
|
39
39
|
{{/skills}}
|
|
40
40
|
|
|
41
41
|
{{/skillLevels}}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
2
|
name: {{name}}
|
|
4
3
|
description: |
|
|
5
|
-
{{#descriptionLines}}
|
|
4
|
+
{{#descriptionLines}}
|
|
5
|
+
{{{.}}}
|
|
6
6
|
{{/descriptionLines}}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
{{/useWhenLines
|
|
7
|
+
{{#useWhenLines.length}}
|
|
8
|
+
**Use When:** {{#useWhenLines}}{{{.}}}{{/useWhenLines}}
|
|
9
|
+
{{/useWhenLines.length}}
|
|
10
|
+
---
|
|
10
11
|
|
|
11
12
|
# {{{title}}}
|
|
12
13
|
|
|
13
14
|
{{#useWhenLines.length}}
|
|
14
|
-
**Use This Skill When:** {{#useWhenLines}}{{{.}}}
|
|
15
|
-
{{/useWhenLines
|
|
15
|
+
**Use This Skill When:** {{#useWhenLines}}{{{.}}}{{/useWhenLines}}
|
|
16
|
+
{{/useWhenLines.length}}
|
|
16
17
|
|
|
17
18
|
## Stage Guidance
|
|
18
19
|
{{#stages}}
|
|
@@ -40,8 +41,10 @@ description: |
|
|
|
40
41
|
{{#toolReferences}}
|
|
41
42
|
| {{#url}}[{{{name}}}]({{{url}}}){{/url}}{{^url}}{{{name}}}{{/url}} | {{{useWhen}}} |
|
|
42
43
|
{{/toolReferences}}
|
|
43
|
-
{{/toolReferences.length}}
|
|
44
|
+
{{/toolReferences.length}}
|
|
45
|
+
{{#reference}}
|
|
44
46
|
|
|
45
47
|
## Reference
|
|
46
48
|
|
|
47
|
-
{{{reference}}}
|
|
49
|
+
{{{reference}}}
|
|
50
|
+
{{/reference}}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: architecture-design
|
|
3
|
-
description: |
|
|
4
|
-
Guide for designing software systems and making architectural decisions.
|
|
5
|
-
Use when asked to design a system, evaluate architecture options, or
|
|
6
|
-
make structural decisions about code organization.
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Architecture & Design
|
|
10
|
-
|
|
11
|
-
## Stage Guidance
|
|
12
|
-
|
|
13
|
-
### Plan Stage
|
|
14
|
-
|
|
15
|
-
**Focus:** Understand requirements and identify key architectural decisions.
|
|
16
|
-
Document trade-offs and design rationale.
|
|
17
|
-
|
|
18
|
-
**Activities:**
|
|
19
|
-
|
|
20
|
-
- Clarify functional and non-functional requirements
|
|
21
|
-
- Identify constraints (existing systems, team skills, timeline)
|
|
22
|
-
- Document key decisions and trade-offs
|
|
23
|
-
- Design for anticipated change
|
|
24
|
-
|
|
25
|
-
**Ready for Code when:**
|
|
26
|
-
|
|
27
|
-
- [ ] Requirements are clearly understood
|
|
28
|
-
- [ ] Key decisions are documented with rationale
|
|
29
|
-
- [ ] Trade-offs are explicit
|
|
30
|
-
- [ ] Failure modes are considered
|
|
31
|
-
|
|
32
|
-
### Code Stage
|
|
33
|
-
|
|
34
|
-
**Focus:** Implement architecture with clear boundaries and interfaces. Ensure
|
|
35
|
-
components can evolve independently.
|
|
36
|
-
|
|
37
|
-
**Activities:**
|
|
38
|
-
|
|
39
|
-
- Define clear interfaces between components
|
|
40
|
-
- Implement with appropriate patterns
|
|
41
|
-
- Document design decisions in code
|
|
42
|
-
- Test architectural boundaries
|
|
43
|
-
|
|
44
|
-
**Ready for Review when:**
|
|
45
|
-
|
|
46
|
-
- [ ] Dependencies are minimal and explicit
|
|
47
|
-
- [ ] Interfaces are well-defined
|
|
48
|
-
- [ ] Design patterns are documented
|
|
49
|
-
- [ ] Architecture tests pass
|
|
50
|
-
|
|
51
|
-
### Review Stage
|
|
52
|
-
|
|
53
|
-
**Focus:** Validate architecture meets requirements and is maintainable. Ensure
|
|
54
|
-
scalability and security are addressed.
|
|
55
|
-
|
|
56
|
-
**Activities:**
|
|
57
|
-
|
|
58
|
-
- Verify architecture meets requirements
|
|
59
|
-
- Review for scalability concerns
|
|
60
|
-
- Check security implications
|
|
61
|
-
- Validate documentation completeness
|
|
62
|
-
|
|
63
|
-
**Ready for Complete when:**
|
|
64
|
-
|
|
65
|
-
- [ ] Scalability requirements are addressed
|
|
66
|
-
- [ ] Security implications are reviewed
|
|
67
|
-
- [ ] Architecture is documented
|
|
68
|
-
- [ ] Design is maintainable
|
|
69
|
-
|
|
70
|
-
## Reference
|
|
71
|
-
|
|
72
|
-
## Design Process
|
|
73
|
-
|
|
74
|
-
### 1. Understand Requirements
|
|
75
|
-
|
|
76
|
-
Before designing, clarify:
|
|
77
|
-
|
|
78
|
-
- What problem are we solving?
|
|
79
|
-
- What are the non-functional requirements (scale, latency, availability)?
|
|
80
|
-
- What are the constraints (existing systems, team skills, timeline)?
|
|
81
|
-
- What will change over time?
|
|
82
|
-
|
|
83
|
-
### 2. Identify Key Decisions
|
|
84
|
-
|
|
85
|
-
Architecture is the set of decisions that are hard to change:
|
|
86
|
-
|
|
87
|
-
- Data storage and schema design
|
|
88
|
-
- Service boundaries and communication patterns
|
|
89
|
-
- Synchronous vs asynchronous processing
|
|
90
|
-
- Stateful vs stateless components
|
|
91
|
-
|
|
92
|
-
### 3. Evaluate Trade-offs
|
|
93
|
-
|
|
94
|
-
Every architectural choice has trade-offs:
|
|
95
|
-
|
|
96
|
-
- Consistency vs availability
|
|
97
|
-
- Simplicity vs flexibility
|
|
98
|
-
- Performance vs maintainability
|
|
99
|
-
- Build vs buy
|
|
100
|
-
|
|
101
|
-
Document trade-offs explicitly.
|
|
102
|
-
|
|
103
|
-
### 4. Design for Change
|
|
104
|
-
|
|
105
|
-
Good architecture accommodates change:
|
|
106
|
-
|
|
107
|
-
- Separate what changes from what stays the same
|
|
108
|
-
- Define clear interfaces between components
|
|
109
|
-
- Prefer composition over inheritance
|
|
110
|
-
- Make dependencies explicit
|
|
111
|
-
|
|
112
|
-
## Common Patterns
|
|
113
|
-
|
|
114
|
-
### Service Architecture
|
|
115
|
-
|
|
116
|
-
- Microservices: Independent deployment, clear boundaries
|
|
117
|
-
- Monolith: Simpler deployment, easier refactoring
|
|
118
|
-
- Modular monolith: Boundaries within single deployment
|
|
119
|
-
|
|
120
|
-
### Data Patterns
|
|
121
|
-
|
|
122
|
-
- Event sourcing: Full audit trail, complex queries
|
|
123
|
-
- CQRS: Separate read and write models
|
|
124
|
-
- Repository pattern: Abstract data access
|
|
125
|
-
|
|
126
|
-
### Communication Patterns
|
|
127
|
-
|
|
128
|
-
- REST: Synchronous, request-response
|
|
129
|
-
- Event-driven: Asynchronous, loose coupling
|
|
130
|
-
- gRPC: Efficient, strongly typed
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cloud-platforms
|
|
3
|
-
description: |
|
|
4
|
-
Guide for working with cloud infrastructure and services. Use when
|
|
5
|
-
deploying to cloud, selecting cloud services, configuring infrastructure,
|
|
6
|
-
or solving cloud-specific challenges.
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Cloud Platforms
|
|
10
|
-
|
|
11
|
-
## Stage Guidance
|
|
12
|
-
|
|
13
|
-
### Plan Stage
|
|
14
|
-
|
|
15
|
-
**Focus:** Select appropriate cloud services and design for availability,
|
|
16
|
-
security, and cost efficiency.
|
|
17
|
-
|
|
18
|
-
**Activities:**
|
|
19
|
-
|
|
20
|
-
- Identify service requirements
|
|
21
|
-
- Select appropriate cloud services
|
|
22
|
-
- Plan for high availability
|
|
23
|
-
- Consider security and cost
|
|
24
|
-
|
|
25
|
-
**Ready for Code when:**
|
|
26
|
-
|
|
27
|
-
- [ ] Service selection matches requirements
|
|
28
|
-
- [ ] Availability approach planned
|
|
29
|
-
- [ ] Security model defined
|
|
30
|
-
- [ ] Cost controls considered
|
|
31
|
-
|
|
32
|
-
### Code Stage
|
|
33
|
-
|
|
34
|
-
**Focus:** Implement cloud infrastructure with security best practices. Use
|
|
35
|
-
infrastructure as code for reproducibility.
|
|
36
|
-
|
|
37
|
-
**Activities:**
|
|
38
|
-
|
|
39
|
-
- Define infrastructure as code
|
|
40
|
-
- Configure security groups and IAM
|
|
41
|
-
- Set up monitoring and alerting
|
|
42
|
-
- Implement deployment automation
|
|
43
|
-
|
|
44
|
-
**Ready for Review when:**
|
|
45
|
-
|
|
46
|
-
- [ ] Multi-AZ deployment for availability
|
|
47
|
-
- [ ] Security groups properly configured
|
|
48
|
-
- [ ] IAM follows least privilege
|
|
49
|
-
- [ ] Data encrypted at rest and in transit
|
|
50
|
-
- [ ] Infrastructure defined as code
|
|
51
|
-
|
|
52
|
-
### Review Stage
|
|
53
|
-
|
|
54
|
-
**Focus:** Validate security, availability, and operational readiness. Ensure
|
|
55
|
-
cost controls are in place.
|
|
56
|
-
|
|
57
|
-
**Activities:**
|
|
58
|
-
|
|
59
|
-
- Verify security configuration
|
|
60
|
-
- Test availability and failover
|
|
61
|
-
- Review cost projections
|
|
62
|
-
- Validate monitoring coverage
|
|
63
|
-
|
|
64
|
-
**Ready for Complete when:**
|
|
65
|
-
|
|
66
|
-
- [ ] Security review completed
|
|
67
|
-
- [ ] Monitoring and alerting in place
|
|
68
|
-
- [ ] Cost controls established
|
|
69
|
-
- [ ] Operational runbooks exist
|
|
70
|
-
|
|
71
|
-
## Reference
|
|
72
|
-
|
|
73
|
-
## Service Categories
|
|
74
|
-
|
|
75
|
-
### Compute
|
|
76
|
-
|
|
77
|
-
- **VMs/EC2**: Full control, any workload
|
|
78
|
-
- **Containers/ECS/GKE**: Portable, scalable applications
|
|
79
|
-
- **Serverless/Lambda**: Event-driven, pay-per-use
|
|
80
|
-
- **Kubernetes**: Container orchestration at scale
|
|
81
|
-
|
|
82
|
-
### Storage
|
|
83
|
-
|
|
84
|
-
- **Object Storage (S3/GCS)**: Unstructured data, backups, static assets
|
|
85
|
-
- **Block Storage (EBS)**: VM disks, databases
|
|
86
|
-
- **File Storage (EFS)**: Shared file systems
|
|
87
|
-
- **Archive (Glacier)**: Long-term, infrequent access
|
|
88
|
-
|
|
89
|
-
### Databases
|
|
90
|
-
|
|
91
|
-
- **Managed SQL (RDS/Cloud SQL)**: Relational, ACID transactions
|
|
92
|
-
- **NoSQL (DynamoDB/Firestore)**: Flexible schema, high scale
|
|
93
|
-
- **Cache (ElastiCache/Memorystore)**: Low-latency data access
|
|
94
|
-
- **Data Warehouse (Redshift/BigQuery)**: Analytics at scale
|
|
95
|
-
|
|
96
|
-
### Messaging
|
|
97
|
-
|
|
98
|
-
- **Queues (SQS/Cloud Tasks)**: Decoupled processing
|
|
99
|
-
- **Pub/Sub (SNS/Cloud Pub/Sub)**: Event distribution
|
|
100
|
-
- **Streaming (Kinesis/Dataflow)**: Real-time data processing
|
|
101
|
-
|
|
102
|
-
## Cloud-Native Design
|
|
103
|
-
|
|
104
|
-
### Principles
|
|
105
|
-
|
|
106
|
-
- Design for failure (everything fails eventually)
|
|
107
|
-
- Use managed services when possible
|
|
108
|
-
- Automate everything (infrastructure as code)
|
|
109
|
-
- Monitor and alert on all services
|
|
110
|
-
|
|
111
|
-
### High Availability
|
|
112
|
-
|
|
113
|
-
- Deploy across multiple availability zones
|
|
114
|
-
- Use load balancers for traffic distribution
|
|
115
|
-
- Implement health checks and auto-healing
|
|
116
|
-
- Design for graceful degradation
|
|
117
|
-
|
|
118
|
-
### Security
|
|
119
|
-
|
|
120
|
-
- Principle of least privilege for IAM
|
|
121
|
-
- Encrypt data at rest and in transit
|
|
122
|
-
- Use security groups and network policies
|
|
123
|
-
- Rotate credentials regularly
|
|
124
|
-
|
|
125
|
-
## Cost Optimization
|
|
126
|
-
|
|
127
|
-
- Right-size instances based on actual usage
|
|
128
|
-
- Use reserved instances for predictable workloads
|
|
129
|
-
- Leverage spot/preemptible instances for fault-tolerant work
|
|
130
|
-
- Set up billing alerts and budgets
|
|
131
|
-
- Delete unused resources
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: code-quality-review
|
|
3
|
-
description: |
|
|
4
|
-
Guide for reviewing code quality, identifying issues, and suggesting
|
|
5
|
-
improvements. Use when asked to review code, check for best practices,
|
|
6
|
-
or conduct code reviews.
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Code Quality & Review
|
|
10
|
-
|
|
11
|
-
## Stage Guidance
|
|
12
|
-
|
|
13
|
-
### Plan Stage
|
|
14
|
-
|
|
15
|
-
**Focus:** Understand code review scope and establish review criteria. Consider
|
|
16
|
-
what quality standards apply.
|
|
17
|
-
|
|
18
|
-
**Activities:**
|
|
19
|
-
|
|
20
|
-
- Identify code review scope
|
|
21
|
-
- Understand applicable standards
|
|
22
|
-
- Plan review approach
|
|
23
|
-
- Consider risk level
|
|
24
|
-
|
|
25
|
-
**Ready for Code when:**
|
|
26
|
-
|
|
27
|
-
- [ ] Review scope is clear
|
|
28
|
-
- [ ] Standards are understood
|
|
29
|
-
- [ ] Review approach is planned
|
|
30
|
-
- [ ] Risk level is assessed
|
|
31
|
-
|
|
32
|
-
### Code Stage
|
|
33
|
-
|
|
34
|
-
**Focus:** Write clean, maintainable, tested code. Follow project conventions
|
|
35
|
-
and ensure adequate coverage.
|
|
36
|
-
|
|
37
|
-
**Activities:**
|
|
38
|
-
|
|
39
|
-
- Write readable, well-structured code
|
|
40
|
-
- Add appropriate tests
|
|
41
|
-
- Follow project conventions
|
|
42
|
-
- Document non-obvious logic
|
|
43
|
-
|
|
44
|
-
**Ready for Review when:**
|
|
45
|
-
|
|
46
|
-
- [ ] Code compiles and passes all tests
|
|
47
|
-
- [ ] Changes are covered by tests
|
|
48
|
-
- [ ] Code follows project conventions
|
|
49
|
-
- [ ] No unnecessary complexity
|
|
50
|
-
|
|
51
|
-
### Review Stage
|
|
52
|
-
|
|
53
|
-
**Focus:** Verify correctness, maintainability, and adherence to standards.
|
|
54
|
-
Ensure no code is shipped that isn't understood.
|
|
55
|
-
|
|
56
|
-
**Activities:**
|
|
57
|
-
|
|
58
|
-
- Verify code does what it claims
|
|
59
|
-
- Check test coverage
|
|
60
|
-
- Review for maintainability
|
|
61
|
-
- Confirm style compliance
|
|
62
|
-
|
|
63
|
-
**Ready for Complete when:**
|
|
64
|
-
|
|
65
|
-
- [ ] No obvious security vulnerabilities
|
|
66
|
-
- [ ] Error handling is appropriate
|
|
67
|
-
- [ ] Documentation updated if needed
|
|
68
|
-
- [ ] No code you don't fully understand
|
|
69
|
-
|
|
70
|
-
## Reference
|
|
71
|
-
|
|
72
|
-
## Review Process
|
|
73
|
-
|
|
74
|
-
### 1. Correctness First
|
|
75
|
-
|
|
76
|
-
Before anything else, verify the code does what it claims:
|
|
77
|
-
|
|
78
|
-
- Does it implement the intended behavior?
|
|
79
|
-
- Are there logic errors or off-by-one bugs?
|
|
80
|
-
- Does it handle all specified requirements?
|
|
81
|
-
- Are error conditions handled appropriately?
|
|
82
|
-
|
|
83
|
-
### 2. Test Coverage
|
|
84
|
-
|
|
85
|
-
Check that changes are properly tested:
|
|
86
|
-
|
|
87
|
-
- Unit tests for new functionality
|
|
88
|
-
- Edge cases and error conditions
|
|
89
|
-
- Integration tests where appropriate
|
|
90
|
-
- Tests are readable and maintainable
|
|
91
|
-
|
|
92
|
-
### 3. Maintainability
|
|
93
|
-
|
|
94
|
-
Evaluate long-term code health:
|
|
95
|
-
|
|
96
|
-
- Clear naming (variables, functions, classes)
|
|
97
|
-
- Appropriate abstraction levels
|
|
98
|
-
- No unnecessary duplication (DRY)
|
|
99
|
-
- Single responsibility principle applied
|
|
100
|
-
|
|
101
|
-
### 4. Code Style
|
|
102
|
-
|
|
103
|
-
Verify consistency with project standards:
|
|
104
|
-
|
|
105
|
-
- Follows project coding conventions
|
|
106
|
-
- Consistent formatting and indentation
|
|
107
|
-
- Appropriate comments for non-obvious logic
|
|
108
|
-
- Documentation updated if needed
|