@howlil/ez-agents 2.0.0 → 3.0.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 (145) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +157 -110
  3. package/README.zh-CN.md +84 -84
  4. package/agents/ez-plan-checker.md +2 -2
  5. package/agents/ez-research-synthesizer.md +1 -1
  6. package/agents/ez-ui-auditor.md +0 -2
  7. package/agents/ez-ui-checker.md +2 -4
  8. package/agents/ez-ui-researcher.md +0 -2
  9. package/agents/ez-verifier.md +1 -1
  10. package/bin/install.js +211 -211
  11. package/commands/ez/debug.md +1 -1
  12. package/commands/ez/map-codebase.md +1 -1
  13. package/commands/ez/reapply-patches.md +3 -3
  14. package/commands/ez/research-phase.md +1 -1
  15. package/{get-shit-done → ez-agents}/bin/ez-tools.cjs +1 -1
  16. package/{get-shit-done → ez-agents}/bin/lib/assistant-adapter.cjs +205 -205
  17. package/{get-shit-done → ez-agents}/bin/lib/audit-exec.cjs +150 -150
  18. package/{get-shit-done → ez-agents}/bin/lib/auth.cjs +175 -175
  19. package/{get-shit-done → ez-agents}/bin/lib/circuit-breaker.cjs +118 -118
  20. package/{get-shit-done → ez-agents}/bin/lib/commands.cjs +666 -666
  21. package/{get-shit-done → ez-agents}/bin/lib/config.cjs +183 -183
  22. package/{get-shit-done → ez-agents}/bin/lib/core.cjs +495 -495
  23. package/{get-shit-done → ez-agents}/bin/lib/file-lock.cjs +236 -236
  24. package/{get-shit-done → ez-agents}/bin/lib/frontmatter.cjs +299 -299
  25. package/{get-shit-done → ez-agents}/bin/lib/fs-utils.cjs +153 -153
  26. package/{get-shit-done → ez-agents}/bin/lib/git-utils.cjs +203 -203
  27. package/{get-shit-done → ez-agents}/bin/lib/health-check.cjs +163 -163
  28. package/{get-shit-done → ez-agents}/bin/lib/index.cjs +113 -113
  29. package/{get-shit-done → ez-agents}/bin/lib/init.cjs +710 -710
  30. package/{get-shit-done → ez-agents}/bin/lib/logger.cjs +117 -117
  31. package/{get-shit-done → ez-agents}/bin/lib/milestone.cjs +241 -241
  32. package/{get-shit-done → ez-agents}/bin/lib/model-provider.cjs +146 -146
  33. package/{get-shit-done → ez-agents}/bin/lib/phase.cjs +908 -908
  34. package/{get-shit-done → ez-agents}/bin/lib/retry.cjs +119 -119
  35. package/{get-shit-done → ez-agents}/bin/lib/roadmap.cjs +305 -305
  36. package/{get-shit-done → ez-agents}/bin/lib/safe-exec.cjs +128 -128
  37. package/{get-shit-done → ez-agents}/bin/lib/safe-path.cjs +130 -130
  38. package/{get-shit-done → ez-agents}/bin/lib/state.cjs +721 -721
  39. package/{get-shit-done → ez-agents}/bin/lib/temp-file.cjs +239 -239
  40. package/{get-shit-done → ez-agents}/bin/lib/template.cjs +222 -222
  41. package/{get-shit-done → ez-agents}/bin/lib/test-file-lock.cjs +112 -112
  42. package/{get-shit-done → ez-agents}/bin/lib/test-graceful.cjs +93 -93
  43. package/{get-shit-done → ez-agents}/bin/lib/test-logger.cjs +60 -60
  44. package/{get-shit-done → ez-agents}/bin/lib/test-safe-exec.cjs +38 -38
  45. package/{get-shit-done → ez-agents}/bin/lib/test-safe-path.cjs +33 -33
  46. package/{get-shit-done → ez-agents}/bin/lib/test-temp-file.cjs +125 -125
  47. package/{get-shit-done → ez-agents}/bin/lib/timeout-exec.cjs +62 -62
  48. package/{get-shit-done → ez-agents}/bin/lib/verify.cjs +820 -820
  49. package/{get-shit-done → ez-agents}/references/checkpoints.md +776 -776
  50. package/{get-shit-done → ez-agents}/references/questioning.md +162 -162
  51. package/{get-shit-done → ez-agents}/references/tdd.md +263 -263
  52. package/{get-shit-done → ez-agents}/templates/codebase/concerns.md +310 -310
  53. package/{get-shit-done → ez-agents}/templates/codebase/conventions.md +307 -307
  54. package/{get-shit-done → ez-agents}/templates/codebase/integrations.md +280 -280
  55. package/{get-shit-done → ez-agents}/templates/codebase/stack.md +186 -186
  56. package/{get-shit-done → ez-agents}/templates/codebase/testing.md +480 -480
  57. package/{get-shit-done → ez-agents}/templates/config.json +37 -37
  58. package/{get-shit-done → ez-agents}/templates/continue-here.md +78 -78
  59. package/{get-shit-done → ez-agents}/templates/milestone-archive.md +123 -123
  60. package/{get-shit-done → ez-agents}/templates/milestone.md +115 -115
  61. package/{get-shit-done → ez-agents}/templates/requirements.md +231 -231
  62. package/{get-shit-done → ez-agents}/templates/research-project/ARCHITECTURE.md +204 -204
  63. package/{get-shit-done → ez-agents}/templates/research-project/FEATURES.md +147 -147
  64. package/{get-shit-done → ez-agents}/templates/research-project/PITFALLS.md +200 -200
  65. package/{get-shit-done → ez-agents}/templates/research-project/STACK.md +120 -120
  66. package/{get-shit-done → ez-agents}/templates/research-project/SUMMARY.md +170 -170
  67. package/{get-shit-done → ez-agents}/templates/retrospective.md +54 -54
  68. package/{get-shit-done → ez-agents}/templates/roadmap.md +202 -202
  69. package/{get-shit-done → ez-agents}/templates/summary-minimal.md +41 -41
  70. package/{get-shit-done → ez-agents}/templates/summary-standard.md +48 -48
  71. package/{get-shit-done → ez-agents}/templates/summary.md +248 -248
  72. package/{get-shit-done → ez-agents}/templates/user-setup.md +311 -311
  73. package/{get-shit-done → ez-agents}/templates/verification-report.md +322 -322
  74. package/{get-shit-done → ez-agents}/workflows/add-phase.md +112 -112
  75. package/{get-shit-done → ez-agents}/workflows/add-tests.md +351 -351
  76. package/{get-shit-done → ez-agents}/workflows/add-todo.md +158 -158
  77. package/{get-shit-done → ez-agents}/workflows/audit-milestone.md +332 -332
  78. package/{get-shit-done → ez-agents}/workflows/autonomous.md +743 -743
  79. package/{get-shit-done → ez-agents}/workflows/check-todos.md +177 -177
  80. package/{get-shit-done → ez-agents}/workflows/cleanup.md +152 -152
  81. package/{get-shit-done → ez-agents}/workflows/complete-milestone.md +766 -766
  82. package/ez-agents/workflows/debug.md +0 -0
  83. package/{get-shit-done → ez-agents}/workflows/diagnose-issues.md +219 -219
  84. package/{get-shit-done → ez-agents}/workflows/discovery-phase.md +289 -289
  85. package/{get-shit-done → ez-agents}/workflows/discuss-phase.md +762 -762
  86. package/{get-shit-done → ez-agents}/workflows/execute-phase.md +468 -468
  87. package/{get-shit-done → ez-agents}/workflows/execute-plan.md +483 -483
  88. package/{get-shit-done → ez-agents}/workflows/health.md +159 -159
  89. package/{get-shit-done → ez-agents}/workflows/help.md +492 -492
  90. package/{get-shit-done → ez-agents}/workflows/insert-phase.md +130 -130
  91. package/{get-shit-done → ez-agents}/workflows/list-phase-assumptions.md +178 -178
  92. package/{get-shit-done → ez-agents}/workflows/map-codebase.md +316 -316
  93. package/{get-shit-done → ez-agents}/workflows/new-milestone.md +384 -384
  94. package/{get-shit-done → ez-agents}/workflows/new-project.md +1111 -1111
  95. package/{get-shit-done → ez-agents}/workflows/node-repair.md +92 -92
  96. package/{get-shit-done → ez-agents}/workflows/pause-work.md +122 -122
  97. package/{get-shit-done → ez-agents}/workflows/plan-milestone-gaps.md +274 -274
  98. package/{get-shit-done → ez-agents}/workflows/plan-phase.md +651 -651
  99. package/{get-shit-done → ez-agents}/workflows/progress.md +382 -382
  100. package/{get-shit-done → ez-agents}/workflows/quick.md +610 -610
  101. package/{get-shit-done → ez-agents}/workflows/remove-phase.md +155 -155
  102. package/{get-shit-done → ez-agents}/workflows/research-phase.md +74 -74
  103. package/{get-shit-done → ez-agents}/workflows/resume-project.md +307 -307
  104. package/{get-shit-done → ez-agents}/workflows/set-profile.md +81 -81
  105. package/{get-shit-done → ez-agents}/workflows/settings.md +242 -242
  106. package/{get-shit-done → ez-agents}/workflows/stats.md +57 -57
  107. package/{get-shit-done → ez-agents}/workflows/transition.md +544 -544
  108. package/{get-shit-done → ez-agents}/workflows/ui-phase.md +290 -290
  109. package/{get-shit-done → ez-agents}/workflows/ui-review.md +157 -157
  110. package/{get-shit-done → ez-agents}/workflows/update.md +320 -320
  111. package/{get-shit-done → ez-agents}/workflows/validate-phase.md +167 -167
  112. package/{get-shit-done → ez-agents}/workflows/verify-phase.md +243 -243
  113. package/{get-shit-done → ez-agents}/workflows/verify-work.md +5 -5
  114. package/hooks/dist/ez-check-update.js +81 -0
  115. package/hooks/dist/ez-context-monitor.js +141 -0
  116. package/hooks/dist/ez-statusline.js +115 -0
  117. package/package.json +13 -3
  118. package/scripts/build-hooks.js +43 -43
  119. package/scripts/run-tests.cjs +29 -29
  120. /package/{get-shit-done → ez-agents}/references/continuation-format.md +0 -0
  121. /package/{get-shit-done → ez-agents}/references/decimal-phase-calculation.md +0 -0
  122. /package/{get-shit-done → ez-agents}/references/git-integration.md +0 -0
  123. /package/{get-shit-done → ez-agents}/references/git-planning-commit.md +0 -0
  124. /package/{get-shit-done → ez-agents}/references/model-profile-resolution.md +0 -0
  125. /package/{get-shit-done → ez-agents}/references/model-profiles.md +0 -0
  126. /package/{get-shit-done → ez-agents}/references/phase-argument-parsing.md +0 -0
  127. /package/{get-shit-done → ez-agents}/references/planning-config.md +0 -0
  128. /package/{get-shit-done → ez-agents}/references/ui-brand.md +0 -0
  129. /package/{get-shit-done → ez-agents}/references/verification-patterns.md +0 -0
  130. /package/{get-shit-done → ez-agents}/templates/DEBUG.md +0 -0
  131. /package/{get-shit-done → ez-agents}/templates/UAT.md +0 -0
  132. /package/{get-shit-done → ez-agents}/templates/UI-SPEC.md +0 -0
  133. /package/{get-shit-done → ez-agents}/templates/VALIDATION.md +0 -0
  134. /package/{get-shit-done → ez-agents}/templates/codebase/architecture.md +0 -0
  135. /package/{get-shit-done → ez-agents}/templates/codebase/structure.md +0 -0
  136. /package/{get-shit-done → ez-agents}/templates/context.md +0 -0
  137. /package/{get-shit-done → ez-agents}/templates/copilot-instructions.md +0 -0
  138. /package/{get-shit-done → ez-agents}/templates/debug-subagent-prompt.md +0 -0
  139. /package/{get-shit-done → ez-agents}/templates/discovery.md +0 -0
  140. /package/{get-shit-done → ez-agents}/templates/phase-prompt.md +0 -0
  141. /package/{get-shit-done → ez-agents}/templates/planner-subagent-prompt.md +0 -0
  142. /package/{get-shit-done → ez-agents}/templates/project.md +0 -0
  143. /package/{get-shit-done → ez-agents}/templates/research.md +0 -0
  144. /package/{get-shit-done → ez-agents}/templates/state.md +0 -0
  145. /package/{get-shit-done → ez-agents}/templates/summary-complex.md +0 -0
