@forwardimpact/pathway 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +104 -0
- package/app/commands/agent.js +430 -0
- package/app/commands/behaviour.js +61 -0
- package/app/commands/command-factory.js +211 -0
- package/app/commands/discipline.js +58 -0
- package/app/commands/driver.js +94 -0
- package/app/commands/grade.js +60 -0
- package/app/commands/index.js +20 -0
- package/app/commands/init.js +67 -0
- package/app/commands/interview.js +68 -0
- package/app/commands/job.js +157 -0
- package/app/commands/progress.js +77 -0
- package/app/commands/questions.js +179 -0
- package/app/commands/serve.js +143 -0
- package/app/commands/site.js +121 -0
- package/app/commands/skill.js +76 -0
- package/app/commands/stage.js +129 -0
- package/app/commands/track.js +70 -0
- package/app/components/action-buttons.js +66 -0
- package/app/components/behaviour-profile.js +53 -0
- package/app/components/builder.js +341 -0
- package/app/components/card.js +98 -0
- package/app/components/checklist.js +145 -0
- package/app/components/comparison-radar.js +237 -0
- package/app/components/detail.js +230 -0
- package/app/components/error-page.js +72 -0
- package/app/components/grid.js +109 -0
- package/app/components/list.js +120 -0
- package/app/components/modifier-table.js +142 -0
- package/app/components/nav.js +64 -0
- package/app/components/progression-table.js +320 -0
- package/app/components/radar-chart.js +102 -0
- package/app/components/skill-matrix.js +97 -0
- package/app/css/base.css +56 -0
- package/app/css/bundles/app.css +40 -0
- package/app/css/bundles/handout.css +43 -0
- package/app/css/bundles/slides.css +40 -0
- package/app/css/components/badges.css +215 -0
- package/app/css/components/buttons.css +101 -0
- package/app/css/components/forms.css +105 -0
- package/app/css/components/layout.css +209 -0
- package/app/css/components/nav.css +166 -0
- package/app/css/components/progress.css +166 -0
- package/app/css/components/states.css +82 -0
- package/app/css/components/surfaces.css +243 -0
- package/app/css/components/tables.css +362 -0
- package/app/css/components/typography.css +122 -0
- package/app/css/components/utilities.css +41 -0
- package/app/css/pages/agent-builder.css +391 -0
- package/app/css/pages/assessment-results.css +453 -0
- package/app/css/pages/detail.css +59 -0
- package/app/css/pages/interview-builder.css +148 -0
- package/app/css/pages/job-builder.css +134 -0
- package/app/css/pages/landing.css +92 -0
- package/app/css/pages/lifecycle.css +118 -0
- package/app/css/pages/progress-builder.css +274 -0
- package/app/css/pages/self-assessment.css +502 -0
- package/app/css/reset.css +50 -0
- package/app/css/tokens.css +153 -0
- package/app/css/views/handout.css +30 -0
- package/app/css/views/print.css +608 -0
- package/app/css/views/slide-animations.css +113 -0
- package/app/css/views/slide-base.css +330 -0
- package/app/css/views/slide-sections.css +597 -0
- package/app/css/views/slide-tables.css +275 -0
- package/app/formatters/agent/dom.js +540 -0
- package/app/formatters/agent/profile.js +133 -0
- package/app/formatters/agent/skill.js +58 -0
- package/app/formatters/behaviour/dom.js +91 -0
- package/app/formatters/behaviour/markdown.js +54 -0
- package/app/formatters/behaviour/shared.js +64 -0
- package/app/formatters/discipline/dom.js +187 -0
- package/app/formatters/discipline/markdown.js +87 -0
- package/app/formatters/discipline/shared.js +131 -0
- package/app/formatters/driver/dom.js +103 -0
- package/app/formatters/driver/shared.js +92 -0
- package/app/formatters/grade/dom.js +208 -0
- package/app/formatters/grade/markdown.js +94 -0
- package/app/formatters/grade/shared.js +86 -0
- package/app/formatters/index.js +50 -0
- package/app/formatters/interview/dom.js +97 -0
- package/app/formatters/interview/markdown.js +66 -0
- package/app/formatters/interview/shared.js +332 -0
- package/app/formatters/job/description.js +176 -0
- package/app/formatters/job/dom.js +411 -0
- package/app/formatters/job/markdown.js +102 -0
- package/app/formatters/progress/dom.js +135 -0
- package/app/formatters/progress/markdown.js +86 -0
- package/app/formatters/progress/shared.js +339 -0
- package/app/formatters/questions/json.js +43 -0
- package/app/formatters/questions/markdown.js +303 -0
- package/app/formatters/questions/shared.js +274 -0
- package/app/formatters/questions/yaml.js +76 -0
- package/app/formatters/shared.js +71 -0
- package/app/formatters/skill/dom.js +168 -0
- package/app/formatters/skill/markdown.js +109 -0
- package/app/formatters/skill/shared.js +125 -0
- package/app/formatters/stage/dom.js +135 -0
- package/app/formatters/stage/index.js +12 -0
- package/app/formatters/stage/shared.js +111 -0
- package/app/formatters/track/dom.js +128 -0
- package/app/formatters/track/markdown.js +105 -0
- package/app/formatters/track/shared.js +181 -0
- package/app/handout-main.js +421 -0
- package/app/handout.html +21 -0
- package/app/index.html +59 -0
- package/app/lib/card-mappers.js +173 -0
- package/app/lib/cli-output.js +270 -0
- package/app/lib/error-boundary.js +70 -0
- package/app/lib/errors.js +49 -0
- package/app/lib/form-controls.js +47 -0
- package/app/lib/job-cache.js +86 -0
- package/app/lib/markdown.js +114 -0
- package/app/lib/radar.js +866 -0
- package/app/lib/reactive.js +77 -0
- package/app/lib/render.js +212 -0
- package/app/lib/router-core.js +160 -0
- package/app/lib/router-pages.js +16 -0
- package/app/lib/router-slides.js +202 -0
- package/app/lib/state.js +148 -0
- package/app/lib/utils.js +14 -0
- package/app/lib/yaml-loader.js +327 -0
- package/app/main.js +213 -0
- package/app/model/agent.js +702 -0
- package/app/model/checklist.js +137 -0
- package/app/model/derivation.js +699 -0
- package/app/model/index-generator.js +71 -0
- package/app/model/interview.js +539 -0
- package/app/model/job.js +222 -0
- package/app/model/levels.js +591 -0
- package/app/model/loader.js +564 -0
- package/app/model/matching.js +858 -0
- package/app/model/modifiers.js +158 -0
- package/app/model/profile.js +266 -0
- package/app/model/progression.js +507 -0
- package/app/model/validation.js +1385 -0
- package/app/pages/agent-builder.js +823 -0
- package/app/pages/assessment-results.js +507 -0
- package/app/pages/behaviour.js +70 -0
- package/app/pages/discipline.js +71 -0
- package/app/pages/driver.js +106 -0
- package/app/pages/grade.js +117 -0
- package/app/pages/interview-builder.js +50 -0
- package/app/pages/interview.js +304 -0
- package/app/pages/job-builder.js +50 -0
- package/app/pages/job.js +58 -0
- package/app/pages/landing.js +305 -0
- package/app/pages/progress-builder.js +58 -0
- package/app/pages/progress.js +495 -0
- package/app/pages/self-assessment.js +729 -0
- package/app/pages/skill.js +113 -0
- package/app/pages/stage.js +231 -0
- package/app/pages/track.js +69 -0
- package/app/slide-main.js +360 -0
- package/app/slides/behaviour.js +38 -0
- package/app/slides/chapter.js +82 -0
- package/app/slides/discipline.js +40 -0
- package/app/slides/driver.js +39 -0
- package/app/slides/grade.js +32 -0
- package/app/slides/index.js +198 -0
- package/app/slides/interview.js +58 -0
- package/app/slides/job.js +55 -0
- package/app/slides/overview.js +126 -0
- package/app/slides/progress.js +83 -0
- package/app/slides/skill.js +40 -0
- package/app/slides/track.js +39 -0
- package/app/slides.html +56 -0
- package/app/types.js +147 -0
- package/bin/pathway.js +489 -0
- package/examples/agents/.claude/skills/architecture-design/SKILL.md +88 -0
- package/examples/agents/.claude/skills/cloud-platforms/SKILL.md +90 -0
- package/examples/agents/.claude/skills/code-quality-review/SKILL.md +67 -0
- package/examples/agents/.claude/skills/data-modeling/SKILL.md +99 -0
- package/examples/agents/.claude/skills/developer-experience/SKILL.md +99 -0
- package/examples/agents/.claude/skills/devops-cicd/SKILL.md +96 -0
- package/examples/agents/.claude/skills/full-stack-development/SKILL.md +90 -0
- package/examples/agents/.claude/skills/knowledge-management/SKILL.md +100 -0
- package/examples/agents/.claude/skills/pattern-generalization/SKILL.md +102 -0
- package/examples/agents/.claude/skills/sre-practices/SKILL.md +117 -0
- package/examples/agents/.claude/skills/technical-debt-management/SKILL.md +123 -0
- package/examples/agents/.claude/skills/technical-writing/SKILL.md +129 -0
- package/examples/agents/.github/agents/se-platform-code.agent.md +181 -0
- package/examples/agents/.github/agents/se-platform-plan.agent.md +178 -0
- package/examples/agents/.github/agents/se-platform-review.agent.md +113 -0
- package/examples/agents/.vscode/settings.json +8 -0
- package/examples/behaviours/_index.yaml +8 -0
- package/examples/behaviours/outcome_ownership.yaml +44 -0
- package/examples/behaviours/polymathic_knowledge.yaml +42 -0
- package/examples/behaviours/precise_communication.yaml +40 -0
- package/examples/behaviours/relentless_curiosity.yaml +38 -0
- package/examples/behaviours/systems_thinking.yaml +41 -0
- package/examples/capabilities/_index.yaml +8 -0
- package/examples/capabilities/business.yaml +251 -0
- package/examples/capabilities/delivery.yaml +352 -0
- package/examples/capabilities/people.yaml +100 -0
- package/examples/capabilities/reliability.yaml +318 -0
- package/examples/capabilities/scale.yaml +394 -0
- package/examples/disciplines/_index.yaml +5 -0
- package/examples/disciplines/data_engineering.yaml +76 -0
- package/examples/disciplines/software_engineering.yaml +76 -0
- package/examples/drivers.yaml +205 -0
- package/examples/framework.yaml +58 -0
- package/examples/grades.yaml +118 -0
- package/examples/questions/behaviours/outcome_ownership.yaml +52 -0
- package/examples/questions/behaviours/polymathic_knowledge.yaml +48 -0
- package/examples/questions/behaviours/precise_communication.yaml +55 -0
- package/examples/questions/behaviours/relentless_curiosity.yaml +51 -0
- package/examples/questions/behaviours/systems_thinking.yaml +53 -0
- package/examples/questions/skills/architecture_design.yaml +54 -0
- package/examples/questions/skills/cloud_platforms.yaml +48 -0
- package/examples/questions/skills/code_quality.yaml +49 -0
- package/examples/questions/skills/data_modeling.yaml +46 -0
- package/examples/questions/skills/devops.yaml +47 -0
- package/examples/questions/skills/full_stack_development.yaml +48 -0
- package/examples/questions/skills/sre_practices.yaml +44 -0
- package/examples/questions/skills/stakeholder_management.yaml +49 -0
- package/examples/questions/skills/team_collaboration.yaml +43 -0
- package/examples/questions/skills/technical_writing.yaml +43 -0
- package/examples/self-assessments.yaml +66 -0
- package/examples/stages.yaml +76 -0
- package/examples/tracks/_index.yaml +6 -0
- package/examples/tracks/manager.yaml +53 -0
- package/examples/tracks/platform.yaml +54 -0
- package/examples/tracks/sre.yaml +58 -0
- package/examples/vscode-settings.yaml +22 -0
- package/package.json +68 -0
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Designing new systems or major features
|
|
16
|
+
- Evaluating architectural options and trade-offs
|
|
17
|
+
- Making decisions about code organization and structure
|
|
18
|
+
- Reviewing or improving existing architecture
|
|
19
|
+
|
|
20
|
+
## Design Process
|
|
21
|
+
|
|
22
|
+
### 1. Understand Requirements
|
|
23
|
+
|
|
24
|
+
Before designing, clarify:
|
|
25
|
+
|
|
26
|
+
- What problem are we solving?
|
|
27
|
+
- What are the non-functional requirements (scale, latency, availability)?
|
|
28
|
+
- What are the constraints (existing systems, team skills, timeline)?
|
|
29
|
+
- What will change over time?
|
|
30
|
+
|
|
31
|
+
### 2. Identify Key Decisions
|
|
32
|
+
|
|
33
|
+
Architecture is the set of decisions that are hard to change:
|
|
34
|
+
|
|
35
|
+
- Data storage and schema design
|
|
36
|
+
- Service boundaries and communication patterns
|
|
37
|
+
- Synchronous vs asynchronous processing
|
|
38
|
+
- Stateful vs stateless components
|
|
39
|
+
|
|
40
|
+
### 3. Evaluate Trade-offs
|
|
41
|
+
|
|
42
|
+
Every architectural choice has trade-offs:
|
|
43
|
+
|
|
44
|
+
- Consistency vs availability
|
|
45
|
+
- Simplicity vs flexibility
|
|
46
|
+
- Performance vs maintainability
|
|
47
|
+
- Build vs buy
|
|
48
|
+
|
|
49
|
+
Document trade-offs explicitly.
|
|
50
|
+
|
|
51
|
+
### 4. Design for Change
|
|
52
|
+
|
|
53
|
+
Good architecture accommodates change:
|
|
54
|
+
|
|
55
|
+
- Separate what changes from what stays the same
|
|
56
|
+
- Define clear interfaces between components
|
|
57
|
+
- Prefer composition over inheritance
|
|
58
|
+
- Make dependencies explicit
|
|
59
|
+
|
|
60
|
+
## Common Patterns
|
|
61
|
+
|
|
62
|
+
### Service Architecture
|
|
63
|
+
|
|
64
|
+
- Microservices: Independent deployment, clear boundaries
|
|
65
|
+
- Monolith: Simpler deployment, easier refactoring
|
|
66
|
+
- Modular monolith: Boundaries within single deployment
|
|
67
|
+
|
|
68
|
+
### Data Patterns
|
|
69
|
+
|
|
70
|
+
- Event sourcing: Full audit trail, complex queries
|
|
71
|
+
- CQRS: Separate read and write models
|
|
72
|
+
- Repository pattern: Abstract data access
|
|
73
|
+
|
|
74
|
+
### Communication Patterns
|
|
75
|
+
|
|
76
|
+
- REST: Synchronous, request-response
|
|
77
|
+
- Event-driven: Asynchronous, loose coupling
|
|
78
|
+
- gRPC: Efficient, strongly typed
|
|
79
|
+
|
|
80
|
+
## Architecture Checklist
|
|
81
|
+
|
|
82
|
+
- [ ] Requirements are clearly understood
|
|
83
|
+
- [ ] Key decisions are documented with rationale
|
|
84
|
+
- [ ] Trade-offs are explicit
|
|
85
|
+
- [ ] Failure modes are considered
|
|
86
|
+
- [ ] Scalability requirements are addressed
|
|
87
|
+
- [ ] Security implications are reviewed
|
|
88
|
+
- [ ] Dependencies are minimal and explicit
|
|
@@ -0,0 +1,90 @@
|
|
|
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
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Deploying applications to cloud environments
|
|
16
|
+
- Selecting appropriate cloud services
|
|
17
|
+
- Configuring cloud infrastructure
|
|
18
|
+
- Optimizing cloud costs and performance
|
|
19
|
+
- Implementing cloud security best practices
|
|
20
|
+
|
|
21
|
+
## Service Categories
|
|
22
|
+
|
|
23
|
+
### Compute
|
|
24
|
+
|
|
25
|
+
- **VMs/EC2**: Full control, any workload
|
|
26
|
+
- **Containers/ECS/GKE**: Portable, scalable applications
|
|
27
|
+
- **Serverless/Lambda**: Event-driven, pay-per-use
|
|
28
|
+
- **Kubernetes**: Container orchestration at scale
|
|
29
|
+
|
|
30
|
+
### Storage
|
|
31
|
+
|
|
32
|
+
- **Object Storage (S3/GCS)**: Unstructured data, backups, static assets
|
|
33
|
+
- **Block Storage (EBS)**: VM disks, databases
|
|
34
|
+
- **File Storage (EFS)**: Shared file systems
|
|
35
|
+
- **Archive (Glacier)**: Long-term, infrequent access
|
|
36
|
+
|
|
37
|
+
### Databases
|
|
38
|
+
|
|
39
|
+
- **Managed SQL (RDS/Cloud SQL)**: Relational, ACID transactions
|
|
40
|
+
- **NoSQL (DynamoDB/Firestore)**: Flexible schema, high scale
|
|
41
|
+
- **Cache (ElastiCache/Memorystore)**: Low-latency data access
|
|
42
|
+
- **Data Warehouse (Redshift/BigQuery)**: Analytics at scale
|
|
43
|
+
|
|
44
|
+
### Messaging
|
|
45
|
+
|
|
46
|
+
- **Queues (SQS/Cloud Tasks)**: Decoupled processing
|
|
47
|
+
- **Pub/Sub (SNS/Cloud Pub/Sub)**: Event distribution
|
|
48
|
+
- **Streaming (Kinesis/Dataflow)**: Real-time data processing
|
|
49
|
+
|
|
50
|
+
## Cloud-Native Design
|
|
51
|
+
|
|
52
|
+
### Principles
|
|
53
|
+
|
|
54
|
+
- Design for failure (everything fails eventually)
|
|
55
|
+
- Use managed services when possible
|
|
56
|
+
- Automate everything (infrastructure as code)
|
|
57
|
+
- Monitor and alert on all services
|
|
58
|
+
|
|
59
|
+
### High Availability
|
|
60
|
+
|
|
61
|
+
- Deploy across multiple availability zones
|
|
62
|
+
- Use load balancers for traffic distribution
|
|
63
|
+
- Implement health checks and auto-healing
|
|
64
|
+
- Design for graceful degradation
|
|
65
|
+
|
|
66
|
+
### Security
|
|
67
|
+
|
|
68
|
+
- Principle of least privilege for IAM
|
|
69
|
+
- Encrypt data at rest and in transit
|
|
70
|
+
- Use security groups and network policies
|
|
71
|
+
- Rotate credentials regularly
|
|
72
|
+
|
|
73
|
+
## Cost Optimization
|
|
74
|
+
|
|
75
|
+
- Right-size instances based on actual usage
|
|
76
|
+
- Use reserved instances for predictable workloads
|
|
77
|
+
- Leverage spot/preemptible instances for fault-tolerant work
|
|
78
|
+
- Set up billing alerts and budgets
|
|
79
|
+
- Delete unused resources
|
|
80
|
+
|
|
81
|
+
## Cloud Checklist
|
|
82
|
+
|
|
83
|
+
- [ ] Service selection matches requirements
|
|
84
|
+
- [ ] Multi-AZ deployment for availability
|
|
85
|
+
- [ ] Security groups properly configured
|
|
86
|
+
- [ ] IAM follows least privilege
|
|
87
|
+
- [ ] Data encrypted at rest and in transit
|
|
88
|
+
- [ ] Monitoring and alerting in place
|
|
89
|
+
- [ ] Cost controls established
|
|
90
|
+
- [ ] Infrastructure defined as code
|
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Reviewing code for quality issues
|
|
16
|
+
- Checking code against best practices
|
|
17
|
+
- Conducting or assisting with code reviews
|
|
18
|
+
- Verifying AI-generated code before committing
|
|
19
|
+
|
|
20
|
+
## Review Process
|
|
21
|
+
|
|
22
|
+
### 1. Correctness First
|
|
23
|
+
|
|
24
|
+
Before anything else, verify the code does what it claims:
|
|
25
|
+
|
|
26
|
+
- Does it implement the intended behavior?
|
|
27
|
+
- Are there logic errors or off-by-one bugs?
|
|
28
|
+
- Does it handle all specified requirements?
|
|
29
|
+
- Are error conditions handled appropriately?
|
|
30
|
+
|
|
31
|
+
### 2. Test Coverage
|
|
32
|
+
|
|
33
|
+
Check that changes are properly tested:
|
|
34
|
+
|
|
35
|
+
- Unit tests for new functionality
|
|
36
|
+
- Edge cases and error conditions
|
|
37
|
+
- Integration tests where appropriate
|
|
38
|
+
- Tests are readable and maintainable
|
|
39
|
+
|
|
40
|
+
### 3. Maintainability
|
|
41
|
+
|
|
42
|
+
Evaluate long-term code health:
|
|
43
|
+
|
|
44
|
+
- Clear naming (variables, functions, classes)
|
|
45
|
+
- Appropriate abstraction levels
|
|
46
|
+
- No unnecessary duplication (DRY)
|
|
47
|
+
- Single responsibility principle applied
|
|
48
|
+
|
|
49
|
+
### 4. Code Style
|
|
50
|
+
|
|
51
|
+
Verify consistency with project standards:
|
|
52
|
+
|
|
53
|
+
- Follows project coding conventions
|
|
54
|
+
- Consistent formatting and indentation
|
|
55
|
+
- Appropriate comments for non-obvious logic
|
|
56
|
+
- Documentation updated if needed
|
|
57
|
+
|
|
58
|
+
## Quality Checklist
|
|
59
|
+
|
|
60
|
+
- [ ] Code compiles and passes all tests
|
|
61
|
+
- [ ] Changes are covered by tests
|
|
62
|
+
- [ ] No obvious security vulnerabilities
|
|
63
|
+
- [ ] Error handling is appropriate
|
|
64
|
+
- [ ] Code follows project conventions
|
|
65
|
+
- [ ] No unnecessary complexity
|
|
66
|
+
- [ ] Documentation updated if needed
|
|
67
|
+
- [ ] No code you don't fully understand
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: data-modeling
|
|
3
|
+
description: |
|
|
4
|
+
Guide for designing database schemas, data structures, and data
|
|
5
|
+
architectures. Use when designing tables, optimizing queries, or
|
|
6
|
+
making decisions about data storage technologies.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Data Modeling
|
|
10
|
+
|
|
11
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Designing database schemas
|
|
16
|
+
- Optimizing query performance
|
|
17
|
+
- Choosing storage technologies
|
|
18
|
+
- Planning schema migrations
|
|
19
|
+
- Balancing normalization with performance
|
|
20
|
+
|
|
21
|
+
## Schema Design
|
|
22
|
+
|
|
23
|
+
### Normalization
|
|
24
|
+
|
|
25
|
+
- **1NF**: Atomic values, no repeating groups
|
|
26
|
+
- **2NF**: No partial dependencies
|
|
27
|
+
- **3NF**: No transitive dependencies
|
|
28
|
+
- Normalize first, then denormalize strategically
|
|
29
|
+
|
|
30
|
+
### Denormalization Trade-offs
|
|
31
|
+
|
|
32
|
+
- Improves read performance
|
|
33
|
+
- Complicates writes and updates
|
|
34
|
+
- Risk of data inconsistency
|
|
35
|
+
- Use for read-heavy workloads
|
|
36
|
+
|
|
37
|
+
## Data Store Selection
|
|
38
|
+
|
|
39
|
+
### Relational (SQL)
|
|
40
|
+
|
|
41
|
+
- Strong consistency requirements
|
|
42
|
+
- Complex queries and joins
|
|
43
|
+
- ACID transactions needed
|
|
44
|
+
- Well-defined schema
|
|
45
|
+
|
|
46
|
+
### Document (NoSQL)
|
|
47
|
+
|
|
48
|
+
- Flexible, evolving schemas
|
|
49
|
+
- Hierarchical data
|
|
50
|
+
- Horizontal scaling priority
|
|
51
|
+
- Read-heavy workloads
|
|
52
|
+
|
|
53
|
+
### Key-Value
|
|
54
|
+
|
|
55
|
+
- Simple lookup patterns
|
|
56
|
+
- Extreme performance needs
|
|
57
|
+
- Caching layer
|
|
58
|
+
- Session storage
|
|
59
|
+
|
|
60
|
+
### Time Series
|
|
61
|
+
|
|
62
|
+
- Temporal data patterns
|
|
63
|
+
- High write throughput
|
|
64
|
+
- Time-based queries
|
|
65
|
+
- Sensor and metrics data
|
|
66
|
+
|
|
67
|
+
## Indexing Strategy
|
|
68
|
+
|
|
69
|
+
### When to Index
|
|
70
|
+
|
|
71
|
+
- Columns in WHERE clauses
|
|
72
|
+
- Join columns
|
|
73
|
+
- ORDER BY columns
|
|
74
|
+
- High-cardinality columns
|
|
75
|
+
|
|
76
|
+
### Index Trade-offs
|
|
77
|
+
|
|
78
|
+
- Faster reads, slower writes
|
|
79
|
+
- Storage overhead
|
|
80
|
+
- Maintenance cost
|
|
81
|
+
- Query planner complexity
|
|
82
|
+
|
|
83
|
+
## Schema Migrations
|
|
84
|
+
|
|
85
|
+
### Safe Migration Practices
|
|
86
|
+
|
|
87
|
+
- Make changes backward compatible
|
|
88
|
+
- Add columns before using them
|
|
89
|
+
- Migrate data before dropping columns
|
|
90
|
+
- Test migrations on production-like data
|
|
91
|
+
|
|
92
|
+
## Data Modeling Checklist
|
|
93
|
+
|
|
94
|
+
- [ ] Requirements understood
|
|
95
|
+
- [ ] Appropriate storage technology selected
|
|
96
|
+
- [ ] Schema normalized appropriately
|
|
97
|
+
- [ ] Indexes support query patterns
|
|
98
|
+
- [ ] Migration plan is safe
|
|
99
|
+
- [ ] Backward compatibility maintained
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: developer-experience
|
|
3
|
+
description: |
|
|
4
|
+
Guide for improving developer experience and creating self-service
|
|
5
|
+
platforms. Use when designing golden paths, creating getting-started
|
|
6
|
+
guides, reducing developer friction, or building internal platforms.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Developer Experience
|
|
10
|
+
|
|
11
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Designing developer onboarding experiences
|
|
16
|
+
- Creating golden paths for common workflows
|
|
17
|
+
- Building self-service platform capabilities
|
|
18
|
+
- Reducing friction in developer workflows
|
|
19
|
+
- Writing getting-started documentation
|
|
20
|
+
|
|
21
|
+
## Golden Path Design
|
|
22
|
+
|
|
23
|
+
### Principles
|
|
24
|
+
|
|
25
|
+
- Opinionated but not restrictive
|
|
26
|
+
- Works out of the box with minimal configuration
|
|
27
|
+
- Covers 80% of use cases well
|
|
28
|
+
- Easy to discover, hard to miss
|
|
29
|
+
|
|
30
|
+
### Components
|
|
31
|
+
|
|
32
|
+
- **Templates**: Starter projects with best practices
|
|
33
|
+
- **CLI tools**: Automate common tasks
|
|
34
|
+
- **Documentation**: Clear, task-focused guides
|
|
35
|
+
- **Examples**: Working code for common patterns
|
|
36
|
+
|
|
37
|
+
## Friction Log Process
|
|
38
|
+
|
|
39
|
+
### Observation
|
|
40
|
+
|
|
41
|
+
1. Shadow developers doing real tasks
|
|
42
|
+
2. Note every hesitation, confusion, or workaround
|
|
43
|
+
3. Time how long each step takes
|
|
44
|
+
4. Record what documentation they consult
|
|
45
|
+
|
|
46
|
+
### Analysis
|
|
47
|
+
|
|
48
|
+
- Categorize friction points (tooling, docs, process)
|
|
49
|
+
- Identify patterns across multiple observations
|
|
50
|
+
- Prioritize by frequency × severity
|
|
51
|
+
- Distinguish symptoms from root causes
|
|
52
|
+
|
|
53
|
+
### Action
|
|
54
|
+
|
|
55
|
+
- Quick wins: Fix in days, high impact
|
|
56
|
+
- Medium-term: Requires design, weeks
|
|
57
|
+
- Strategic: Platform changes, months
|
|
58
|
+
|
|
59
|
+
## Self-Service Design
|
|
60
|
+
|
|
61
|
+
### Day 1 Experience
|
|
62
|
+
|
|
63
|
+
- New developer can deploy in < 1 hour
|
|
64
|
+
- No tickets or approvals needed
|
|
65
|
+
- Immediate feedback on success/failure
|
|
66
|
+
- Clear next steps after initial success
|
|
67
|
+
|
|
68
|
+
### Day 50 Experience
|
|
69
|
+
|
|
70
|
+
- Common tasks are still easy
|
|
71
|
+
- Edge cases are documented
|
|
72
|
+
- Escape hatches exist for advanced needs
|
|
73
|
+
- Platform grows with team needs
|
|
74
|
+
|
|
75
|
+
## Documentation Standards
|
|
76
|
+
|
|
77
|
+
### Getting Started Guides
|
|
78
|
+
|
|
79
|
+
- Prerequisites clearly listed
|
|
80
|
+
- Copy-paste commands that work
|
|
81
|
+
- Expected output shown
|
|
82
|
+
- Troubleshooting for common issues
|
|
83
|
+
|
|
84
|
+
### Reference Documentation
|
|
85
|
+
|
|
86
|
+
- Complete API coverage
|
|
87
|
+
- Examples for every feature
|
|
88
|
+
- Search-friendly structure
|
|
89
|
+
- Kept in sync with code
|
|
90
|
+
|
|
91
|
+
## DX Checklist
|
|
92
|
+
|
|
93
|
+
- [ ] New developer can get started without help
|
|
94
|
+
- [ ] Golden path covers common use cases
|
|
95
|
+
- [ ] Friction points are documented and prioritized
|
|
96
|
+
- [ ] Self-service for common operations
|
|
97
|
+
- [ ] Documentation is discoverable and accurate
|
|
98
|
+
- [ ] Feedback mechanisms exist
|
|
99
|
+
- [ ] Metrics track developer productivity
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devops-cicd
|
|
3
|
+
description: |
|
|
4
|
+
Guide for building CI/CD pipelines, managing infrastructure as code, and
|
|
5
|
+
implementing deployment best practices. Use when setting up pipelines,
|
|
6
|
+
containerizing applications, or configuring infrastructure.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# DevOps & CI/CD
|
|
10
|
+
|
|
11
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Setting up or modifying CI/CD pipelines
|
|
16
|
+
- Containerizing applications with Docker
|
|
17
|
+
- Managing infrastructure as code
|
|
18
|
+
- Troubleshooting deployment failures
|
|
19
|
+
- Implementing monitoring and alerting
|
|
20
|
+
|
|
21
|
+
## CI/CD Pipeline Stages
|
|
22
|
+
|
|
23
|
+
### Build
|
|
24
|
+
|
|
25
|
+
- Install dependencies
|
|
26
|
+
- Compile/transpile code
|
|
27
|
+
- Generate artifacts
|
|
28
|
+
- Cache dependencies for speed
|
|
29
|
+
|
|
30
|
+
### Test
|
|
31
|
+
|
|
32
|
+
- Run unit tests
|
|
33
|
+
- Run integration tests
|
|
34
|
+
- Static analysis and linting
|
|
35
|
+
- Security scanning
|
|
36
|
+
|
|
37
|
+
### Deploy
|
|
38
|
+
|
|
39
|
+
- Deploy to staging environment
|
|
40
|
+
- Run smoke tests
|
|
41
|
+
- Deploy to production
|
|
42
|
+
- Verify deployment health
|
|
43
|
+
|
|
44
|
+
## Infrastructure as Code
|
|
45
|
+
|
|
46
|
+
### Terraform
|
|
47
|
+
|
|
48
|
+
```hcl
|
|
49
|
+
# Define resources declaratively
|
|
50
|
+
resource "aws_instance" "example" {
|
|
51
|
+
ami = "ami-0c55b159cbfafe1f0"
|
|
52
|
+
instance_type = "t2.micro"
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Docker
|
|
57
|
+
|
|
58
|
+
```dockerfile
|
|
59
|
+
FROM node:18-alpine
|
|
60
|
+
WORKDIR /app
|
|
61
|
+
COPY package*.json ./
|
|
62
|
+
RUN npm ci --only=production
|
|
63
|
+
COPY . .
|
|
64
|
+
CMD ["node", "server.js"]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Deployment Strategies
|
|
68
|
+
|
|
69
|
+
### Rolling Deployment
|
|
70
|
+
|
|
71
|
+
- Gradual replacement of instances
|
|
72
|
+
- Zero downtime
|
|
73
|
+
- Easy rollback
|
|
74
|
+
|
|
75
|
+
### Blue-Green Deployment
|
|
76
|
+
|
|
77
|
+
- Two identical environments
|
|
78
|
+
- Switch traffic atomically
|
|
79
|
+
- Fast rollback
|
|
80
|
+
|
|
81
|
+
### Canary Deployment
|
|
82
|
+
|
|
83
|
+
- Route small percentage to new version
|
|
84
|
+
- Monitor for issues
|
|
85
|
+
- Gradually increase traffic
|
|
86
|
+
|
|
87
|
+
## DevOps Checklist
|
|
88
|
+
|
|
89
|
+
- [ ] Pipeline runs on every commit
|
|
90
|
+
- [ ] Tests run before deployment
|
|
91
|
+
- [ ] Deployments are automated
|
|
92
|
+
- [ ] Rollback procedure is documented
|
|
93
|
+
- [ ] Infrastructure is version controlled
|
|
94
|
+
- [ ] Secrets are managed securely
|
|
95
|
+
- [ ] Monitoring is in place
|
|
96
|
+
- [ ] Alerts are configured
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: full-stack-development
|
|
3
|
+
description: |
|
|
4
|
+
Guide for building complete solutions across the full technology stack.
|
|
5
|
+
Use when asked to implement features spanning frontend, backend, database,
|
|
6
|
+
and infrastructure layers.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Full-Stack Development
|
|
10
|
+
|
|
11
|
+
## When to use this skill
|
|
12
|
+
|
|
13
|
+
Use this skill when:
|
|
14
|
+
|
|
15
|
+
- Building features that span multiple layers
|
|
16
|
+
- Implementing end-to-end functionality
|
|
17
|
+
- Working across frontend, backend, and infrastructure
|
|
18
|
+
- Debugging issues that cross layer boundaries
|
|
19
|
+
|
|
20
|
+
## Technology Stack
|
|
21
|
+
|
|
22
|
+
### Primary Languages
|
|
23
|
+
|
|
24
|
+
- **JavaScript/TypeScript**: Frontend and Node.js backend
|
|
25
|
+
- **Python**: Backend APIs and data processing
|
|
26
|
+
|
|
27
|
+
### Infrastructure
|
|
28
|
+
|
|
29
|
+
- **Terraform**: Cloud infrastructure as code
|
|
30
|
+
- **CloudFormation**: AWS-specific infrastructure
|
|
31
|
+
- **Docker**: Containerization
|
|
32
|
+
|
|
33
|
+
## Layer Responsibilities
|
|
34
|
+
|
|
35
|
+
### Frontend
|
|
36
|
+
|
|
37
|
+
- User interface and experience
|
|
38
|
+
- Client-side validation
|
|
39
|
+
- API integration
|
|
40
|
+
- State management
|
|
41
|
+
|
|
42
|
+
### Backend API
|
|
43
|
+
|
|
44
|
+
- Business logic
|
|
45
|
+
- Data validation
|
|
46
|
+
- Authentication/authorization
|
|
47
|
+
- External service integration
|
|
48
|
+
|
|
49
|
+
### Database
|
|
50
|
+
|
|
51
|
+
- Data persistence
|
|
52
|
+
- Query optimization
|
|
53
|
+
- Schema migrations
|
|
54
|
+
- Data integrity
|
|
55
|
+
|
|
56
|
+
### Infrastructure
|
|
57
|
+
|
|
58
|
+
- Deployment pipelines
|
|
59
|
+
- Environment configuration
|
|
60
|
+
- Scaling and reliability
|
|
61
|
+
- Monitoring and logging
|
|
62
|
+
|
|
63
|
+
## Development Process
|
|
64
|
+
|
|
65
|
+
### 1. Start with the Interface
|
|
66
|
+
|
|
67
|
+
- Define the API contract first
|
|
68
|
+
- Frontend and backend can work in parallel
|
|
69
|
+
- Clear interface = fewer integration issues
|
|
70
|
+
|
|
71
|
+
### 2. Build Vertically
|
|
72
|
+
|
|
73
|
+
- Complete one feature end-to-end before starting another
|
|
74
|
+
- Validates assumptions early
|
|
75
|
+
- Delivers demonstrable progress
|
|
76
|
+
|
|
77
|
+
### 3. Test Across Layers
|
|
78
|
+
|
|
79
|
+
- Unit tests per layer
|
|
80
|
+
- Integration tests across layers
|
|
81
|
+
- End-to-end tests for critical paths
|
|
82
|
+
|
|
83
|
+
## Full-Stack Checklist
|
|
84
|
+
|
|
85
|
+
- [ ] API contract is defined
|
|
86
|
+
- [ ] Frontend connects to backend correctly
|
|
87
|
+
- [ ] Database schema supports the feature
|
|
88
|
+
- [ ] Error handling spans all layers
|
|
89
|
+
- [ ] Feature works end-to-end
|
|
90
|
+
- [ ] Deployment is automated
|