@nockdev/awf 6.2.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 (727) hide show
  1. package/.agent/build.yaml +178 -0
  2. package/.agent/config.yaml +235 -0
  3. package/.agent/core/ACTIVE_MEMORY.yaml +344 -0
  4. package/.agent/core/ARCH_REGISTRY.yaml +252 -0
  5. package/.agent/core/AUDIT_POLICY.md +68 -0
  6. package/.agent/core/BRANDING.yaml +185 -0
  7. package/.agent/core/CACHE.md +59 -0
  8. package/.agent/core/CHECKPOINT.yaml +153 -0
  9. package/.agent/core/CLEANUP_ENGINE.yaml +326 -0
  10. package/.agent/core/CODING_STYLES.yaml +346 -0
  11. package/.agent/core/COMMANDS.md +93 -0
  12. package/.agent/core/CONTEXT_INJECTOR.yaml +325 -0
  13. package/.agent/core/CONTEXT_LOADER.yaml +323 -0
  14. package/.agent/core/CONTEXT_OPTIMIZATION.yaml +286 -0
  15. package/.agent/core/CONTEXT_PRIORITY.yaml +357 -0
  16. package/.agent/core/CUSTOMIZE.md +138 -0
  17. package/.agent/core/DATA_SAFETY.md +92 -0
  18. package/.agent/core/FLOW_ENGINE.yaml +300 -0
  19. package/.agent/core/GRAPH_MEMORY.yaml +420 -0
  20. package/.agent/core/HSA.yaml +357 -0
  21. package/.agent/core/HYBRID_ROUTER.yaml +346 -0
  22. package/.agent/core/INTENT_DETECTION.yaml +384 -0
  23. package/.agent/core/LIBRARY_REGISTRY.yaml +401 -0
  24. package/.agent/core/MCP_TOOLS.yaml +414 -0
  25. package/.agent/core/MEMORY_CONSOLIDATION.yaml +352 -0
  26. package/.agent/core/MEMORY_ENGINE.yaml +353 -0
  27. package/.agent/core/MEMORY_PATHS.yaml +79 -0
  28. package/.agent/core/MEMORY_UTILS.yaml +212 -0
  29. package/.agent/core/PATTERNS.yaml +319 -0
  30. package/.agent/core/PERMISSIONS.md +100 -0
  31. package/.agent/core/README.md +91 -0
  32. package/.agent/core/REFLECTION_ENGINE.yaml +348 -0
  33. package/.agent/core/ROUTER.yaml +424 -0
  34. package/.agent/core/SCORING_FORMULA.yaml +103 -0
  35. package/.agent/core/SEMANTIC_ENGINE.yaml +162 -0
  36. package/.agent/core/SKILLS_FLOW.yaml +341 -0
  37. package/.agent/core/SKILL_SCHEMA.yaml +266 -0
  38. package/.agent/core/STATE_MACHINE.yaml +409 -0
  39. package/.agent/core/SUMMARIZATION_ENGINE.yaml +258 -0
  40. package/.agent/core/TEMPLATES.yaml +364 -0
  41. package/.agent/core/TOKEN_BUDGETS.yaml +157 -0
  42. package/.agent/core/TOKEN_LOADING.yaml +197 -0
  43. package/.agent/core/TOKEN_SUMMARY.yaml +121 -0
  44. package/.agent/core/VERSION.yaml +240 -0
  45. package/.agent/core/embeddings.json +2004 -0
  46. package/.agent/core/session_cache.json +50 -0
  47. package/.agent/i18n/README.md +30 -0
  48. package/.agent/i18n/en.yaml +302 -0
  49. package/.agent/i18n/vi.yaml +302 -0
  50. package/.agent/ide/README.md +47 -0
  51. package/.agent/ide/amazonq.json +35 -0
  52. package/.agent/ide/amp.json +35 -0
  53. package/.agent/ide/antigravity.json +47 -0
  54. package/.agent/ide/augment.json +35 -0
  55. package/.agent/ide/claude.json +42 -0
  56. package/.agent/ide/cline.json +34 -0
  57. package/.agent/ide/codex.json +37 -0
  58. package/.agent/ide/cody.json +35 -0
  59. package/.agent/ide/continue.json +35 -0
  60. package/.agent/ide/cursor.json +42 -0
  61. package/.agent/ide/gemini.json +46 -0
  62. package/.agent/ide/jetbrains.json +35 -0
  63. package/.agent/ide/kiro.json +35 -0
  64. package/.agent/ide/opencode.json +35 -0
  65. package/.agent/ide/roo.json +35 -0
  66. package/.agent/ide/tabnine.json +35 -0
  67. package/.agent/ide/trae.json +35 -0
  68. package/.agent/ide/vscode.json +34 -0
  69. package/.agent/ide/windsurf.json +56 -0
  70. package/.agent/ide/zed.json +36 -0
  71. package/.agent/manifest.yaml +416 -0
  72. package/.agent/memory/README.md +148 -0
  73. package/.agent/memory/active_memories.json +35 -0
  74. package/.agent/memory/archive/.gitkeep +0 -0
  75. package/.agent/memory/audit_summary.json +58 -0
  76. package/.agent/memory/cleanup_log.json +34 -0
  77. package/.agent/memory/consolidated.md +75 -0
  78. package/.agent/memory/core_memory/persona.json +30 -0
  79. package/.agent/memory/core_memory/project.json +25 -0
  80. package/.agent/memory/core_memory/rules.json +29 -0
  81. package/.agent/memory/core_memory/user.json +24 -0
  82. package/.agent/memory/decisions.md +40 -0
  83. package/.agent/memory/graph/knowledge_graph.json +12 -0
  84. package/.agent/memory/insights.md +52 -0
  85. package/.agent/memory/metrics.json +48 -0
  86. package/.agent/memory/patterns/errors.json +11 -0
  87. package/.agent/memory/patterns/successes.json +10 -0
  88. package/.agent/memory/session.md +64 -0
  89. package/.agent/memory/session_rules.json +19 -0
  90. package/.agent/memory/state.json +81 -0
  91. package/.agent/memory/vectors/README.md +129 -0
  92. package/.agent/personas/README.md +180 -0
  93. package/.agent/personas/architect.md +186 -0
  94. package/.agent/personas/auditor.md +222 -0
  95. package/.agent/personas/debugger.md +210 -0
  96. package/.agent/personas/developer.md +183 -0
  97. package/.agent/personas/devops.md +268 -0
  98. package/.agent/personas/documenter.md +262 -0
  99. package/.agent/personas/orchestrator.md +240 -0
  100. package/.agent/personas/persona.schema.yaml +209 -0
  101. package/.agent/personas/planner.md +171 -0
  102. package/.agent/personas/researcher.md +194 -0
  103. package/.agent/personas/security.md +212 -0
  104. package/.agent/personas/tester.md +247 -0
  105. package/.agent/rules/README.md +231 -0
  106. package/.agent/rules/SACRED_RULES.xml +142 -0
  107. package/.agent/rules/constitutional/tier-0-core.yaml +182 -0
  108. package/.agent/rules/constitutional/tier-1-safety.yaml +272 -0
  109. package/.agent/rules/constitutional/tier-2-execution.yaml +294 -0
  110. package/.agent/rules/data/build-systems.yaml +126 -0
  111. package/.agent/rules/data/quality-standards.json +59 -0
  112. package/.agent/rules/duplication-prevention.md +138 -0
  113. package/.agent/rules/incremental-changes.md +146 -0
  114. package/.agent/rules/modules/context-management.yaml +158 -0
  115. package/.agent/rules/modules/edit-verification.yaml +197 -0
  116. package/.agent/rules/modules/evidence.yaml +185 -0
  117. package/.agent/rules/modules/git-workflow.yaml +165 -0
  118. package/.agent/rules/modules/language.yaml +155 -0
  119. package/.agent/rules/modules/online-research.yaml +192 -0
  120. package/.agent/rules/modules/quality.yaml +185 -0
  121. package/.agent/rules/modules/reflection.yaml +209 -0
  122. package/.agent/rules/modules/stop-conditions.yaml +196 -0
  123. package/.agent/rules/modules/terminal-safety.yaml +229 -0
  124. package/.agent/rules/modules/versioning.yaml +97 -0
  125. package/.agent/rules/modules/yagni.yaml +167 -0
  126. package/.agent/rules/project-detection.md +317 -0
  127. package/.agent/rules/prompt-injection-guard.md +260 -0
  128. package/.agent/rules/shell-commands.md +210 -0
  129. package/.agent/rules/validation-framework.md +189 -0
  130. package/.agent/skills/DEVELOPMENT.yaml +226 -0
  131. package/.agent/skills/README.md +69 -0
  132. package/.agent/skills/_categories.yaml +145 -0
  133. package/.agent/skills/_router.yaml +232 -0
  134. package/.agent/skills/core/_index.yaml +12 -0
  135. package/.agent/skills/core/api-design/META.yaml +64 -0
  136. package/.agent/skills/core/api-design/SKILL.md +169 -0
  137. package/.agent/skills/core/api-design/data/api-versioning.yaml +217 -0
  138. package/.agent/skills/core/api-design/data/error-responses.yaml +135 -0
  139. package/.agent/skills/core/api-design/data/graphql-patterns.yaml +165 -0
  140. package/.agent/skills/core/api-design/data/grpc-patterns.yaml +165 -0
  141. package/.agent/skills/core/api-design/data/http-status-codes.yaml +176 -0
  142. package/.agent/skills/core/api-design/data/pagination.yaml +121 -0
  143. package/.agent/skills/core/api-design/data/rate-limiting.yaml +135 -0
  144. package/.agent/skills/core/api-design/data/rest-patterns.yaml +195 -0
  145. package/.agent/skills/core/api-design/data/test-apis.yaml +217 -0
  146. package/.agent/skills/core/authentication/META.yaml +73 -0
  147. package/.agent/skills/core/authentication/SKILL.md +166 -0
  148. package/.agent/skills/core/authentication/data/anti-patterns.yaml +135 -0
  149. package/.agent/skills/core/authentication/data/core-patterns.yaml +256 -0
  150. package/.agent/skills/core/authentication/data/jwt-patterns.yaml +255 -0
  151. package/.agent/skills/core/authentication/data/language-csharp.yaml +215 -0
  152. package/.agent/skills/core/authentication/data/language-go.yaml +215 -0
  153. package/.agent/skills/core/authentication/data/language-java.yaml +215 -0
  154. package/.agent/skills/core/authentication/data/language-mobile.yaml +215 -0
  155. package/.agent/skills/core/authentication/data/language-python.yaml +215 -0
  156. package/.agent/skills/core/authentication/data/language-rust.yaml +215 -0
  157. package/.agent/skills/core/authentication/data/language-typescript.yaml +215 -0
  158. package/.agent/skills/core/authentication/data/mfa-patterns.yaml +175 -0
  159. package/.agent/skills/core/authentication/data/oauth-patterns.yaml +255 -0
  160. package/.agent/skills/core/authentication/data/oauth.yaml +248 -0
  161. package/.agent/skills/core/authentication/data/passkeys-webauthn.yaml +215 -0
  162. package/.agent/skills/core/authentication/data/passkeys.yaml +208 -0
  163. package/.agent/skills/core/authentication/data/password-patterns.yaml +175 -0
  164. package/.agent/skills/core/authentication/data/password.yaml +168 -0
  165. package/.agent/skills/core/authentication/data/session-patterns.yaml +215 -0
  166. package/.agent/skills/core/error-handling/META.yaml +71 -0
  167. package/.agent/skills/core/error-handling/SKILL.md +156 -0
  168. package/.agent/skills/core/error-handling/data/anti-patterns.yaml +105 -0
  169. package/.agent/skills/core/error-handling/data/api-error-patterns.yaml +135 -0
  170. package/.agent/skills/core/error-handling/data/core-patterns.yaml +226 -0
  171. package/.agent/skills/core/error-handling/data/error-codes.yaml +165 -0
  172. package/.agent/skills/core/error-handling/data/error-messages.yaml +165 -0
  173. package/.agent/skills/core/error-handling/data/language-c-cpp.yaml +226 -0
  174. package/.agent/skills/core/error-handling/data/language-go-rust.yaml +226 -0
  175. package/.agent/skills/core/error-handling/data/language-python-java.yaml +226 -0
  176. package/.agent/skills/core/error-handling/data/language-swift-kotlin.yaml +226 -0
  177. package/.agent/skills/core/error-handling/data/language-typescript-php-ruby.yaml +226 -0
  178. package/.agent/skills/core/error-handling/data/resilience-patterns.yaml +191 -0
  179. package/.agent/skills/core/error-handling/data/ui-error-patterns.yaml +135 -0
  180. package/.agent/skills/core/logging/META.yaml +73 -0
  181. package/.agent/skills/core/logging/SKILL.md +184 -0
  182. package/.agent/skills/core/logging/data/aggregation-patterns.yaml +191 -0
  183. package/.agent/skills/core/logging/data/anti-patterns.yaml +121 -0
  184. package/.agent/skills/core/logging/data/core-patterns.yaml +226 -0
  185. package/.agent/skills/core/logging/data/language-csharp.yaml +191 -0
  186. package/.agent/skills/core/logging/data/language-go.yaml +191 -0
  187. package/.agent/skills/core/logging/data/language-java.yaml +191 -0
  188. package/.agent/skills/core/logging/data/language-kotlin.yaml +156 -0
  189. package/.agent/skills/core/logging/data/language-others.yaml +184 -0
  190. package/.agent/skills/core/logging/data/language-python.yaml +191 -0
  191. package/.agent/skills/core/logging/data/language-rust.yaml +191 -0
  192. package/.agent/skills/core/logging/data/language-swift.yaml +156 -0
  193. package/.agent/skills/core/logging/data/language-typescript.yaml +191 -0
  194. package/.agent/skills/core/logging/data/otel-logging.yaml +156 -0
  195. package/.agent/skills/core/observability/META.yaml +76 -0
  196. package/.agent/skills/core/observability/SKILL.md +153 -0
  197. package/.agent/skills/core/observability/data/alerting-patterns.yaml +165 -0
  198. package/.agent/skills/core/observability/data/anti-patterns.yaml +105 -0
  199. package/.agent/skills/core/observability/data/core-patterns.yaml +195 -0
  200. package/.agent/skills/core/observability/data/language-cpp.yaml +165 -0
  201. package/.agent/skills/core/observability/data/language-csharp.yaml +165 -0
  202. package/.agent/skills/core/observability/data/language-go.yaml +165 -0
  203. package/.agent/skills/core/observability/data/language-java.yaml +165 -0
  204. package/.agent/skills/core/observability/data/language-others.yaml +255 -0
  205. package/.agent/skills/core/observability/data/language-python.yaml +165 -0
  206. package/.agent/skills/core/observability/data/language-rust.yaml +165 -0
  207. package/.agent/skills/core/observability/data/language-typescript.yaml +165 -0
  208. package/.agent/skills/core/observability/data/metrics-patterns.yaml +135 -0
  209. package/.agent/skills/core/observability/data/metrics-prometheus.yaml +165 -0
  210. package/.agent/skills/core/observability/data/otel-core.yaml +195 -0
  211. package/.agent/skills/core/observability/data/profiling-patterns.yaml +135 -0
  212. package/.agent/skills/core/observability/data/tracing-patterns.yaml +165 -0
  213. package/.agent/skills/core/observability/data/tracing-tools.yaml +135 -0
  214. package/.agent/skills/core/security/ADVANCED.md +269 -0
  215. package/.agent/skills/core/security/META.yaml +97 -0
  216. package/.agent/skills/core/security/SKILL.md +234 -0
  217. package/.agent/skills/core/security/data/ai-ml-security.yaml +261 -0
  218. package/.agent/skills/core/security/data/api-security.yaml +230 -0
  219. package/.agent/skills/core/security/data/auth-patterns.yaml +195 -0
  220. package/.agent/skills/core/security/data/binary-exploitation.yaml +339 -0
  221. package/.agent/skills/core/security/data/cloud-security.yaml +269 -0
  222. package/.agent/skills/core/security/data/cwe-top25.yaml +415 -0
  223. package/.agent/skills/core/security/data/language-specific/c-security.yaml +295 -0
  224. package/.agent/skills/core/security/data/language-specific/cpp-security.yaml +295 -0
  225. package/.agent/skills/core/security/data/language-specific/csharp-security.yaml +219 -0
  226. package/.agent/skills/core/security/data/language-specific/go-security.yaml +219 -0
  227. package/.agent/skills/core/security/data/language-specific/java-security.yaml +295 -0
  228. package/.agent/skills/core/security/data/language-specific/kotlin-security.yaml +198 -0
  229. package/.agent/skills/core/security/data/language-specific/php-security.yaml +219 -0
  230. package/.agent/skills/core/security/data/language-specific/python-security.yaml +295 -0
  231. package/.agent/skills/core/security/data/language-specific/ruby-security.yaml +198 -0
  232. package/.agent/skills/core/security/data/language-specific/rust-security.yaml +240 -0
  233. package/.agent/skills/core/security/data/language-specific/solidity-security.yaml +369 -0
  234. package/.agent/skills/core/security/data/language-specific/swift-security.yaml +198 -0
  235. package/.agent/skills/core/security/data/language-specific/typescript-security.yaml +295 -0
  236. package/.agent/skills/core/security/data/mobile-security.yaml +369 -0
  237. package/.agent/skills/core/security/data/network-security.yaml +297 -0
  238. package/.agent/skills/core/security/data/owasp-top10.yaml +171 -0
  239. package/.agent/skills/core/security/data/reverse-engineering.yaml +497 -0
  240. package/.agent/skills/core/security/data/supply-chain.yaml +219 -0
  241. package/.agent/skills/cross-cutting/_index.yaml +15 -0
  242. package/.agent/skills/cross-cutting/audit-pro/META.yaml +43 -0
  243. package/.agent/skills/cross-cutting/audit-pro/data/checklists.yaml +644 -0
  244. package/.agent/skills/cross-cutting/audit-pro/data/scoring.yaml +101 -0
  245. package/.agent/skills/cross-cutting/aws/META.yaml +75 -0
  246. package/.agent/skills/cross-cutting/aws/data/ai_ml.yaml +194 -0
  247. package/.agent/skills/cross-cutting/aws/data/compute.yaml +191 -0
  248. package/.agent/skills/cross-cutting/aws/data/kubernetes.yaml +199 -0
  249. package/.agent/skills/cross-cutting/aws/data/storage.yaml +174 -0
  250. package/.agent/skills/cross-cutting/bun/META.yaml +58 -0
  251. package/.agent/skills/cross-cutting/bun/SKILL.md +357 -0
  252. package/.agent/skills/cross-cutting/bun/data/database.yaml +85 -0
  253. package/.agent/skills/cross-cutting/bun/data/runtime.yaml +170 -0
  254. package/.agent/skills/cross-cutting/bun/data/tooling.yaml +192 -0
  255. package/.agent/skills/cross-cutting/ci-cd/META.yaml +60 -0
  256. package/.agent/skills/cross-cutting/ci-cd/data/github_actions.yaml +248 -0
  257. package/.agent/skills/cross-cutting/ci-cd/data/security.yaml +211 -0
  258. package/.agent/skills/cross-cutting/coding-rules/META.yaml +61 -0
  259. package/.agent/skills/cross-cutting/coding-rules/SKILL.md +171 -0
  260. package/.agent/skills/cross-cutting/coding-rules/data/architecture-patterns.yaml +96 -0
  261. package/.agent/skills/cross-cutting/coding-rules/data/build-systems.yaml +346 -0
  262. package/.agent/skills/cross-cutting/coding-rules/data/coding-rules.yaml +647 -0
  263. package/.agent/skills/cross-cutting/coding-rules/data/concurrency-patterns.yaml +108 -0
  264. package/.agent/skills/cross-cutting/coding-rules/data/design-patterns.yaml +260 -0
  265. package/.agent/skills/cross-cutting/coding-rules/data/framework-signatures.yaml +344 -0
  266. package/.agent/skills/cross-cutting/coding-rules/data/memory-management.yaml +108 -0
  267. package/.agent/skills/cross-cutting/coding-rules/data/naming-conventions.yaml +320 -0
  268. package/.agent/skills/cross-cutting/coding-rules/data/performance-benchmarks.yaml +164 -0
  269. package/.agent/skills/cross-cutting/coding-rules/data/solid-principles.yaml +80 -0
  270. package/.agent/skills/cross-cutting/coding-rules/data/test-frameworks.yaml +183 -0
  271. package/.agent/skills/cross-cutting/database/ADVANCED.md +465 -0
  272. package/.agent/skills/cross-cutting/database/META.yaml +22 -0
  273. package/.agent/skills/cross-cutting/database/SKILL.md +816 -0
  274. package/.agent/skills/cross-cutting/database/data/anti_patterns.yaml +116 -0
  275. package/.agent/skills/cross-cutting/database/data/distributed.yaml +152 -0
  276. package/.agent/skills/cross-cutting/database/data/mongodb.yaml +132 -0
  277. package/.agent/skills/cross-cutting/database/data/mysql.yaml +130 -0
  278. package/.agent/skills/cross-cutting/database/data/orm.yaml +104 -0
  279. package/.agent/skills/cross-cutting/database/data/postgresql.yaml +170 -0
  280. package/.agent/skills/cross-cutting/database/data/redis.yaml +129 -0
  281. package/.agent/skills/cross-cutting/deno/META.yaml +68 -0
  282. package/.agent/skills/cross-cutting/deno/SKILL.md +343 -0
  283. package/.agent/skills/cross-cutting/deno/data/runtime.yaml +260 -0
  284. package/.agent/skills/cross-cutting/deno/data/security.yaml +168 -0
  285. package/.agent/skills/cross-cutting/deno/data/tooling.yaml +133 -0
  286. package/.agent/skills/cross-cutting/docker/META.yaml +65 -0
  287. package/.agent/skills/cross-cutting/docker/data/build.yaml +197 -0
  288. package/.agent/skills/cross-cutting/docker/data/compose.yaml +229 -0
  289. package/.agent/skills/cross-cutting/docker/data/security.yaml +164 -0
  290. package/.agent/skills/cross-cutting/electron/META.yaml +174 -0
  291. package/.agent/skills/cross-cutting/electron/SKILL.md +862 -0
  292. package/.agent/skills/cross-cutting/electron/data/build.yaml +105 -0
  293. package/.agent/skills/cross-cutting/electron/data/crash.yaml +103 -0
  294. package/.agent/skills/cross-cutting/electron/data/ipc.yaml +85 -0
  295. package/.agent/skills/cross-cutting/electron/data/native.yaml +157 -0
  296. package/.agent/skills/cross-cutting/electron/data/security.yaml +89 -0
  297. package/.agent/skills/cross-cutting/electron/data/storage.yaml +100 -0
  298. package/.agent/skills/cross-cutting/electron/data/testing.yaml +103 -0
  299. package/.agent/skills/cross-cutting/electron/data/updates.yaml +99 -0
  300. package/.agent/skills/cross-cutting/electron/data/window.yaml +83 -0
  301. package/.agent/skills/cross-cutting/kubernetes/META.yaml +70 -0
  302. package/.agent/skills/cross-cutting/kubernetes/data/networking.yaml +270 -0
  303. package/.agent/skills/cross-cutting/kubernetes/data/scheduling.yaml +267 -0
  304. package/.agent/skills/cross-cutting/kubernetes/data/security.yaml +253 -0
  305. package/.agent/skills/cross-cutting/kubernetes/data/workloads.yaml +251 -0
  306. package/.agent/skills/cross-cutting/sql/META.yaml +88 -0
  307. package/.agent/skills/cross-cutting/sql/SKILL.md +296 -0
  308. package/.agent/skills/cross-cutting/sql/data/indexing.yaml +147 -0
  309. package/.agent/skills/cross-cutting/sql/data/json.yaml +156 -0
  310. package/.agent/skills/cross-cutting/sql/data/performance.yaml +204 -0
  311. package/.agent/skills/cross-cutting/sql/data/queries.yaml +150 -0
  312. package/.agent/skills/cross-cutting/tailwind/META.yaml +72 -0
  313. package/.agent/skills/cross-cutting/tailwind/SKILL.md +344 -0
  314. package/.agent/skills/cross-cutting/tailwind/data/build.yaml +143 -0
  315. package/.agent/skills/cross-cutting/tailwind/data/config.yaml +109 -0
  316. package/.agent/skills/cross-cutting/tailwind/data/migration.yaml +149 -0
  317. package/.agent/skills/cross-cutting/tailwind/data/responsive.yaml +148 -0
  318. package/.agent/skills/cross-cutting/tailwind/data/states.yaml +152 -0
  319. package/.agent/skills/cross-cutting/tailwind/data/theme.yaml +126 -0
  320. package/.agent/skills/cross-cutting/tailwind/data/utilities.yaml +182 -0
  321. package/.agent/skills/cross-cutting/tailwind/data/variants.yaml +154 -0
  322. package/.agent/skills/cross-cutting/testing/ADVANCED.md +245 -0
  323. package/.agent/skills/cross-cutting/testing/META.yaml +49 -0
  324. package/.agent/skills/cross-cutting/testing/SKILL.md +263 -0
  325. package/.agent/skills/cross-cutting/testing/data/frameworks.yaml +300 -0
  326. package/.agent/skills/cross-cutting/testing/data/patterns.yaml +168 -0
  327. package/.agent/skills/cross-cutting/ui-ux-pro-max/META.yaml +108 -0
  328. package/.agent/skills/cross-cutting/ui-ux-pro-max/SKILL.md +565 -0
  329. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/charts.yaml +331 -0
  330. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/colors.yaml +1226 -0
  331. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/component-decision.yaml +287 -0
  332. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/component-mapping.yaml +318 -0
  333. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/design-tokens.yaml +525 -0
  334. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-animation.yaml +232 -0
  335. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-architecture.yaml +140 -0
  336. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-colors.yaml +467 -0
  337. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/directory-structure.yaml +75 -0
  338. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/icons.yaml +918 -0
  339. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/implementation-strategy.yaml +107 -0
  340. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/landing.yaml +372 -0
  341. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/platform-frameworks.yaml +195 -0
  342. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/platform-guidelines.yaml +177 -0
  343. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/products.yaml +1339 -0
  344. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/prompts.yaml +180 -0
  345. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/react-performance.yaml +504 -0
  346. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/desktop.yaml +228 -0
  347. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/flutter.yaml +508 -0
  348. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/html-tailwind.yaml +543 -0
  349. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nextjs.yaml +515 -0
  350. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nuxt-ui.yaml +519 -0
  351. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nuxtjs.yaml +599 -0
  352. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/react-native.yaml +496 -0
  353. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/react.yaml +526 -0
  354. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/shadcn.yaml +616 -0
  355. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/svelte.yaml +520 -0
  356. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/swiftui.yaml +486 -0
  357. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/vue.yaml +485 -0
  358. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/styles.yaml +1473 -0
  359. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/typography.yaml +647 -0
  360. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/ui-reasoning.yaml +1019 -0
  361. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/ux-guidelines.yaml +1009 -0
  362. package/.agent/skills/cross-cutting/ui-ux-pro-max/data/web-interface.yaml +347 -0
  363. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
  364. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  365. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  366. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/core.py +393 -0
  367. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/core_legacy.py +303 -0
  368. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/design_system.py +496 -0
  369. package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/search.py +76 -0
  370. package/.agent/skills/cross-cutting/web-perf/META.yaml +92 -0
  371. package/.agent/skills/cross-cutting/web-perf/SKILL.md +181 -0
  372. package/.agent/skills/cross-cutting/web-perf/data/cls_optimization.yaml +189 -0
  373. package/.agent/skills/cross-cutting/web-perf/data/core_web_vitals.yaml +282 -0
  374. package/.agent/skills/cross-cutting/web-perf/data/inp_optimization.yaml +240 -0
  375. package/.agent/skills/cross-cutting/web-perf/data/lcp_optimization.yaml +202 -0
  376. package/.agent/skills/cross-cutting/web-perf/data/measurement.yaml +170 -0
  377. package/.agent/skills/devops/_index.yaml +9 -0
  378. package/.agent/skills/devops/aws/ADVANCED.md +547 -0
  379. package/.agent/skills/devops/aws/META.yaml +84 -0
  380. package/.agent/skills/devops/aws/SKILL.md +711 -0
  381. package/.agent/skills/devops/ci-cd/ADVANCED.md +529 -0
  382. package/.agent/skills/devops/ci-cd/META.yaml +21 -0
  383. package/.agent/skills/devops/ci-cd/SKILL.md +821 -0
  384. package/.agent/skills/devops/docker/ADVANCED.md +495 -0
  385. package/.agent/skills/devops/docker/META.yaml +20 -0
  386. package/.agent/skills/devops/docker/SKILL.md +653 -0
  387. package/.agent/skills/devops/kubernetes/ADVANCED.md +252 -0
  388. package/.agent/skills/devops/kubernetes/META.yaml +15 -0
  389. package/.agent/skills/devops/kubernetes/SKILL.md +621 -0
  390. package/.agent/skills/frameworks/_index.yaml +13 -0
  391. package/.agent/skills/frameworks/angular/META.yaml +70 -0
  392. package/.agent/skills/frameworks/angular/SKILL.md +319 -0
  393. package/.agent/skills/frameworks/angular/data/core.yaml +209 -0
  394. package/.agent/skills/frameworks/angular/data/performance.yaml +210 -0
  395. package/.agent/skills/frameworks/angular/data/server.yaml +175 -0
  396. package/.agent/skills/frameworks/flutter/ADVANCED.md +491 -0
  397. package/.agent/skills/frameworks/flutter/META.yaml +64 -0
  398. package/.agent/skills/frameworks/flutter/SKILL.md +541 -0
  399. package/.agent/skills/frameworks/flutter/data/core.yaml +210 -0
  400. package/.agent/skills/frameworks/flutter/data/platform.yaml +246 -0
  401. package/.agent/skills/frameworks/flutter/data/state.yaml +250 -0
  402. package/.agent/skills/frameworks/nextjs/ADVANCED.md +225 -0
  403. package/.agent/skills/frameworks/nextjs/META.yaml +67 -0
  404. package/.agent/skills/frameworks/nextjs/SKILL.md +593 -0
  405. package/.agent/skills/frameworks/nextjs/data/caching.yaml +210 -0
  406. package/.agent/skills/frameworks/nextjs/data/core.yaml +255 -0
  407. package/.agent/skills/frameworks/nextjs/data/server.yaml +248 -0
  408. package/.agent/skills/frameworks/nuxt/META.yaml +57 -0
  409. package/.agent/skills/frameworks/nuxt/SKILL.md +283 -0
  410. package/.agent/skills/frameworks/nuxt/data/core.yaml +309 -0
  411. package/.agent/skills/frameworks/nuxt/data/server.yaml +271 -0
  412. package/.agent/skills/frameworks/react/ADVANCED.md +676 -0
  413. package/.agent/skills/frameworks/react/META.yaml +60 -0
  414. package/.agent/skills/frameworks/react/SKILL.md +263 -0
  415. package/.agent/skills/frameworks/react/data/core.yaml +278 -0
  416. package/.agent/skills/frameworks/react/data/server.yaml +283 -0
  417. package/.agent/skills/frameworks/react-native/META.yaml +59 -0
  418. package/.agent/skills/frameworks/react-native/SKILL.md +301 -0
  419. package/.agent/skills/frameworks/react-native/data/core.yaml +260 -0
  420. package/.agent/skills/frameworks/react-native/data/platform.yaml +287 -0
  421. package/.agent/skills/frameworks/svelte/META.yaml +62 -0
  422. package/.agent/skills/frameworks/svelte/SKILL.md +398 -0
  423. package/.agent/skills/frameworks/svelte/data/runes.yaml +239 -0
  424. package/.agent/skills/frameworks/svelte/data/sveltekit.yaml +244 -0
  425. package/.agent/skills/frameworks/vue/ADVANCED.md +214 -0
  426. package/.agent/skills/frameworks/vue/META.yaml +58 -0
  427. package/.agent/skills/frameworks/vue/SKILL.md +356 -0
  428. package/.agent/skills/frameworks/vue/data/advanced.yaml +253 -0
  429. package/.agent/skills/frameworks/vue/data/core.yaml +270 -0
  430. package/.agent/skills/index.json +143 -0
  431. package/.agent/skills/languages/_index.yaml +33 -0
  432. package/.agent/skills/languages/asm/ADVANCED.md +750 -0
  433. package/.agent/skills/languages/asm/META.yaml +84 -0
  434. package/.agent/skills/languages/asm/SKILL.md +753 -0
  435. package/.agent/skills/languages/asm/data/advanced.yaml +295 -0
  436. package/.agent/skills/languages/asm/data/core.yaml +280 -0
  437. package/.agent/skills/languages/c/ADVANCED.md +625 -0
  438. package/.agent/skills/languages/c/META.yaml +58 -0
  439. package/.agent/skills/languages/c/SKILL.md +748 -0
  440. package/.agent/skills/languages/c/data/core.yaml +179 -0
  441. package/.agent/skills/languages/c/data/embedded.yaml +251 -0
  442. package/.agent/skills/languages/c/data/memory.yaml +253 -0
  443. package/.agent/skills/languages/clojure/META.yaml +13 -0
  444. package/.agent/skills/languages/clojure/SKILL.md +130 -0
  445. package/.agent/skills/languages/clojure/data/core.yaml +326 -0
  446. package/.agent/skills/languages/cpp/ADVANCED.md +457 -0
  447. package/.agent/skills/languages/cpp/META.yaml +61 -0
  448. package/.agent/skills/languages/cpp/SKILL.md +936 -0
  449. package/.agent/skills/languages/cpp/data/core.yaml +304 -0
  450. package/.agent/skills/languages/cpp/data/memory.yaml +247 -0
  451. package/.agent/skills/languages/cpp/data/modern.yaml +334 -0
  452. package/.agent/skills/languages/crystal/META.yaml +30 -0
  453. package/.agent/skills/languages/crystal/SKILL.md +117 -0
  454. package/.agent/skills/languages/crystal/data/async.yaml +264 -0
  455. package/.agent/skills/languages/crystal/data/core.yaml +279 -0
  456. package/.agent/skills/languages/csharp/ADVANCED.md +592 -0
  457. package/.agent/skills/languages/csharp/META.yaml +23 -0
  458. package/.agent/skills/languages/csharp/SKILL.md +620 -0
  459. package/.agent/skills/languages/csharp/data/aspnet.yaml +448 -0
  460. package/.agent/skills/languages/csharp/data/core.yaml +362 -0
  461. package/.agent/skills/languages/elixir/META.yaml +18 -0
  462. package/.agent/skills/languages/elixir/SKILL.md +368 -0
  463. package/.agent/skills/languages/elixir/data/core.yaml +392 -0
  464. package/.agent/skills/languages/fsharp/META.yaml +14 -0
  465. package/.agent/skills/languages/fsharp/SKILL.md +113 -0
  466. package/.agent/skills/languages/fsharp/data/core.yaml +396 -0
  467. package/.agent/skills/languages/go/ADVANCED.md +260 -0
  468. package/.agent/skills/languages/go/META.yaml +64 -0
  469. package/.agent/skills/languages/go/SKILL.md +489 -0
  470. package/.agent/skills/languages/go/data/concurrency.yaml +424 -0
  471. package/.agent/skills/languages/go/data/core.yaml +399 -0
  472. package/.agent/skills/languages/go/data/http.yaml +507 -0
  473. package/.agent/skills/languages/haskell/META.yaml +18 -0
  474. package/.agent/skills/languages/haskell/SKILL.md +305 -0
  475. package/.agent/skills/languages/haskell/data/core.yaml +347 -0
  476. package/.agent/skills/languages/java/ADVANCED.md +450 -0
  477. package/.agent/skills/languages/java/META.yaml +89 -0
  478. package/.agent/skills/languages/java/SKILL.md +495 -0
  479. package/.agent/skills/languages/java/data/core.yaml +307 -0
  480. package/.agent/skills/languages/java/data/spring.yaml +437 -0
  481. package/.agent/skills/languages/javascript/ADVANCED.md +530 -0
  482. package/.agent/skills/languages/javascript/META.yaml +105 -0
  483. package/.agent/skills/languages/javascript/SKILL.md +455 -0
  484. package/.agent/skills/languages/javascript/data/async.yaml +290 -0
  485. package/.agent/skills/languages/javascript/data/core.yaml +380 -0
  486. package/.agent/skills/languages/javascript/data/modern.yaml +269 -0
  487. package/.agent/skills/languages/julia/META.yaml +13 -0
  488. package/.agent/skills/languages/julia/SKILL.md +174 -0
  489. package/.agent/skills/languages/julia/data/core.yaml +356 -0
  490. package/.agent/skills/languages/kotlin/ADVANCED.md +539 -0
  491. package/.agent/skills/languages/kotlin/META.yaml +24 -0
  492. package/.agent/skills/languages/kotlin/SKILL.md +525 -0
  493. package/.agent/skills/languages/kotlin/data/android.yaml +495 -0
  494. package/.agent/skills/languages/kotlin/data/core.yaml +366 -0
  495. package/.agent/skills/languages/lua/ADVANCED.md +257 -0
  496. package/.agent/skills/languages/lua/META.yaml +58 -0
  497. package/.agent/skills/languages/lua/SKILL.md +492 -0
  498. package/.agent/skills/languages/lua/data/core.yaml +264 -0
  499. package/.agent/skills/languages/lua/data/embedding.yaml +300 -0
  500. package/.agent/skills/languages/nim/META.yaml +30 -0
  501. package/.agent/skills/languages/nim/SKILL.md +116 -0
  502. package/.agent/skills/languages/nim/data/async.yaml +257 -0
  503. package/.agent/skills/languages/nim/data/core.yaml +241 -0
  504. package/.agent/skills/languages/ocaml/META.yaml +13 -0
  505. package/.agent/skills/languages/ocaml/SKILL.md +123 -0
  506. package/.agent/skills/languages/ocaml/data/core.yaml +357 -0
  507. package/.agent/skills/languages/perl/META.yaml +13 -0
  508. package/.agent/skills/languages/perl/SKILL.md +115 -0
  509. package/.agent/skills/languages/perl/data/core.yaml +360 -0
  510. package/.agent/skills/languages/php/ADVANCED.md +199 -0
  511. package/.agent/skills/languages/php/META.yaml +18 -0
  512. package/.agent/skills/languages/php/SKILL.md +488 -0
  513. package/.agent/skills/languages/php/data/core.yaml +392 -0
  514. package/.agent/skills/languages/php/data/laravel.yaml +525 -0
  515. package/.agent/skills/languages/python/ADVANCED.md +207 -0
  516. package/.agent/skills/languages/python/META.yaml +91 -0
  517. package/.agent/skills/languages/python/SKILL.md +495 -0
  518. package/.agent/skills/languages/python/data/async.yaml +265 -0
  519. package/.agent/skills/languages/python/data/core.yaml +259 -0
  520. package/.agent/skills/languages/python/data/fastapi.yaml +296 -0
  521. package/.agent/skills/languages/python/data/testing.yaml +226 -0
  522. package/.agent/skills/languages/r/META.yaml +16 -0
  523. package/.agent/skills/languages/r/SKILL.md +348 -0
  524. package/.agent/skills/languages/r/data/core.yaml +355 -0
  525. package/.agent/skills/languages/ruby/ADVANCED.md +381 -0
  526. package/.agent/skills/languages/ruby/META.yaml +19 -0
  527. package/.agent/skills/languages/ruby/SKILL.md +417 -0
  528. package/.agent/skills/languages/ruby/data/core.yaml +448 -0
  529. package/.agent/skills/languages/ruby/data/rails.yaml +415 -0
  530. package/.agent/skills/languages/rust/ADVANCED.md +212 -0
  531. package/.agent/skills/languages/rust/META.yaml +87 -0
  532. package/.agent/skills/languages/rust/SKILL.md +377 -0
  533. package/.agent/skills/languages/rust/data/async.yaml +404 -0
  534. package/.agent/skills/languages/rust/data/axum.yaml +450 -0
  535. package/.agent/skills/languages/rust/data/core.yaml +356 -0
  536. package/.agent/skills/languages/scala/META.yaml +17 -0
  537. package/.agent/skills/languages/scala/SKILL.md +202 -0
  538. package/.agent/skills/languages/scala/data/core.yaml +349 -0
  539. package/.agent/skills/languages/solidity/META.yaml +13 -0
  540. package/.agent/skills/languages/solidity/SKILL.md +188 -0
  541. package/.agent/skills/languages/solidity/data/core.yaml +528 -0
  542. package/.agent/skills/languages/swift/ADVANCED.md +231 -0
  543. package/.agent/skills/languages/swift/META.yaml +18 -0
  544. package/.agent/skills/languages/swift/SKILL.md +342 -0
  545. package/.agent/skills/languages/swift/data/core.yaml +489 -0
  546. package/.agent/skills/languages/typescript/ADVANCED.md +186 -0
  547. package/.agent/skills/languages/typescript/META.yaml +92 -0
  548. package/.agent/skills/languages/typescript/SKILL.md +306 -0
  549. package/.agent/skills/languages/typescript/data/async.yaml +397 -0
  550. package/.agent/skills/languages/typescript/data/core.yaml +283 -0
  551. package/.agent/skills/languages/typescript/data/validation.yaml +338 -0
  552. package/.agent/skills/languages/zig/META.yaml +52 -0
  553. package/.agent/skills/languages/zig/SKILL.md +354 -0
  554. package/.agent/skills/languages/zig/data/async.yaml +314 -0
  555. package/.agent/skills/languages/zig/data/core.yaml +302 -0
  556. package/.agent/templates/README.md +42 -0
  557. package/.agent/templates/audit-report.md +153 -0
  558. package/.agent/templates/chains/debug/step1-reproduce.md +83 -0
  559. package/.agent/templates/chains/debug/step2-isolate.md +73 -0
  560. package/.agent/templates/chains/debug/step3-analyze.md +86 -0
  561. package/.agent/templates/chains/debug/step4-fix.md +85 -0
  562. package/.agent/templates/chains/debug/step5-verify.md +122 -0
  563. package/.agent/templates/chains/implement/step1-plan.md +88 -0
  564. package/.agent/templates/chains/implement/step2-code.md +87 -0
  565. package/.agent/templates/chains/implement/step3-test.md +87 -0
  566. package/.agent/templates/chains/implement/step4-doc.md +118 -0
  567. package/.agent/templates/chains/review/step1-understand.md +74 -0
  568. package/.agent/templates/chains/review/step2-analyze.md +110 -0
  569. package/.agent/templates/chains/review/step3-fix.md +93 -0
  570. package/.agent/templates/chains/review/step4-summary.md +104 -0
  571. package/.agent/templates/debug-report.md +50 -0
  572. package/.agent/templates/deploy-plan.md +54 -0
  573. package/.agent/templates/doc-template.md +57 -0
  574. package/.agent/templates/findings.md +122 -0
  575. package/.agent/templates/index.yaml +239 -0
  576. package/.agent/templates/migrate-plan.md +50 -0
  577. package/.agent/templates/phase-template.md +72 -0
  578. package/.agent/templates/project-plan.md +87 -0
  579. package/.agent/templates/prompts/context_block.md +114 -0
  580. package/.agent/templates/prompts/guardrails_block.md +116 -0
  581. package/.agent/templates/prompts/persona_base.md +155 -0
  582. package/.agent/templates/prompts/tools_block.md +137 -0
  583. package/.agent/templates/reflection/critic.md +110 -0
  584. package/.agent/templates/reflection/error_analysis.md +149 -0
  585. package/.agent/templates/reflection/success_analysis.md +174 -0
  586. package/.agent/templates/task-list.md +144 -0
  587. package/.agent/templates/tasks/audit.yaml +146 -0
  588. package/.agent/templates/tasks/bug_fix.yaml +121 -0
  589. package/.agent/templates/tasks/code_implementation.yaml +110 -0
  590. package/.agent/templates/tasks/refactor.yaml +157 -0
  591. package/.agent/templates/test-report.md +52 -0
  592. package/.agent/workflows/ap.md +135 -0
  593. package/.agent/workflows/code.md +130 -0
  594. package/.agent/workflows/debug.md +230 -0
  595. package/.agent/workflows/deploy.md +192 -0
  596. package/.agent/workflows/dev.md +137 -0
  597. package/.agent/workflows/doc.md +124 -0
  598. package/.agent/workflows/env.md +98 -0
  599. package/.agent/workflows/fix.md +76 -0
  600. package/.agent/workflows/generate.md +28 -0
  601. package/.agent/workflows/git.md +97 -0
  602. package/.agent/workflows/help.md +75 -0
  603. package/.agent/workflows/init.md +148 -0
  604. package/.agent/workflows/migrate.md +135 -0
  605. package/.agent/workflows/monitor.md +133 -0
  606. package/.agent/workflows/onboard.md +144 -0
  607. package/.agent/workflows/orchestrate.md +117 -0
  608. package/.agent/workflows/perf.md +106 -0
  609. package/.agent/workflows/plan.md +106 -0
  610. package/.agent/workflows/recap.md +101 -0
  611. package/.agent/workflows/refactor.md +161 -0
  612. package/.agent/workflows/revert.md +99 -0
  613. package/.agent/workflows/review.md +106 -0
  614. package/.agent/workflows/scaffold.md +119 -0
  615. package/.agent/workflows/security.md +186 -0
  616. package/.agent/workflows/status.md +103 -0
  617. package/.agent/workflows/test.md +157 -0
  618. package/.agent/workflows/think.md +126 -0
  619. package/.agent/workflows/upgrade.md +109 -0
  620. package/.agent/workflows/visualize.md +295 -0
  621. package/.agent/workflows/workflow.md +196 -0
  622. package/README.md +64 -0
  623. package/dist/commands/add.d.ts +2 -0
  624. package/dist/commands/add.d.ts.map +1 -0
  625. package/dist/commands/add.js +70 -0
  626. package/dist/commands/add.js.map +1 -0
  627. package/dist/commands/config.d.ts +4 -0
  628. package/dist/commands/config.d.ts.map +1 -0
  629. package/dist/commands/config.js +152 -0
  630. package/dist/commands/config.js.map +1 -0
  631. package/dist/commands/doctor.d.ts +4 -0
  632. package/dist/commands/doctor.d.ts.map +1 -0
  633. package/dist/commands/doctor.js +98 -0
  634. package/dist/commands/doctor.js.map +1 -0
  635. package/dist/commands/hsa.d.ts +4 -0
  636. package/dist/commands/hsa.d.ts.map +1 -0
  637. package/dist/commands/hsa.js +194 -0
  638. package/dist/commands/hsa.js.map +1 -0
  639. package/dist/commands/info.d.ts +2 -0
  640. package/dist/commands/info.d.ts.map +1 -0
  641. package/dist/commands/info.js +149 -0
  642. package/dist/commands/info.js.map +1 -0
  643. package/dist/commands/init.d.ts +4 -0
  644. package/dist/commands/init.d.ts.map +1 -0
  645. package/dist/commands/init.js +262 -0
  646. package/dist/commands/init.js.map +1 -0
  647. package/dist/commands/install-core.d.ts +4 -0
  648. package/dist/commands/install-core.d.ts.map +1 -0
  649. package/dist/commands/install-core.js +85 -0
  650. package/dist/commands/install-core.js.map +1 -0
  651. package/dist/commands/install-helpers.d.ts +27 -0
  652. package/dist/commands/install-helpers.d.ts.map +1 -0
  653. package/dist/commands/install-helpers.js +125 -0
  654. package/dist/commands/install-helpers.js.map +1 -0
  655. package/dist/commands/install-hsa.d.ts +18 -0
  656. package/dist/commands/install-hsa.d.ts.map +1 -0
  657. package/dist/commands/install-hsa.js +61 -0
  658. package/dist/commands/install-hsa.js.map +1 -0
  659. package/dist/commands/install.d.ts +4 -0
  660. package/dist/commands/install.d.ts.map +1 -0
  661. package/dist/commands/install.js +310 -0
  662. package/dist/commands/install.js.map +1 -0
  663. package/dist/commands/list.d.ts +4 -0
  664. package/dist/commands/list.d.ts.map +1 -0
  665. package/dist/commands/list.js +91 -0
  666. package/dist/commands/list.js.map +1 -0
  667. package/dist/commands/mcp-registry.d.ts +48 -0
  668. package/dist/commands/mcp-registry.d.ts.map +1 -0
  669. package/dist/commands/mcp-registry.js +246 -0
  670. package/dist/commands/mcp-registry.js.map +1 -0
  671. package/dist/commands/mcp-writers.d.ts +20 -0
  672. package/dist/commands/mcp-writers.d.ts.map +1 -0
  673. package/dist/commands/mcp-writers.js +144 -0
  674. package/dist/commands/mcp-writers.js.map +1 -0
  675. package/dist/commands/mcp.d.ts +10 -0
  676. package/dist/commands/mcp.d.ts.map +1 -0
  677. package/dist/commands/mcp.js +319 -0
  678. package/dist/commands/mcp.js.map +1 -0
  679. package/dist/commands/update.d.ts +4 -0
  680. package/dist/commands/update.d.ts.map +1 -0
  681. package/dist/commands/update.js +79 -0
  682. package/dist/commands/update.js.map +1 -0
  683. package/dist/constants/cursor-globs.d.ts +17 -0
  684. package/dist/constants/cursor-globs.d.ts.map +1 -0
  685. package/dist/constants/cursor-globs.js +62 -0
  686. package/dist/constants/cursor-globs.js.map +1 -0
  687. package/dist/constants/ide-install-specs.d.ts +36 -0
  688. package/dist/constants/ide-install-specs.d.ts.map +1 -0
  689. package/dist/constants/ide-install-specs.js +870 -0
  690. package/dist/constants/ide-install-specs.js.map +1 -0
  691. package/dist/constants/ides.d.ts +105 -0
  692. package/dist/constants/ides.d.ts.map +1 -0
  693. package/dist/constants/ides.js +412 -0
  694. package/dist/constants/ides.js.map +1 -0
  695. package/dist/constants/skills.d.ts +40 -0
  696. package/dist/constants/skills.d.ts.map +1 -0
  697. package/dist/constants/skills.js +78 -0
  698. package/dist/constants/skills.js.map +1 -0
  699. package/dist/constants.d.ts +39 -0
  700. package/dist/constants.d.ts.map +1 -0
  701. package/dist/constants.js +75 -0
  702. package/dist/constants.js.map +1 -0
  703. package/dist/index.d.ts +8 -0
  704. package/dist/index.d.ts.map +1 -0
  705. package/dist/index.js +122 -0
  706. package/dist/index.js.map +1 -0
  707. package/dist/types/flags.d.ts +47 -0
  708. package/dist/types/flags.d.ts.map +1 -0
  709. package/dist/types/flags.js +4 -0
  710. package/dist/types/flags.js.map +1 -0
  711. package/dist/types/ide-install.d.ts +175 -0
  712. package/dist/types/ide-install.d.ts.map +1 -0
  713. package/dist/types/ide-install.js +29 -0
  714. package/dist/types/ide-install.js.map +1 -0
  715. package/dist/utils/copy-helpers.d.ts +60 -0
  716. package/dist/utils/copy-helpers.d.ts.map +1 -0
  717. package/dist/utils/copy-helpers.js +617 -0
  718. package/dist/utils/copy-helpers.js.map +1 -0
  719. package/dist/utils/index.d.ts +3 -0
  720. package/dist/utils/index.d.ts.map +1 -0
  721. package/dist/utils/index.js +5 -0
  722. package/dist/utils/index.js.map +1 -0
  723. package/dist/utils/validation.d.ts +29 -0
  724. package/dist/utils/validation.d.ts.map +1 -0
  725. package/dist/utils/validation.js +211 -0
  726. package/dist/utils/validation.js.map +1 -0
  727. package/package.json +64 -0
