@mytechtoday/augment-extensions 1.2.0 → 1.2.2

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 (35) hide show
  1. package/AGENTS.md +35 -3
  2. package/README.md +3 -3
  3. package/augment-extensions/domain-rules/software-architecture/README.md +143 -0
  4. package/augment-extensions/domain-rules/software-architecture/examples/banking-layered.md +961 -0
  5. package/augment-extensions/domain-rules/software-architecture/examples/ecommerce-microservices.md +990 -0
  6. package/augment-extensions/domain-rules/software-architecture/examples/iot-eventdriven.md +882 -0
  7. package/augment-extensions/domain-rules/software-architecture/examples/monolith-to-microservices-migration.md +703 -0
  8. package/augment-extensions/domain-rules/software-architecture/examples/serverless-imageprocessing.md +957 -0
  9. package/augment-extensions/domain-rules/software-architecture/examples/trading-eventdriven.md +747 -0
  10. package/augment-extensions/domain-rules/software-architecture/module.json +119 -0
  11. package/augment-extensions/domain-rules/software-architecture/rules/challenges-solutions.md +763 -0
  12. package/augment-extensions/domain-rules/software-architecture/rules/definitions-terminology.md +409 -0
  13. package/augment-extensions/domain-rules/software-architecture/rules/design-principles.md +684 -0
  14. package/augment-extensions/domain-rules/software-architecture/rules/evaluation-testing.md +1381 -0
  15. package/augment-extensions/domain-rules/software-architecture/rules/event-driven-architecture.md +616 -0
  16. package/augment-extensions/domain-rules/software-architecture/rules/fundamentals.md +306 -0
  17. package/augment-extensions/domain-rules/software-architecture/rules/industry-architectures.md +554 -0
  18. package/augment-extensions/domain-rules/software-architecture/rules/layered-architecture.md +776 -0
  19. package/augment-extensions/domain-rules/software-architecture/rules/microservices-architecture.md +503 -0
  20. package/augment-extensions/domain-rules/software-architecture/rules/modeling-documentation.md +1199 -0
  21. package/augment-extensions/domain-rules/software-architecture/rules/monolithic-architecture.md +351 -0
  22. package/augment-extensions/domain-rules/software-architecture/rules/principles.md +556 -0
  23. package/augment-extensions/domain-rules/software-architecture/rules/quality-attributes.md +797 -0
  24. package/augment-extensions/domain-rules/software-architecture/rules/scalability-performance.md +1345 -0
  25. package/augment-extensions/domain-rules/software-architecture/rules/security-architecture.md +1039 -0
  26. package/augment-extensions/domain-rules/software-architecture/rules/serverless-architecture.md +711 -0
  27. package/augment-extensions/domain-rules/software-architecture/rules/skills-development.md +568 -0
  28. package/augment-extensions/domain-rules/software-architecture/rules/tools-methodologies.md +961 -0
  29. package/augment-extensions/workflows/beads/examples/complete-workflow-example.md +8 -8
  30. package/augment-extensions/workflows/beads/rules/best-practices.md +2 -2
  31. package/augment-extensions/workflows/beads/rules/file-format.md +4 -4
  32. package/augment-extensions/workflows/beads/rules/manual-setup.md +4 -4
  33. package/augment-extensions/workflows/beads/rules/workflow.md +3 -3
  34. package/modules.md +40 -3
  35. package/package.json +1 -1