@@ -1,186 +1,186 @@
1
- # Technology Stack Template
2
-
3
- Template for `.planning/codebase/STACK.md` - captures the technology foundation.
4
-
5
- **Purpose:** Document what technologies run this codebase. Focused on "what executes when you run the code."
6
-
7
- ---
8
-
9
- ## File Template
10
-
11
- ```markdown
12
- # Technology Stack
13
-
14
- **Analysis Date:** [YYYY-MM-DD]
15
-
16
- ## Languages
17
-
18
- **Primary:**
19
- - [Language] [Version] - [Where used: e.g., "all application code"]
20
-
21
- **Secondary:**
22
- - [Language] [Version] - [Where used: e.g., "build scripts, tooling"]
23
-
24
- ## Runtime
25
-
26
- **Environment:**
27
- - [Runtime] [Version] - [e.g., "Node.js 20.x"]
28
- - [Additional requirements if any]
29
-
30
- **Package Manager:**
31
- - [Manager] [Version] - [e.g., "npm 10.x"]
32
- - Lockfile: [e.g., "package-lock.json present"]
33
-
34
- ## Frameworks
35
-
36
- **Core:**
37
- - [Framework] [Version] - [Purpose: e.g., "web server", "UI framework"]
38
-
39
- **Testing:**
40
- - [Framework] [Version] - [e.g., "Jest for unit tests"]
41
- - [Framework] [Version] - [e.g., "Playwright for E2E"]
42
-
43
- **Build/Dev:**
44
- - [Tool] [Version] - [e.g., "Vite for bundling"]
45
- - [Tool] [Version] - [e.g., "TypeScript compiler"]
46
-
47
- ## Key Dependencies
48
-
49
- [Only include dependencies critical to understanding the stack - limit to 5-10 most important]
50
-
51
- **Critical:**
52
- - [Package] [Version] - [Why it matters: e.g., "authentication", "database access"]
53
- - [Package] [Version] - [Why it matters]
54
-
55
- **Infrastructure:**
56
- - [Package] [Version] - [e.g., "Express for HTTP routing"]
57
- - [Package] [Version] - [e.g., "PostgreSQL client"]
58
-
59
- ## Configuration
60
-
61
- **Environment:**
62
- - [How configured: e.g., ".env files", "environment variables"]
63
- - [Key configs: e.g., "DATABASE_URL, API_KEY required"]
64
-
65
- **Build:**
66
- - [Build config files: e.g., "vite.config.ts, tsconfig.json"]
67
-
68
- ## Platform Requirements
69
-
70
- **Development:**
71
- - [OS requirements or "any platform"]
72
- - [Additional tooling: e.g., "Docker for local DB"]
73
-
74
- **Production:**
75
- - [Deployment target: e.g., "Vercel", "AWS Lambda", "Docker container"]
76
- - [Version requirements]
77
-
78
- ---
79
-
80
- *Stack analysis: [date]*
81
- *Update after major dependency changes*
82
- ```
83
-
84
- <good_examples>
85
- ```markdown
86
- # Technology Stack
87
-
88
- **Analysis Date:** 2025-01-20
89
-
90
- ## Languages
91
-
92
- **Primary:**
93
- - TypeScript 5.3 - All application code
94
-
95
- **Secondary:**
96
- - JavaScript - Build scripts, config files
97
-
98
- ## Runtime
99
-
100
- **Environment:**
101
- - Node.js 20.x (LTS)
102
- - No browser runtime (CLI tool only)
103
-
104
- **Package Manager:**
105
- - npm 10.x
106
- - Lockfile: `package-lock.json` present
107
-
108
- ## Frameworks
109
-
110
- **Core:**
111
- - None (vanilla Node.js CLI)
112
-
113
- **Testing:**
114
- - Vitest 1.0 - Unit tests
115
- - tsx - TypeScript execution without build step
116
-
117
- **Build/Dev:**
118
- - TypeScript 5.3 - Compilation to JavaScript
119
- - esbuild - Used by Vitest for fast transforms
120
-
121
- ## Key Dependencies
122
-
123
- **Critical:**
124
- - commander 11.x - CLI argument parsing and command structure
125
- - chalk 5.x - Terminal output styling
126
- - fs-extra 11.x - Extended file system operations
127
-
128
- **Infrastructure:**
129
- - Node.js built-ins - fs, path, child_process for file operations
130
-
131
- ## Configuration
132
-
133
- **Environment:**
134
- - No environment variables required
135
- - Configuration via CLI flags only
136
-
137
- **Build:**
138
- - `tsconfig.json` - TypeScript compiler options
139
- - `vitest.config.ts` - Test runner configuration
140
-
141
- ## Platform Requirements
142
-
143
- **Development:**
144
- - macOS/Linux/Windows (any platform with Node.js)
145
- - No external dependencies
146
-
147
- **Production:**
148
- - Distributed as npm package
149
- - Installed globally via npm install -g
150
- - Runs on user's Node.js installation
151
-
152
- ---
153
-
154
- *Stack analysis: 2025-01-20*
155
- *Update after major dependency changes*
156
- ```
157
- </good_examples>
158
-
159
- <guidelines>
160
- **What belongs in STACK.md:**
161
- - Languages and versions
162
- - Runtime requirements (Node, Bun, Deno, browser)
163
- - Package manager and lockfile
164
- - Framework choices
165
- - Critical dependencies (limit to 5-10 most important)
166
- - Build tooling
167
- - Platform/deployment requirements
168
-
169
- **What does NOT belong here:**
170
- - File structure (that's STRUCTURE.md)
171
- - Architectural patterns (that's ARCHITECTURE.md)
172
- - Every dependency in package.json (only critical ones)
173
- - Implementation details (defer to code)
174
-
175
- **When filling this template:**
176
- - Check package.json for dependencies
177
- - Note runtime version from .nvmrc or package.json engines
178
- - Include only dependencies that affect understanding (not every utility)
179
- - Specify versions only when version matters (breaking changes, compatibility)
180
-
181
- **Useful for phase planning when:**
182
- - Adding new dependencies (check compatibility)
183
- - Upgrading frameworks (know what's in use)
184
- - Choosing implementation approach (must work with existing stack)
185
- - Understanding build requirements
186
- </guidelines>
1
+ # Technology Stack Template
2
+
3
+ Template for `.planning/codebase/STACK.md` - captures the technology foundation.
4
+
5
+ **Purpose:** Document what technologies run this codebase. Focused on "what executes when you run the code."
6
+
7
+ ---
8
+
9
+ ## File Template
10
+
11
+ ```markdown
12
+ # Technology Stack
13
+
14
+ **Analysis Date:** [YYYY-MM-DD]
15
+
16
+ ## Languages
17
+
18
+ **Primary:**
19
+ - [Language] [Version] - [Where used: e.g., "all application code"]
20
+
21
+ **Secondary:**
22
+ - [Language] [Version] - [Where used: e.g., "build scripts, tooling"]
23
+
24
+ ## Runtime
25
+
26
+ **Environment:**
27
+ - [Runtime] [Version] - [e.g., "Node.js 20.x"]
28
+ - [Additional requirements if any]
29
+
30
+ **Package Manager:**
31
+ - [Manager] [Version] - [e.g., "npm 10.x"]
32
+ - Lockfile: [e.g., "package-lock.json present"]
33
+
34
+ ## Frameworks
35
+
36
+ **Core:**
37
+ - [Framework] [Version] - [Purpose: e.g., "web server", "UI framework"]
38
+
39
+ **Testing:**
40
+ - [Framework] [Version] - [e.g., "Jest for unit tests"]
41
+ - [Framework] [Version] - [e.g., "Playwright for E2E"]
42
+
43
+ **Build/Dev:**
44
+ - [Tool] [Version] - [e.g., "Vite for bundling"]
45
+ - [Tool] [Version] - [e.g., "TypeScript compiler"]
46
+
47
+ ## Key Dependencies
48
+
49
+ [Only include dependencies critical to understanding the stack - limit to 5-10 most important]
50
+
51
+ **Critical:**
52
+ - [Package] [Version] - [Why it matters: e.g., "authentication", "database access"]
53
+ - [Package] [Version] - [Why it matters]
54
+
55
+ **Infrastructure:**
56
+ - [Package] [Version] - [e.g., "Express for HTTP routing"]
57
+ - [Package] [Version] - [e.g., "PostgreSQL client"]
58
+
59
+ ## Configuration
60
+
61
+ **Environment:**
62
+ - [How configured: e.g., ".env files", "environment variables"]
63
+ - [Key configs: e.g., "DATABASE_URL, API_KEY required"]
64
+
65
+ **Build:**
66
+ - [Build config files: e.g., "vite.config.ts, tsconfig.json"]
67
+
68
+ ## Platform Requirements
69
+
70
+ **Development:**
71
+ - [OS requirements or "any platform"]
72
+ - [Additional tooling: e.g., "Docker for local DB"]
73
+
74
+ **Production:**
75
+ - [Deployment target: e.g., "Vercel", "AWS Lambda", "Docker container"]
76
+ - [Version requirements]
77
+
78
+ ---
79
+
80
+ *Stack analysis: [date]*
81
+ *Update after major dependency changes*
82
+ ```
83
+
84
+ <good_examples>
85
+ ```markdown
86
+ # Technology Stack
87
+
88
+ **Analysis Date:** 2025-01-20
89
+
90
+ ## Languages
91
+
92
+ **Primary:**
93
+ - TypeScript 5.3 - All application code
94
+
95
+ **Secondary:**
96
+ - JavaScript - Build scripts, config files
97
+
98
+ ## Runtime
99
+
100
+ **Environment:**
101
+ - Node.js 20.x (LTS)
102
+ - No browser runtime (CLI tool only)
103
+
104
+ **Package Manager:**
105
+ - npm 10.x
106
+ - Lockfile: `package-lock.json` present
107
+
108
+ ## Frameworks
109
+
110
+ **Core:**
111
+ - None (vanilla Node.js CLI)
112
+
113
+ **Testing:**
114
+ - Vitest 1.0 - Unit tests
115
+ - tsx - TypeScript execution without build step
116
+
117
+ **Build/Dev:**
118
+ - TypeScript 5.3 - Compilation to JavaScript
119
+ - esbuild - Used by Vitest for fast transforms
120
+
121
+ ## Key Dependencies
122
+
123
+ **Critical:**
124
+ - commander 11.x - CLI argument parsing and command structure
125
+ - chalk 5.x - Terminal output styling
126
+ - fs-extra 11.x - Extended file system operations
127
+
128
+ **Infrastructure:**
129
+ - Node.js built-ins - fs, path, child_process for file operations
130
+
131
+ ## Configuration
132
+
133
+ **Environment:**
134
+ - No environment variables required
135
+ - Configuration via CLI flags only
136
+
137
+ **Build:**
138
+ - `tsconfig.json` - TypeScript compiler options
139
+ - `vitest.config.ts` - Test runner configuration
140
+
141
+ ## Platform Requirements
142
+
143
+ **Development:**
144
+ - macOS/Linux/Windows (any platform with Node.js)
145
+ - No external dependencies
146
+
147
+ **Production:**
148
+ - Distributed as npm package
149
+ - Installed globally via npm install -g
150
+ - Runs on user's Node.js installation
151
+
152
+ ---
153
+
154
+ *Stack analysis: 2025-01-20*
155
+ *Update after major dependency changes*
156
+ ```
157
+ </good_examples>
158
+
159
+ <guidelines>
160
+ **What belongs in STACK.md:**
161
+ - Languages and versions
162
+ - Runtime requirements (Node, Bun, Deno, browser)
163
+ - Package manager and lockfile
164
+ - Framework choices
165
+ - Critical dependencies (limit to 5-10 most important)
166
+ - Build tooling
167
+ - Platform/deployment requirements
168
+
169
+ **What does NOT belong here:**
170
+ - File structure (that's STRUCTURE.md)
171
+ - Architectural patterns (that's ARCHITECTURE.md)
172
+ - Every dependency in package.json (only critical ones)
173
+ - Implementation details (defer to code)
174
+
175
+ **When filling this template:**
176
+ - Check package.json for dependencies
177
+ - Note runtime version from .nvmrc or package.json engines
178
+ - Include only dependencies that affect understanding (not every utility)
179
+ - Specify versions only when version matters (breaking changes, compatibility)
180
+
181
+ **Useful for phase planning when:**
182
+ - Adding new dependencies (check compatibility)
183
+ - Upgrading frameworks (know what's in use)
184
+ - Choosing implementation approach (must work with existing stack)
185
+ - Understanding build requirements
186
+ </guidelines>