@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.
Files changed (69) hide show
  1. package/app/commands/behaviour.js +1 -1
  2. package/app/commands/command-factory.js +2 -2
  3. package/app/commands/discipline.js +1 -1
  4. package/app/commands/driver.js +1 -1
  5. package/app/commands/grade.js +1 -1
  6. package/app/commands/serve.js +2 -2
  7. package/app/commands/site.js +22 -2
  8. package/app/commands/skill.js +1 -1
  9. package/app/commands/stage.js +1 -1
  10. package/app/commands/track.js +1 -1
  11. package/app/components/card.js +11 -1
  12. package/app/components/code-display.js +153 -0
  13. package/app/components/markdown-textarea.js +68 -47
  14. package/app/css/bundles/app.css +14 -0
  15. package/app/css/components/badges.css +15 -8
  16. package/app/css/components/forms.css +23 -13
  17. package/app/css/components/surfaces.css +49 -3
  18. package/app/css/components/typography.css +1 -2
  19. package/app/css/pages/agent-builder.css +11 -102
  20. package/app/css/pages/detail.css +11 -1
  21. package/app/css/tokens.css +3 -0
  22. package/app/formatters/agent/dom.js +26 -71
  23. package/app/formatters/agent/profile.js +11 -6
  24. package/app/formatters/grade/dom.js +6 -6
  25. package/app/formatters/job/dom.js +3 -3
  26. package/app/formatters/json-ld.js +1 -1
  27. package/app/formatters/skill/dom.js +68 -56
  28. package/app/formatters/skill/shared.js +3 -1
  29. package/app/formatters/stage/microdata.js +2 -2
  30. package/app/formatters/stage/shared.js +3 -3
  31. package/app/formatters/tool/shared.js +6 -0
  32. package/app/handout-main.js +12 -11
  33. package/app/index.html +7 -1
  34. package/app/lib/card-mappers.js +27 -0
  35. package/app/model/agent.js +21 -5
  36. package/app/model/checklist.js +2 -2
  37. package/app/model/derivation.js +2 -2
  38. package/app/model/levels.js +2 -2
  39. package/app/model/validation.js +3 -3
  40. package/app/pages/agent-builder.js +119 -75
  41. package/app/pages/landing.js +1 -1
  42. package/app/pages/stage.js +4 -4
  43. package/app/slide-main.js +1 -1
  44. package/app/slides/chapter.js +8 -8
  45. package/app/slides/index.js +1 -1
  46. package/app/slides/overview.js +8 -8
  47. package/app/slides/skill.js +1 -0
  48. package/examples/capabilities/business.yaml +1 -1
  49. package/examples/capabilities/delivery.yaml +3 -1
  50. package/examples/capabilities/people.yaml +1 -1
  51. package/examples/capabilities/reliability.yaml +3 -1
  52. package/examples/capabilities/scale.yaml +1 -1
  53. package/examples/framework.yaml +11 -11
  54. package/examples/stages.yaml +18 -10
  55. package/package.json +2 -1
  56. package/templates/agent.template.md +47 -17
  57. package/templates/job.template.md +8 -8
  58. package/templates/skill.template.md +12 -9
  59. package/examples/agents/.claude/skills/architecture-design/SKILL.md +0 -130
  60. package/examples/agents/.claude/skills/cloud-platforms/SKILL.md +0 -131
  61. package/examples/agents/.claude/skills/code-quality-review/SKILL.md +0 -108
  62. package/examples/agents/.claude/skills/devops-cicd/SKILL.md +0 -142
  63. package/examples/agents/.claude/skills/full-stack-development/SKILL.md +0 -134
  64. package/examples/agents/.claude/skills/sre-practices/SKILL.md +0 -163
  65. package/examples/agents/.claude/skills/technical-debt-management/SKILL.md +0 -164
  66. package/examples/agents/.github/agents/se-platform-code.agent.md +0 -132
  67. package/examples/agents/.github/agents/se-platform-plan.agent.md +0 -131
  68. package/examples/agents/.github/agents/se-platform-review.agent.md +0 -136
  69. package/examples/agents/.vscode/settings.json +0 -8
@@ -2,9 +2,10 @@
2
2
 
3
3
  - id: specify
4
4
  name: Specify
5
- emoji: "🎯"
5
+ emojiIcon: "🎯"
6
6
  description:
7
- Define What and Why - User stories, acceptance criteria, requirements
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
- emoji: "📐"
32
+ emojiIcon: "📐"
32
33
  description:
33
- Define How - Technology choices, architecture, contracts, data models
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
- emoji: "💻"
61
- description: Build and Iterate - Implement, test, refine
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
- emoji: "🔍"
82
- description: Verify and Ship - Review, approve, document
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
- emoji: "🚀"
113
- description: Ship to Production - Push, monitor workflows, verify deployment
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.4.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
- {{#name}}name: {{name}} {{/name}}description: {{{description}}} {{#infer}}infer:
4
- {{infer}} {{/infer}}{{#handoffs.length}}handoffs: {{#handoffs}} - label:
5
- {{label}} {{#agent}} agent: {{agent}} {{/agent}} prompt: "{{{prompt}}}"
6
- {{#send}} send: {{send}} {{/send}}{{/handoffs}}{{/handoffs.length}}---
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}} {{{priority}}}
32
+ {{#priority}}
33
+ {{{priority}}}
34
+
35
+ {{/priority}}
36
+ {{#hasSkills}}
37
+ ## Available Skills
17
38
 
18
- {{/priority}} {{#capabilities.length}} Your primary capabilities:
19
- {{#capabilities}}
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
- - {{{.}}} {{/capabilities}}
42
+ | Skill | Location | Use When |
43
+ |-------|----------|----------|
44
+ {{#skillIndex}}
45
+ | {{{name}}} | `.claude/skills/{{dirname}}/SKILL.md` | {{{useWhen}}} |
46
+ {{/skillIndex}}
22
47
 
23
- {{/capabilities.length}} {{#beforeMakingChanges.length}} Before making changes:
24
- {{#beforeMakingChanges}} {{index}}. {{{text}}} {{/beforeMakingChanges}}
48
+ {{/hasSkills}}
49
+ {{#beforeMakingChanges.length}}
50
+ Before making changes:
25
51
 
26
- {{/beforeMakingChanges.length}} {{#delegation}}
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}}} {{#beforeHandoff}}
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
- - {{{.}}} {{/constraints}} {{/constraints.length}}
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
- {{#useWhenLines.length}} **Use When:** {{#useWhenLines}}{{{.}}}
9
- {{/useWhenLines}}{{/useWhenLines.length}}---
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}}{{/useWhenLines.length}}
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}} {{#reference}}
44
+ {{/toolReferences.length}}
45
+ {{#reference}}
44
46
 
45
47
  ## Reference
46
48
 
47
- {{{reference}}} {{/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