@@ -0,0 +1,489 @@
1
+ # =============================================================================
2
+ # Swift Core Patterns (Feb 2026)
3
+ # Version: Swift 6
4
+ # =============================================================================
5
+
6
+ metadata:
7
+ skill: swift
8
+ domain: core
9
+ version: "6"
10
+ updated: "2026-02-05"
11
+ patterns_count: 5
12
+
13
+ patterns:
14
+ - id: sw001
15
+ name: Async/Await
16
+ category: concurrency
17
+ version: "Swift6"
18
+ description: |
19
+ Structured concurrency with async/await.
20
+ Tasks, task groups, actors.
21
+ text: async await task actor mainactor sendable concurrency
22
+ example: |
23
+ // ✅ Basic async function
24
+ func fetchUser(id: Int) async throws -> User {
25
+ let url = URL(string: "https://api.example.com/users/\(id)")!
26
+ let (data, _) = try await URLSession.shared.data(from: url)
27
+ return try JSONDecoder().decode(User.self, from: data)
28
+ }
29
+
30
+ // ✅ Parallel async
31
+ func loadDashboard() async throws -> Dashboard {
32
+ async let user = fetchUser()
33
+ async let orders = fetchOrders()
34
+ async let settings = fetchSettings()
35
+
36
+ return try await Dashboard(
37
+ user: user,
38
+ orders: orders,
39
+ settings: settings
40
+ )
41
+ }
42
+
43
+ // ✅ Task groups
44
+ func fetchAllUsers(ids: [Int]) async throws -> [User] {
45
+ try await withThrowingTaskGroup(of: User.self) { group in
46
+ for id in ids {
47
+ group.addTask {
48
+ try await fetchUser(id: id)
49
+ }
50
+ }
51
+
52
+ var users: [User] = []
53
+ for try await user in group {
54
+ users.append(user)
55
+ }
56
+ return users
57
+ }
58
+ }
59
+
60
+ // ✅ Actor for thread-safe state
61
+ actor Counter {
62
+ private var value = 0
63
+
64
+ func increment() -> Int {
65
+ value += 1
66
+ return value
67
+ }
68
+
69
+ var current: Int { value }
70
+ }
71
+
72
+ let counter = Counter()
73
+ await counter.increment()
74
+
75
+ // ✅ MainActor for UI updates
76
+ @MainActor
77
+ class ViewModel: ObservableObject {
78
+ @Published var users: [User] = []
79
+
80
+ func loadUsers() async {
81
+ do {
82
+ users = try await api.fetchUsers()
83
+ } catch {
84
+ print("Error: \(error)")
85
+ }
86
+ }
87
+ }
88
+
89
+ // ✅ Task cancellation
90
+ func loadWithTimeout() async throws -> Data {
91
+ try await withThrowingTaskGroup(of: Data.self) { group in
92
+ group.addTask {
93
+ try await fetchData()
94
+ }
95
+ group.addTask {
96
+ try await Task.sleep(for: .seconds(5))
97
+ throw TimeoutError()
98
+ }
99
+
100
+ let result = try await group.next()!
101
+ group.cancelAll()
102
+ return result
103
+ }
104
+ }
105
+ severity: HIGH
106
+ docs_url: https://docs.swift.org/swift-book/documentation/the-swift-programming-language/concurrency/
107
+
108
+ - id: sw002
109
+ name: SwiftUI Views
110
+ category: ui
111
+ version: "Swift6"
112
+ description: |
113
+ Declarative UI with SwiftUI.
114
+ Views, modifiers, state.
115
+ text: swiftui view state binding observable environment
116
+ example: |
117
+ import SwiftUI
118
+
119
+ // ✅ Basic View
120
+ struct ContentView: View {
121
+ var body: some View {
122
+ VStack(spacing: 16) {
123
+ Text("Hello, SwiftUI!")
124
+ .font(.largeTitle)
125
+ .foregroundStyle(.primary)
126
+
127
+ Image(systemName: "star.fill")
128
+ .imageScale(.large)
129
+ .foregroundStyle(.yellow)
130
+ }
131
+ .padding()
132
+ }
133
+ }
134
+
135
+ // ✅ State management
136
+ struct CounterView: View {
137
+ @State private var count = 0
138
+
139
+ var body: some View {
140
+ VStack {
141
+ Text("Count: \(count)")
142
+ .font(.title)
143
+
144
+ Button("Increment") {
145
+ count += 1
146
+ }
147
+ .buttonStyle(.borderedProminent)
148
+ }
149
+ }
150
+ }
151
+
152
+ // ✅ Binding for child views
153
+ struct ToggleRow: View {
154
+ let title: String
155
+ @Binding var isOn: Bool
156
+
157
+ var body: some View {
158
+ Toggle(title, isOn: $isOn)
159
+ }
160
+ }
161
+
162
+ // ✅ Observable (Swift 6 / iOS 17+)
163
+ @Observable
164
+ class UserSettings {
165
+ var username = ""
166
+ var notifications = true
167
+ var darkMode = false
168
+ }
169
+
170
+ struct SettingsView: View {
171
+ @State private var settings = UserSettings()
172
+
173
+ var body: some View {
174
+ Form {
175
+ TextField("Username", text: $settings.username)
176
+ Toggle("Notifications", isOn: $settings.notifications)
177
+ Toggle("Dark Mode", isOn: $settings.darkMode)
178
+ }
179
+ }
180
+ }
181
+
182
+ // ✅ Environment
183
+ struct AppView: View {
184
+ var body: some View {
185
+ ContentView()
186
+ .environment(\.colorScheme, .dark)
187
+ }
188
+ }
189
+
190
+ // ✅ List with ForEach
191
+ struct UserListView: View {
192
+ let users: [User]
193
+
194
+ var body: some View {
195
+ List {
196
+ ForEach(users) { user in
197
+ NavigationLink(value: user) {
198
+ UserRow(user: user)
199
+ }
200
+ }
201
+ .onDelete(perform: deleteUsers)
202
+ }
203
+ }
204
+
205
+ private func deleteUsers(at offsets: IndexSet) {
206
+ // Handle deletion
207
+ }
208
+ }
209
+ severity: HIGH
210
+ docs_url: https://developer.apple.com/documentation/swiftui/
211
+
212
+ - id: sw003
213
+ name: Swift Data
214
+ category: data
215
+ version: "iOS17"
216
+ description: |
217
+ Declarative data persistence.
218
+ Models, queries, relationships.
219
+ text: swiftdata model query modelcontainer predicate
220
+ example: |
221
+ import SwiftData
222
+
223
+ // ✅ Model definition
224
+ @Model
225
+ final class User {
226
+ var name: String
227
+ var email: String
228
+ var createdAt: Date
229
+
230
+ @Relationship(deleteRule: .cascade)
231
+ var orders: [Order] = []
232
+
233
+ init(name: String, email: String) {
234
+ self.name = name
235
+ self.email = email
236
+ self.createdAt = Date()
237
+ }
238
+ }
239
+
240
+ @Model
241
+ final class Order {
242
+ var total: Decimal
243
+ var status: OrderStatus
244
+ var user: User?
245
+
246
+ init(total: Decimal, status: OrderStatus = .pending) {
247
+ self.total = total
248
+ self.status = status
249
+ }
250
+ }
251
+
252
+ enum OrderStatus: String, Codable {
253
+ case pending, processing, completed, cancelled
254
+ }
255
+
256
+ // ✅ App setup
257
+ @main
258
+ struct MyApp: App {
259
+ var body: some Scene {
260
+ WindowGroup {
261
+ ContentView()
262
+ }
263
+ .modelContainer(for: [User.self, Order.self])
264
+ }
265
+ }
266
+
267
+ // ✅ Query in View
268
+ struct UsersView: View {
269
+ @Query(sort: \User.name) var users: [User]
270
+ @Environment(\.modelContext) private var context
271
+
272
+ var body: some View {
273
+ List(users) { user in
274
+ Text(user.name)
275
+ }
276
+ }
277
+
278
+ func addUser() {
279
+ let user = User(name: "John", email: "john@email.com")
280
+ context.insert(user)
281
+ }
282
+ }
283
+
284
+ // ✅ Filtered query
285
+ struct ActiveUsersView: View {
286
+ @Query(
287
+ filter: #Predicate<User> { $0.isActive },
288
+ sort: [SortDescriptor(\User.name)]
289
+ ) var activeUsers: [User]
290
+
291
+ var body: some View {
292
+ List(activeUsers) { user in
293
+ Text(user.name)
294
+ }
295
+ }
296
+ }
297
+
298
+ // ✅ Dynamic query with @Query
299
+ struct SearchView: View {
300
+ @State private var searchText = ""
301
+
302
+ var body: some View {
303
+ UsersList(searchText: searchText)
304
+ .searchable(text: $searchText)
305
+ }
306
+ }
307
+
308
+ struct UsersList: View {
309
+ @Query private var users: [User]
310
+
311
+ init(searchText: String) {
312
+ _users = Query(
313
+ filter: #Predicate { user in
314
+ searchText.isEmpty || user.name.contains(searchText)
315
+ }
316
+ )
317
+ }
318
+
319
+ var body: some View {
320
+ List(users) { user in
321
+ Text(user.name)
322
+ }
323
+ }
324
+ }
325
+ severity: HIGH
326
+ docs_url: https://developer.apple.com/documentation/swiftdata
327
+
328
+ - id: sw004
329
+ name: Error Handling
330
+ category: safety
331
+ version: "Swift"
332
+ description: |
333
+ Comprehensive error handling.
334
+ throw, try, Result type.
335
+ text: error throw try catch result optional
336
+ example: |
337
+ // ✅ Define errors
338
+ enum NetworkError: Error {
339
+ case invalidURL
340
+ case noData
341
+ case decodingFailed(Error)
342
+ case serverError(statusCode: Int)
343
+ }
344
+
345
+ // ✅ Throwing function
346
+ func fetchUser(id: Int) throws -> User {
347
+ guard let url = URL(string: "https://api.com/users/\(id)") else {
348
+ throw NetworkError.invalidURL
349
+ }
350
+
351
+ let (data, response) = try await URLSession.shared.data(from: url)
352
+
353
+ guard let httpResponse = response as? HTTPURLResponse else {
354
+ throw NetworkError.noData
355
+ }
356
+
357
+ guard httpResponse.statusCode == 200 else {
358
+ throw NetworkError.serverError(statusCode: httpResponse.statusCode)
359
+ }
360
+
361
+ do {
362
+ return try JSONDecoder().decode(User.self, from: data)
363
+ } catch {
364
+ throw NetworkError.decodingFailed(error)
365
+ }
366
+ }
367
+
368
+ // ✅ Error handling
369
+ do {
370
+ let user = try await fetchUser(id: 1)
371
+ print("User: \(user.name)")
372
+ } catch NetworkError.invalidURL {
373
+ print("Invalid URL")
374
+ } catch NetworkError.serverError(let code) {
375
+ print("Server error: \(code)")
376
+ } catch {
377
+ print("Unknown error: \(error)")
378
+ }
379
+
380
+ // ✅ try? for optional result
381
+ let user = try? await fetchUser(id: 1) // Returns nil on error
382
+
383
+ // ✅ Result type
384
+ func fetchUserResult(id: Int) async -> Result<User, NetworkError> {
385
+ do {
386
+ let user = try await fetchUser(id: id)
387
+ return .success(user)
388
+ } catch let error as NetworkError {
389
+ return .failure(error)
390
+ } catch {
391
+ return .failure(.decodingFailed(error))
392
+ }
393
+ }
394
+
395
+ // Handle Result
396
+ let result = await fetchUserResult(id: 1)
397
+ switch result {
398
+ case .success(let user):
399
+ print("Got user: \(user.name)")
400
+ case .failure(let error):
401
+ print("Error: \(error)")
402
+ }
403
+
404
+ // ✅ Result with map/flatMap
405
+ let userName = result.map { $0.name }
406
+ severity: MEDIUM
407
+ docs_url: https://docs.swift.org/swift-book/documentation/the-swift-programming-language/errorhandling/
408
+
409
+ - id: sw005
410
+ name: Protocols and Extensions
411
+ category: language
412
+ version: "Swift"
413
+ description: |
414
+ Protocol-oriented programming.
415
+ Extensions, default implementations.
416
+ text: protocol extension default implementation generic
417
+ example: |
418
+ // ✅ Protocol definition
419
+ protocol Identifiable {
420
+ var id: String { get }
421
+ }
422
+
423
+ protocol Nameable {
424
+ var name: String { get }
425
+ }
426
+
427
+ // ✅ Protocol with associated type
428
+ protocol Repository {
429
+ associatedtype Entity: Identifiable
430
+
431
+ func findById(_ id: String) async throws -> Entity?
432
+ func save(_ entity: Entity) async throws
433
+ func delete(_ entity: Entity) async throws
434
+ }
435
+
436
+ // ✅ Protocol extension with default implementation
437
+ extension Repository {
438
+ func saveAll(_ entities: [Entity]) async throws {
439
+ for entity in entities {
440
+ try await save(entity)
441
+ }
442
+ }
443
+ }
444
+
445
+ // ✅ Extension on existing types
446
+ extension String {
447
+ var isValidEmail: Bool {
448
+ let regex = /^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/
449
+ return self.wholeMatch(of: regex) != nil
450
+ }
451
+
452
+ func truncated(to length: Int) -> String {
453
+ if count <= length { return self }
454
+ return String(prefix(length)) + "..."
455
+ }
456
+ }
457
+
458
+ // ✅ Conditional conformance
459
+ extension Array: Identifiable where Element: Identifiable {
460
+ var id: String {
461
+ map(\.id).joined(separator: "-")
462
+ }
463
+ }
464
+
465
+ // ✅ Protocol composition
466
+ typealias NamedEntity = Identifiable & Nameable
467
+
468
+ func display(_ entity: some NamedEntity) {
469
+ print("\(entity.name) (\(entity.id))")
470
+ }
471
+
472
+ // ✅ Opaque return types
473
+ func makeShape() -> some Shape {
474
+ Circle()
475
+ }
476
+
477
+ // ✅ Primary associated types (Swift 5.7+)
478
+ protocol Container<Element> {
479
+ associatedtype Element
480
+ var items: [Element] { get }
481
+ }
482
+
483
+ func process(_ container: some Container<String>) {
484
+ for item in container.items {
485
+ print(item)
486
+ }
487
+ }
488
+ severity: MEDIUM
489
+ docs_url: https://docs.swift.org/swift-book/documentation/the-swift-programming-language/protocols/
@@ -0,0 +1,186 @@
1
+ # TypeScript — Advanced Patterns
2
+
3
+ # DOMYH Awesome Code — Tier 3 Reference
4
+
5
+ # Load only when explicitly referenced
6
+
7
+ ## Table of Contents
8
+
9
+ - [Advanced Type System](#advanced-type-system)
10
+ - [Utility Type Patterns](#utility-type-patterns)
11
+ - [Generic Patterns](#generic-patterns)
12
+ - [Module Patterns](#module-patterns)
13
+
14
+ ---
15
+
16
+ ## Advanced Type System
17
+
18
+ ### Conditional Types
19
+
20
+ ```typescript
21
+ // Extract return type based on input
22
+ type ApiResponse<T> = T extends "user"
23
+ ? { id: string; name: string }
24
+ : T extends "post"
25
+ ? { id: string; title: string }
26
+ : never;
27
+
28
+ // Usage
29
+ const userResponse: ApiResponse<"user"> = { id: "1", name: "John" };
30
+ ```
31
+
32
+ ### Template Literal Types
33
+
34
+ ```typescript
35
+ // Dynamic string types
36
+ type HttpMethod = "GET" | "POST" | "PUT" | "DELETE";
37
+ type Endpoint = "/users" | "/posts" | "/comments";
38
+ type Route = `${HttpMethod} ${Endpoint}`;
39
+
40
+ // Route becomes: 'GET /users' | 'POST /users' | ...
41
+
42
+ // Extract parts
43
+ type ExtractPath<T> = T extends `${HttpMethod} ${infer P}` ? P : never;
44
+ ```
45
+
46
+ ### Discriminated Unions
47
+
48
+ ```typescript
49
+ type Result<T, E> = { success: true; data: T } | { success: false; error: E };
50
+
51
+ function handleResult<T, E>(result: Result<T, E>) {
52
+ if (result.success) {
53
+ // TypeScript knows: result.data exists
54
+ console.log(result.data);
55
+ } else {
56
+ // TypeScript knows: result.error exists
57
+ console.error(result.error);
58
+ }
59
+ }
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Utility Type Patterns
65
+
66
+ ### Deep Partial
67
+
68
+ ```typescript
69
+ type DeepPartial<T> = T extends object
70
+ ? { [P in keyof T]?: DeepPartial<T[P]> }
71
+ : T;
72
+
73
+ // Makes all nested properties optional
74
+ interface Config {
75
+ server: { host: string; port: number };
76
+ db: { url: string };
77
+ }
78
+ type PartialConfig = DeepPartial<Config>;
79
+ ```
80
+
81
+ ### Builder Pattern Types
82
+
83
+ ```typescript
84
+ type Builder<T, Built = {}> = {
85
+ [K in keyof T]-?: (value: T[K]) => Builder<Omit<T, K>, Built & Pick<T, K>>;
86
+ } & { build: Built extends T ? () => T : never };
87
+
88
+ // Ensures all required fields set before build()
89
+ ```
90
+
91
+ ### Branded Types
92
+
93
+ ```typescript
94
+ // Prevent type confusion
95
+ type Brand<T, B> = T & { __brand: B };
96
+
97
+ type UserId = Brand<string, "UserId">;
98
+ type PostId = Brand<string, "PostId">;
99
+
100
+ function getUser(id: UserId): User {
101
+ /* ... */
102
+ }
103
+
104
+ const userId = "abc" as UserId;
105
+ const postId = "def" as PostId;
106
+
107
+ getUser(userId); // ✅ OK
108
+ getUser(postId); // ❌ Error: PostId not assignable to UserId
109
+ ```
110
+
111
+ ---
112
+
113
+ ## Generic Patterns
114
+
115
+ ### Constrained Generics
116
+
117
+ ```typescript
118
+ // Only allow objects with 'id' property
119
+ function findById<T extends { id: string }>(
120
+ items: T[],
121
+ id: string,
122
+ ): T | undefined {
123
+ return items.find((item) => item.id === id);
124
+ }
125
+
126
+ // Mapped type with filter
127
+ type FilterByType<T, U> = {
128
+ [K in keyof T as T[K] extends U ? K : never]: T[K];
129
+ };
130
+
131
+ interface Mixed {
132
+ name: string;
133
+ age: number;
134
+ active: boolean;
135
+ }
136
+ type StringFields = FilterByType<Mixed, string>; // { name: string }
137
+ ```
138
+
139
+ ### Higher-Kinded Types Simulation
140
+
141
+ ```typescript
142
+ // Kind simulation using interfaces
143
+ interface Functor<F> {
144
+ map<A, B>(fa: F, f: (a: A) => B): F;
145
+ }
146
+
147
+ // Array as Functor
148
+ const arrayFunctor: Functor<unknown[]> = {
149
+ map: (fa, f) => fa.map(f),
150
+ };
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Module Patterns
156
+
157
+ ### Barrel Exports
158
+
159
+ ```typescript
160
+ // index.ts - Barrel file
161
+ export * from "./user";
162
+ export * from "./post";
163
+ export type { Config } from "./config";
164
+ ```
165
+
166
+ ### Dependency Injection Types
167
+
168
+ ```typescript
169
+ // Container types
170
+ interface Container {
171
+ resolve<T>(token: Token<T>): T;
172
+ register<T>(token: Token<T>, factory: () => T): void;
173
+ }
174
+
175
+ class Token<T> {
176
+ constructor(public readonly name: string) {}
177
+ }
178
+
179
+ // Usage
180
+ const UserService = new Token<IUserService>("UserService");
181
+ container.register(UserService, () => new UserServiceImpl());
182
+ ```
183
+
184
+ ---
185
+
186
+ _DOMYH Awesome Code — Tier 3 Reference_