@@ -0,0 +1,568 @@
1
+ # Skills Development for Software Architects
2
+
3
+ ## Overview
4
+
5
+ This document outlines the technical and soft skills required for software architects, along with learning paths and development strategies.
6
+
7
+ ---
8
+
9
+ ## Knowledge
10
+
11
+ ### Technical Skills
12
+
13
+ **Programming and Development**
14
+ - Proficiency in multiple programming languages (polyglot)
15
+ - Understanding of language paradigms (OOP, functional, procedural)
16
+ - Code quality and best practices
17
+ - Design patterns and anti-patterns
18
+ - Testing strategies (unit, integration, E2E)
19
+
20
+ **System Design**
21
+ - Distributed systems concepts
22
+ - Scalability and performance optimization
23
+ - Database design (SQL, NoSQL, NewSQL)
24
+ - API design (REST, GraphQL, gRPC)
25
+ - Message queuing and event streaming
26
+ - Caching strategies
27
+
28
+ **Infrastructure and DevOps**
29
+ - Cloud platforms (AWS, Azure, GCP)
30
+ - Containerization (Docker, Kubernetes)
31
+ - CI/CD pipelines
32
+ - Infrastructure as Code (Terraform, CloudFormation)
33
+ - Monitoring and observability
34
+ - Security best practices
35
+
36
+ **Architecture Patterns**
37
+ - Monolithic, microservices, serverless
38
+ - Event-driven architecture
39
+ - CQRS and event sourcing
40
+ - Domain-Driven Design (DDD)
41
+ - Clean architecture, hexagonal architecture
42
+ - API gateway patterns
43
+
44
+ ### Soft Skills
45
+
46
+ **Communication**
47
+ - Technical writing and documentation
48
+ - Presenting to technical and non-technical audiences
49
+ - Creating architecture diagrams (C4, UML)
50
+ - Facilitating architecture reviews
51
+ - Stakeholder management
52
+
53
+ **Leadership**
54
+ - Mentoring developers
55
+ - Leading by example
56
+ - Building consensus
57
+ - Conflict resolution
58
+ - Influencing without authority
59
+
60
+ **Strategic Thinking**
61
+ - Long-term vision and roadmap planning
62
+ - Technology evaluation and selection
63
+ - Risk assessment and mitigation
64
+ - Cost-benefit analysis
65
+ - Trade-off analysis
66
+
67
+ **Collaboration**
68
+ - Cross-functional teamwork
69
+ - Agile methodologies
70
+ - Pair programming and mob programming
71
+ - Code reviews
72
+ - Knowledge sharing
73
+
74
+ ### Business Acumen
75
+
76
+ **Domain Knowledge**
77
+ - Understanding business requirements
78
+ - Industry-specific regulations and compliance
79
+ - Competitive landscape
80
+ - Customer needs and pain points
81
+
82
+ **Financial Awareness**
83
+ - Total Cost of Ownership (TCO)
84
+ - Return on Investment (ROI)
85
+ - Build vs. buy decisions
86
+ - Cloud cost optimization
87
+ - Technical debt management
88
+
89
+ ---
90
+
91
+ ## Skills
92
+
93
+ ### Developing Technical Expertise
94
+
95
+ **Learning Path for New Architects**
96
+
97
+ 1. **Foundation (0-2 years)**
98
+ - Master at least 2 programming languages
99
+ - Build full-stack applications
100
+ - Learn database design and optimization
101
+ - Understand networking fundamentals
102
+ - Practice design patterns
103
+
104
+ 2. **Intermediate (2-5 years)**
105
+ - Design distributed systems
106
+ - Implement microservices architecture
107
+ - Learn cloud platforms (AWS/Azure/GCP)
108
+ - Study system design case studies
109
+ - Contribute to architecture decisions
110
+
111
+ 3. **Advanced (5+ years)**
112
+ - Lead architecture for complex systems
113
+ - Mentor other architects
114
+ - Evaluate emerging technologies
115
+ - Publish architecture documentation
116
+ - Speak at conferences or write technical blogs
117
+
118
+ **Hands-On Practice**
119
+ ```typescript
120
+ // Example: Design exercise - URL shortener
121
+ interface UrlShortenerArchitecture {
122
+ // Requirements analysis
123
+ requirements: {
124
+ functional: string[]; // Shorten URL, redirect, analytics
125
+ nonFunctional: {
126
+ scale: string; // 100M URLs/day
127
+ latency: string; // < 100ms redirect
128
+ availability: string; // 99.99% uptime
129
+ };
130
+ };
131
+
132
+ // Component design
133
+ components: {
134
+ apiGateway: {
135
+ technology: 'Kong' | 'AWS API Gateway';
136
+ responsibilities: string[];
137
+ };
138
+ shortenerService: {
139
+ technology: 'Node.js' | 'Go';
140
+ pattern: 'Stateless microservice';
141
+ };
142
+ database: {
143
+ type: 'NoSQL';
144
+ technology: 'DynamoDB' | 'Cassandra';
145
+ schema: {
146
+ shortCode: 'string (PK)';
147
+ originalUrl: 'string';
148
+ createdAt: 'timestamp';
149
+ expiresAt: 'timestamp';
150
+ clicks: 'number';
151
+ };
152
+ };
153
+ cache: {
154
+ technology: 'Redis';
155
+ ttl: '1 hour';
156
+ evictionPolicy: 'LRU';
157
+ };
158
+ };
159
+
160
+ // Architecture decisions
161
+ decisions: {
162
+ shortCodeGeneration: 'Base62 encoding of auto-increment ID';
163
+ scalability: 'Horizontal scaling with load balancer';
164
+ caching: 'Cache hot URLs in Redis';
165
+ analytics: 'Async event streaming to analytics service';
166
+ };
167
+ }
168
+ ```
169
+
170
+ ### Building Communication Skills
171
+
172
+ **Architecture Documentation Template**
173
+ ```markdown
174
+ # Architecture Decision Record (ADR)
175
+
176
+ ## Title
177
+ [Short noun phrase describing the decision]
178
+
179
+ ## Status
180
+ [Proposed | Accepted | Deprecated | Superseded]
181
+
182
+ ## Context
183
+ [What is the issue we're seeing that is motivating this decision?]
184
+
185
+ ## Decision
186
+ [What is the change we're proposing and/or doing?]
187
+
188
+ ## Consequences
189
+ ### Positive
190
+ - [Benefit 1]
191
+ - [Benefit 2]
192
+
193
+ ### Negative
194
+ - [Trade-off 1]
195
+ - [Trade-off 2]
196
+
197
+ ### Risks
198
+ - [Risk 1 and mitigation]
199
+ - [Risk 2 and mitigation]
200
+
201
+ ## Alternatives Considered
202
+ 1. [Alternative 1] - Rejected because [reason]
203
+ 2. [Alternative 2] - Rejected because [reason]
204
+ ```
205
+
206
+ **Presentation Skills**
207
+ - Start with the "why" (business value)
208
+ - Use diagrams over text (C4 model, sequence diagrams)
209
+ - Tailor content to audience (executives vs. developers)
210
+ - Tell a story (problem → solution → outcome)
211
+ - Practice explaining complex concepts simply
212
+
213
+ ### Developing Leadership Skills
214
+
215
+ **Mentoring Developers**
216
+ ```typescript
217
+ // Example: Code review as teaching opportunity
218
+ class ArchitectMentoring {
219
+ async reviewPullRequest(pr: PullRequest): Promise<ReviewComment[]> {
220
+ const comments: ReviewComment[] = [];
221
+
222
+ // Instead of: "This is wrong"
223
+ // Use: "Consider this alternative approach because..."
224
+
225
+ if (this.detectAntiPattern(pr.code)) {
226
+ comments.push({
227
+ type: 'suggestion',
228
+ message: `
229
+ I notice this implementation uses [anti-pattern].
230
+
231
+ **Why this matters:**
232
+ - [Consequence 1]
233
+ - [Consequence 2]
234
+
235
+ **Alternative approach:**
236
+ [Code example]
237
+
238
+ **Resources:**
239
+ - [Link to pattern documentation]
240
+ - [Similar example in our codebase]
241
+ `
242
+ });
243
+ }
244
+
245
+ return comments;
246
+ }
247
+
248
+ // Regular 1-on-1s with developers
249
+ async conductOneOnOne(developer: Developer) {
250
+ const topics = [
251
+ 'Career goals and growth',
252
+ 'Technical challenges',
253
+ 'Architecture questions',
254
+ 'Learning opportunities'
255
+ ];
256
+
257
+ // Listen more than you talk (80/20 rule)
258
+ // Ask open-ended questions
259
+ // Provide actionable feedback
260
+ }
261
+ }
262
+ ```
263
+
264
+ **Building Consensus**
265
+ - Present multiple options with trade-offs
266
+ - Involve stakeholders early
267
+ - Use data to support decisions
268
+ - Be willing to compromise
269
+ - Document decisions and rationale
270
+
271
+ **Influencing Without Authority**
272
+ - Build relationships across teams
273
+ - Demonstrate value through prototypes
274
+ - Share success stories
275
+ - Align with business goals
276
+ - Be patient and persistent
277
+
278
+ ---
279
+
280
+ ## Examples
281
+
282
+ ### Example 1: Architect Career Progression
283
+
284
+ **Junior Architect (0-2 years as architect)**
285
+
286
+ *Background*: Senior developer transitioning to architecture
287
+
288
+ *Focus Areas*:
289
+ - Learn architecture patterns and principles
290
+ - Shadow senior architects
291
+ - Design components within existing systems
292
+ - Document architecture decisions
293
+ - Present designs to team
294
+
295
+ *Typical Projects*:
296
+ - Redesign a monolithic module into microservices
297
+ - Implement caching layer for performance
298
+ - Design API for new feature
299
+ - Create architecture documentation
300
+
301
+ *Skills to Develop*:
302
+ - System design fundamentals
303
+ - Trade-off analysis
304
+ - Technical writing
305
+ - Stakeholder communication
306
+
307
+ **Mid-Level Architect (2-5 years)**
308
+
309
+ *Responsibilities*:
310
+ - Lead architecture for medium-sized projects
311
+ - Mentor junior developers and architects
312
+ - Evaluate new technologies
313
+ - Conduct architecture reviews
314
+ - Collaborate with product and business teams
315
+
316
+ *Typical Projects*:
317
+ - Design multi-service platform
318
+ - Migrate legacy system to cloud
319
+ - Implement event-driven architecture
320
+ - Establish architecture governance
321
+
322
+ *Skills to Develop*:
323
+ - Distributed systems design
324
+ - Cloud architecture
325
+ - Leadership and mentoring
326
+ - Strategic planning
327
+
328
+ **Senior/Principal Architect (5+ years)**
329
+
330
+ *Responsibilities*:
331
+ - Define technical vision and strategy
332
+ - Lead architecture for enterprise systems
333
+ - Establish architecture standards
334
+ - Mentor architects and senior developers
335
+ - Influence technology decisions across organization
336
+
337
+ *Typical Projects*:
338
+ - Enterprise-wide platform modernization
339
+ - Multi-region, multi-cloud architecture
340
+ - Establish architecture practice
341
+ - Technology radar and evaluation
342
+
343
+ *Skills to Develop*:
344
+ - Enterprise architecture
345
+ - Executive communication
346
+ - Technology strategy
347
+ - Organizational influence
348
+
349
+ ### Example 2: Learning Plan for Cloud Architecture
350
+
351
+ **Month 1-2: Foundations**
352
+ - Complete AWS/Azure/GCP fundamentals certification
353
+ - Build simple 3-tier web application
354
+ - Learn VPC, subnets, security groups
355
+ - Understand IAM and security best practices
356
+
357
+ **Month 3-4: Intermediate**
358
+ - Implement auto-scaling and load balancing
359
+ - Set up CI/CD pipeline
360
+ - Learn serverless (Lambda/Functions)
361
+ - Implement monitoring and logging
362
+
363
+ **Month 5-6: Advanced**
364
+ - Design multi-region architecture
365
+ - Implement disaster recovery
366
+ - Optimize costs
367
+ - Learn infrastructure as code (Terraform)
368
+
369
+ **Month 7-12: Mastery**
370
+ - Design for high availability (99.99%+)
371
+ - Implement zero-downtime deployments
372
+ - Multi-cloud strategy
373
+ - Contribute to open-source cloud tools
374
+
375
+ **Hands-On Projects**:
376
+ 1. Build a scalable e-commerce platform
377
+ 2. Implement real-time analytics pipeline
378
+ 3. Create multi-tenant SaaS application
379
+ 4. Design IoT data ingestion system
380
+
381
+ ### Example 3: Architecture Review Checklist
382
+
383
+ **Functional Requirements**
384
+ - [ ] All user stories addressed
385
+ - [ ] Edge cases handled
386
+ - [ ] Error scenarios covered
387
+ - [ ] Data validation implemented
388
+ - [ ] Business rules enforced
389
+
390
+ **Non-Functional Requirements**
391
+ - [ ] Performance targets met (latency, throughput)
392
+ - [ ] Scalability plan defined
393
+ - [ ] Security requirements addressed
394
+ - [ ] Availability and reliability targets
395
+ - [ ] Disaster recovery plan
396
+
397
+ **Architecture Quality**
398
+ - [ ] Components have single responsibility
399
+ - [ ] Low coupling between components
400
+ - [ ] High cohesion within components
401
+ - [ ] Clear interfaces and contracts
402
+ - [ ] Appropriate use of patterns
403
+
404
+ **Operational Concerns**
405
+ - [ ] Monitoring and alerting strategy
406
+ - [ ] Logging and tracing
407
+ - [ ] Deployment strategy
408
+ - [ ] Rollback plan
409
+ - [ ] Cost estimation
410
+
411
+ **Documentation**
412
+ - [ ] Architecture diagrams (C4 model)
413
+ - [ ] API documentation
414
+ - [ ] Deployment guide
415
+ - [ ] Runbook for operations
416
+ - [ ] ADRs for key decisions
417
+
418
+ ---
419
+
420
+ ## Understanding
421
+
422
+ ### Architect vs. Developer Mindset
423
+
424
+ | Aspect | Developer | Architect |
425
+ |--------|-----------|-----------|
426
+ | **Focus** | Implementation details | System-wide design |
427
+ | **Scope** | Feature or component | Entire system or platform |
428
+ | **Timeline** | Sprint or release | Quarters or years |
429
+ | **Concerns** | Code quality, tests | Scalability, maintainability |
430
+ | **Decisions** | How to implement | What to build, why |
431
+ | **Stakeholders** | Team members | Business, product, engineering |
432
+
433
+ ### Common Pitfalls for New Architects
434
+
435
+ **Over-Engineering**
436
+ - ❌ Designing for scale you don't need yet
437
+ - ✅ Start simple, evolve as needed (YAGNI principle)
438
+
439
+ **Ivory Tower Architecture**
440
+ - ❌ Designing without understanding implementation
441
+ - ✅ Stay hands-on, write code regularly
442
+
443
+ **Technology Hype**
444
+ - ❌ Adopting latest tech without evaluation
445
+ - ✅ Choose boring technology, innovate where it matters
446
+
447
+ **Poor Communication**
448
+ - ❌ Assuming everyone understands your vision
449
+ - ✅ Over-communicate, use multiple formats (diagrams, docs, demos)
450
+
451
+ **Ignoring Constraints**
452
+ - ❌ Designing ideal solution without considering budget, timeline, team skills
453
+ - ✅ Design within constraints, plan for evolution
454
+
455
+ ### Continuous Learning Strategies
456
+
457
+ **Reading**
458
+ - Architecture books (Fundamentals of Software Architecture, Building Microservices)
459
+ - Technical blogs (Martin Fowler, Netflix Tech Blog, AWS Architecture Blog)
460
+ - Research papers (Google SRE book, Amazon Dynamo paper)
461
+ - Industry reports (ThoughtWorks Technology Radar)
462
+
463
+ **Practice**
464
+ - Side projects with new technologies
465
+ - Open-source contributions
466
+ - Architecture katas (practice design exercises)
467
+ - Refactor existing systems
468
+
469
+ **Community**
470
+ - Attend conferences (QCon, GOTO, AWS re:Invent)
471
+ - Join architecture communities (Software Architecture Slack, Reddit)
472
+ - Participate in architecture reviews
473
+ - Present at meetups or internal tech talks
474
+
475
+ **Certifications** (Optional but helpful)
476
+ - AWS Certified Solutions Architect
477
+ - Azure Solutions Architect Expert
478
+ - Google Cloud Professional Architect
479
+ - TOGAF certification
480
+ - Kubernetes certifications (CKA, CKAD)
481
+
482
+ ### Measuring Growth
483
+
484
+ **Technical Competence**
485
+ - Can you design systems that meet requirements?
486
+ - Do your designs scale and perform well?
487
+ - Are your architectures maintainable?
488
+ - Do you stay current with technology trends?
489
+
490
+ **Communication**
491
+ - Can you explain complex concepts simply?
492
+ - Do stakeholders understand your proposals?
493
+ - Is your documentation clear and useful?
494
+ - Can you influence decisions effectively?
495
+
496
+ **Leadership**
497
+ - Are developers learning from you?
498
+ - Do teams trust your technical judgment?
499
+ - Can you build consensus?
500
+ - Do you elevate the team's capabilities?
501
+
502
+ **Business Impact**
503
+ - Do your architectures deliver business value?
504
+ - Are projects delivered on time and budget?
505
+ - Do systems meet quality and performance goals?
506
+ - Are you reducing technical debt?
507
+
508
+ ---
509
+
510
+ ## Best Practices
511
+
512
+ ### For Aspiring Architects
513
+
514
+ 1. **Stay Hands-On**: Write code regularly, don't lose touch with implementation
515
+ 2. **Learn Broadly**: Understand multiple languages, frameworks, and paradigms
516
+ 3. **Think in Systems**: Consider the entire system, not just individual components
517
+ 4. **Document Everything**: ADRs, diagrams, runbooks - make knowledge accessible
518
+ 5. **Seek Feedback**: Regular architecture reviews, peer feedback, retrospectives
519
+ 6. **Teach Others**: Mentoring solidifies your own understanding
520
+ 7. **Embrace Failure**: Learn from mistakes, conduct blameless postmortems
521
+ 8. **Balance Trade-offs**: There's no perfect solution, only appropriate ones
522
+
523
+ ### For Organizations
524
+
525
+ 1. **Create Learning Paths**: Clear progression from developer to architect
526
+ 2. **Provide Mentorship**: Pair junior architects with experienced ones
527
+ 3. **Encourage Experimentation**: Innovation time, proof-of-concepts
528
+ 4. **Support Certifications**: Training budget, study time
529
+ 5. **Foster Community**: Architecture guild, tech talks, knowledge sharing
530
+ 6. **Recognize Growth**: Career ladder, promotions, public recognition
531
+
532
+ ---
533
+
534
+ ## Resources
535
+
536
+ ### Books
537
+ - *Fundamentals of Software Architecture* - Mark Richards, Neal Ford
538
+ - *Software Architecture: The Hard Parts* - Neal Ford et al.
539
+ - *Building Microservices* - Sam Newman
540
+ - *Domain-Driven Design* - Eric Evans
541
+ - *The Phoenix Project* - Gene Kim (DevOps novel)
542
+ - *Site Reliability Engineering* - Google
543
+
544
+ ### Online Courses
545
+ - System Design Interview courses (Educative, Grokking)
546
+ - Cloud architecture certifications (AWS, Azure, GCP)
547
+ - Microservices architecture (Udemy, Pluralsight)
548
+ - Domain-Driven Design courses
549
+
550
+ ### Communities
551
+ - Software Architecture Slack
552
+ - r/softwarearchitecture (Reddit)
553
+ - Architecture Weekly newsletter
554
+ - ThoughtWorks Technology Radar
555
+
556
+ ### Tools for Learning
557
+ - Draw.io / Lucidchart (diagramming)
558
+ - Structurizr (C4 model)
559
+ - Architecture decision records (ADR tools)
560
+ - Cloud sandboxes (AWS Free Tier, Azure Free Account)
561
+
562
+ ### Practice Platforms
563
+ - System Design Primer (GitHub)
564
+ - Architecture Katas
565
+ - LeetCode System Design
566
+ - Real-world case studies (Netflix, Uber, Airbnb tech blogs)
567
+
568
+