@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,753 @@
1
+ ---
2
+ name: asm
3
+ detect: ["*.asm", "*.s", "*.S", "__asm", "asm volatile"]
4
+ version: "6.1.2"
5
+ category: language
6
+ tier: 2
7
+ ---
8
+
9
+ # Assembly Language Patterns — DOMYH Awesome Code
10
+
11
+ > Comprehensive guide for x86/x64, ARM64 assembly with C++ integration
12
+
13
+ ## 🔍 Detection Patterns
14
+
15
+ ```yaml
16
+ file_extensions:
17
+ - "*.asm" # MASM/NASM
18
+ - "*.s" # GAS (lowercase)
19
+ - "*.S" # GAS with preprocessor
20
+
21
+ code_patterns:
22
+ # Inline ASM (GCC/Clang)
23
+ - "__asm__"
24
+ - "asm volatile"
25
+ - "__asm"
26
+
27
+ # MASM directives
28
+ - ".code"
29
+ - ".data"
30
+ - "PROC"
31
+ - "ENDP"
32
+
33
+ # NASM directives
34
+ - "section .text"
35
+ - "section .data"
36
+ - "global _start"
37
+
38
+ # GAS directives
39
+ - ".global"
40
+ - ".text"
41
+ - ".data"
42
+ ```
43
+
44
+ ---
45
+
46
+ ## 🏗️ Architecture Support Matrix
47
+
48
+ | Arch | Assembler | Syntax | Compiler | Inline Support |
49
+ | ---------------- | --------------- | ---------- | ---------------- | -------------- |
50
+ | **x86 (32-bit)** | NASM, MASM, GAS | Intel/AT&T | MSVC, GCC, Clang | ✅ Yes |
51
+ | **x64 (64-bit)** | NASM, MASM, GAS | Intel/AT&T | GCC, Clang | ✅ Yes |
52
+ | **x64 (64-bit)** | MASM (ml64.exe) | Intel | MSVC | ❌ No inline\* |
53
+ | **ARM64** | GAS | UAL | GCC, Clang | ✅ Yes |
54
+ | **ARM32** | GAS | UAL | GCC, Clang | ✅ Yes |
55
+ | **RISC-V** | GAS | Standard | GCC | ✅ Yes |
56
+
57
+ > \*MSVC x64 does NOT support inline assembly. Use external .asm files or intrinsics.
58
+
59
+ ---
60
+
61
+ ## 🖥️ IDE Setup Guide
62
+
63
+ ### Visual Studio (MASM x64)
64
+
65
+ ```yaml
66
+ setup_steps: 1. Install "Desktop development with C++" workload
67
+ 2. Right-click project → Build Dependencies → Build Customizations
68
+ 3. Check "masm(.targets, .props)" → OK
69
+ 4. Add new item → Name with .asm extension
70
+ 5. Right-click .asm file → Properties → Item Type → Microsoft Macro Assembler
71
+ 6. Configure for x64 platform in Configuration Manager
72
+
73
+ linker_settings:
74
+ - Entry Point: main (if ASM contains entry)
75
+ - Additional Dependencies: (optional C runtime)
76
+ ```
77
+
78
+ ### VS Code / Cursor
79
+
80
+ ```json
81
+ {
82
+ "extensions": [
83
+ "ms-vscode.cpptools",
84
+ "dan-c-underwood.arm",
85
+ "maziac.asm-code-lens"
86
+ ],
87
+ "settings": {
88
+ "files.associations": {
89
+ "*.asm": "asm",
90
+ "*.s": "asm",
91
+ "*.S": "asm"
92
+ }
93
+ }
94
+ }
95
+ ```
96
+
97
+ ### JetBrains CLion
98
+
99
+ ```yaml
100
+ setup:
101
+ - Install "Assembly Language Support" plugin
102
+ - Configure custom build targets for nasm/ml64
103
+ - Use CMake with enable_language(ASM_NASM) or enable_language(ASM_MASM)
104
+ ```
105
+
106
+ ---
107
+
108
+ ## 📊 Calling Conventions Reference
109
+
110
+ ### x86 (32-bit) Conventions
111
+
112
+ | Convention | Args | Cleanup | Return | Caller-saved | Use Case |
113
+ | ------------ | -------------- | ------- | ------ | ------------ | ----------- |
114
+ | **cdecl** | Stack R→L | Caller | EAX | EAX,ECX,EDX | Default C |
115
+ | **stdcall** | Stack R→L | Callee | EAX | EAX,ECX,EDX | Windows API |
116
+ | **fastcall** | ECX,EDX,Stack | Callee | EAX | EAX,ECX,EDX | Performance |
117
+ | **thiscall** | ECX=this,Stack | Callee | EAX | EAX,ECX,EDX | C++ methods |
118
+
119
+ ### x64 Conventions
120
+
121
+ | Platform | Integer Args | Float Args | Return | Shadow Space |
122
+ | -------------------- | --------------------- | ---------- | ------- | ------------ |
123
+ | **Windows x64** | RCX,RDX,R8,R9 | XMM0-3 | RAX | 32 bytes |
124
+ | **System V (Linux)** | RDI,RSI,RDX,RCX,R8,R9 | XMM0-7 | RAX,RDX | None |
125
+
126
+ #### Windows x64 Detail
127
+
128
+ ```asm
129
+ ; First 4 args: RCX, RDX, R8, R9
130
+ ; Float args: XMM0, XMM1, XMM2, XMM3
131
+ ; Caller allocates 32-byte shadow space
132
+ ; Stack must be 16-byte aligned before CALL
133
+
134
+ ; Example: int func(int a, int b, int c, int d)
135
+ mov ecx, a ; arg1
136
+ mov edx, b ; arg2
137
+ mov r8d, c ; arg3
138
+ mov r9d, d ; arg4
139
+ sub rsp, 32 ; shadow space
140
+ call func
141
+ add rsp, 32 ; cleanup
142
+ ```
143
+
144
+ #### System V AMD64 Detail (Linux/macOS)
145
+
146
+ ```asm
147
+ ; First 6 integer args: RDI, RSI, RDX, RCX, R8, R9
148
+ ; First 8 float args: XMM0-XMM7
149
+ ; No shadow space, 128-byte red zone for leaf functions
150
+
151
+ ; Example: int func(int a, int b, int c, int d)
152
+ mov edi, a ; arg1
153
+ mov esi, b ; arg2
154
+ mov edx, c ; arg3
155
+ mov ecx, d ; arg4
156
+ call func
157
+ ```
158
+
159
+ ### ARM64 Convention (AAPCS64)
160
+
161
+ ```asm
162
+ ; Integer args: X0-X7
163
+ ; Float args: V0-V7 (D0-D7 for doubles)
164
+ ; Return: X0 (or X0+X1 for 128-bit)
165
+ ; Callee-saved: X19-X28, X29 (FP), X30 (LR)
166
+ ; Stack: 16-byte aligned
167
+
168
+ ; Example function
169
+ my_func:
170
+ stp x29, x30, [sp, #-16]! ; Save FP and LR
171
+ mov x29, sp ; Setup frame pointer
172
+ ; ... function body ...
173
+ ldp x29, x30, [sp], #16 ; Restore FP and LR
174
+ ret
175
+ ```
176
+
177
+ ---
178
+
179
+ ## 🔧 Function Prologue/Epilogue
180
+
181
+ ### x64 Standard Prologue
182
+
183
+ ```asm
184
+ my_function:
185
+ ; Prologue
186
+ push rbp ; Save caller's base pointer
187
+ mov rbp, rsp ; Set new base pointer
188
+ sub rsp, 32 ; Reserve space for locals + shadow
189
+
190
+ ; Save non-volatile registers if needed
191
+ push rbx
192
+ push r12
193
+ push r13
194
+
195
+ ; ... function body ...
196
+
197
+ ; Epilogue
198
+ pop r13
199
+ pop r12
200
+ pop rbx
201
+ leave ; mov rsp, rbp; pop rbp
202
+ ret
203
+ ```
204
+
205
+ ### Leaf Function (No Calls)
206
+
207
+ ```asm
208
+ ; Leaf functions can skip prologue/epilogue
209
+ ; Linux: Can use 128-byte red zone below RSP
210
+ leaf_add:
211
+ add rdi, rsi ; a + b
212
+ mov rax, rdi ; return result
213
+ ret
214
+ ```
215
+
216
+ ---
217
+
218
+ ## 💻 Inline Assembly
219
+
220
+ ### GCC Extended Syntax
221
+
222
+ ```c
223
+ // Syntax: asm volatile ("template" : outputs : inputs : clobbers)
224
+
225
+ // Read timestamp counter
226
+ static inline uint64_t rdtsc(void) {
227
+ uint32_t lo, hi;
228
+ __asm__ volatile (
229
+ "rdtsc"
230
+ : "=a" (lo), "=d" (hi) // Outputs: eax → lo, edx → hi
231
+ : // No inputs
232
+ : // No clobbers
233
+ );
234
+ return ((uint64_t)hi << 32) | lo;
235
+ }
236
+
237
+ // Atomic compare-and-swap
238
+ static inline bool cas(uint64_t *ptr, uint64_t old, uint64_t new_val) {
239
+ uint64_t prev;
240
+ __asm__ volatile (
241
+ "lock cmpxchgq %2, %1"
242
+ : "=a" (prev), "+m" (*ptr) // Output: rax → prev, memory update
243
+ : "r" (new_val), "0" (old) // Input: register, old in rax
244
+ : "memory" // Clobber: memory barrier
245
+ );
246
+ return prev == old;
247
+ }
248
+
249
+ // CPUID
250
+ static inline void cpuid(uint32_t level, uint32_t *eax, uint32_t *ebx,
251
+ uint32_t *ecx, uint32_t *edx) {
252
+ __asm__ volatile (
253
+ "cpuid"
254
+ : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
255
+ : "a" (level), "c" (0)
256
+ );
257
+ }
258
+ ```
259
+
260
+ ### MSVC x64 — Use Intrinsics Instead
261
+
262
+ ```c
263
+ // MSVC x64 does NOT support inline asm
264
+ // Use intrinsics from <intrin.h>
265
+
266
+ #include <intrin.h>
267
+
268
+ uint64_t rdtsc_msvc(void) {
269
+ return __rdtsc();
270
+ }
271
+
272
+ // Or link external .asm file
273
+ extern "C" uint64_t custom_asm_function(uint64_t arg);
274
+ ```
275
+
276
+ ### External ASM File (MASM — Windows x64)
277
+
278
+ ```asm
279
+ ; custom_asm.asm
280
+ .code
281
+
282
+ ; Export for C/C++
283
+ public custom_asm_function
284
+
285
+ ; int64_t custom_asm_function(int64_t arg)
286
+ custom_asm_function PROC
287
+ ; RCX = first arg (Windows x64)
288
+ mov rax, rcx
289
+ shl rax, 1 ; multiply by 2
290
+ ret
291
+ custom_asm_function ENDP
292
+
293
+ END
294
+ ```
295
+
296
+ ```cpp
297
+ // In C++ code
298
+ extern "C" int64_t custom_asm_function(int64_t arg);
299
+
300
+ int main() {
301
+ int64_t result = custom_asm_function(42); // Returns 84
302
+ return 0;
303
+ }
304
+ ```
305
+
306
+ ---
307
+
308
+ ## ⚡ SIMD Programming
309
+
310
+ ### Intrinsics vs Inline ASM Decision
311
+
312
+ ```yaml
313
+ recommendation:
314
+ use_intrinsics:
315
+ - Portable across compilers
316
+ - Compiler can optimize around them
317
+ - Easier to maintain
318
+ - Better for SSE/AVX/AVX-512
319
+
320
+ use_inline_asm:
321
+ - CPU-specific features not in intrinsics
322
+ - Precise instruction control needed
323
+ - Very small, critical code paths
324
+ ```
325
+
326
+ ### SSE/AVX Intrinsics Example
327
+
328
+ ```c
329
+ #include <immintrin.h>
330
+
331
+ // Add 8 floats using AVX
332
+ void vector_add_avx(float* result, const float* a, const float* b) {
333
+ __m256 va = _mm256_load_ps(a); // Load 8 floats from a
334
+ __m256 vb = _mm256_load_ps(b); // Load 8 floats from b
335
+ __m256 vr = _mm256_add_ps(va, vb); // Add
336
+ _mm256_store_ps(result, vr); // Store result
337
+ }
338
+
339
+ // Dot product using SSE
340
+ float dot_product_sse(const float* a, const float* b, int n) {
341
+ __m128 sum = _mm_setzero_ps();
342
+ for (int i = 0; i < n; i += 4) {
343
+ __m128 va = _mm_load_ps(&a[i]);
344
+ __m128 vb = _mm_load_ps(&b[i]);
345
+ sum = _mm_add_ps(sum, _mm_mul_ps(va, vb));
346
+ }
347
+ // Horizontal add
348
+ sum = _mm_hadd_ps(sum, sum);
349
+ sum = _mm_hadd_ps(sum, sum);
350
+ return _mm_cvtss_f32(sum);
351
+ }
352
+ ```
353
+
354
+ ### Runtime CPU Feature Detection
355
+
356
+ ```c
357
+ #include <cpuid.h> // GCC/Clang
358
+
359
+ bool has_avx2(void) {
360
+ unsigned int eax, ebx, ecx, edx;
361
+ __cpuid(7, eax, ebx, ecx, edx);
362
+ return (ebx & (1 << 5)) != 0; // AVX2 bit
363
+ }
364
+
365
+ // Dispatch based on CPU features
366
+ void process_data(float* data, int n) {
367
+ if (has_avx2()) {
368
+ process_avx2(data, n);
369
+ } else if (has_sse4()) {
370
+ process_sse4(data, n);
371
+ } else {
372
+ process_scalar(data, n);
373
+ }
374
+ }
375
+ ```
376
+
377
+ ### ARM64 NEON Intrinsics
378
+
379
+ ```c
380
+ #include <arm_neon.h>
381
+
382
+ // Add 4 floats using NEON
383
+ void vector_add_neon(float* result, const float* a, const float* b) {
384
+ float32x4_t va = vld1q_f32(a); // Load 4 floats
385
+ float32x4_t vb = vld1q_f32(b); // Load 4 floats
386
+ float32x4_t vr = vaddq_f32(va, vb); // Add
387
+ vst1q_f32(result, vr); // Store
388
+ }
389
+
390
+ // Horizontal sum
391
+ float horizontal_sum_neon(float32x4_t v) {
392
+ float32x2_t sum = vadd_f32(vget_low_f32(v), vget_high_f32(v));
393
+ sum = vpadd_f32(sum, sum);
394
+ return vget_lane_f32(sum, 0);
395
+ }
396
+ ```
397
+
398
+ ---
399
+
400
+ ## 📁 Program Structure Templates
401
+
402
+ ### NASM (Linux x64)
403
+
404
+ ```asm
405
+ ; program.asm
406
+ section .data
407
+ msg db "Hello, World!", 10
408
+ len equ $ - msg
409
+
410
+ section .bss
411
+ buffer resb 256
412
+
413
+ section .text
414
+ global _start
415
+
416
+ _start:
417
+ ; sys_write(1, msg, len)
418
+ mov rax, 1 ; syscall: write
419
+ mov rdi, 1 ; fd: stdout
420
+ mov rsi, msg ; buffer
421
+ mov rdx, len ; count
422
+ syscall
423
+
424
+ ; sys_exit(0)
425
+ mov rax, 60 ; syscall: exit
426
+ xor rdi, rdi ; status: 0
427
+ syscall
428
+ ```
429
+
430
+ ### MASM (Windows x64)
431
+
432
+ ```asm
433
+ ; program.asm
434
+ .data
435
+ msg db "Hello, World!", 0
436
+
437
+ .code
438
+ externdef printf:proc
439
+
440
+ main PROC
441
+ sub rsp, 40 ; Shadow space + alignment
442
+ lea rcx, msg ; First arg
443
+ call printf
444
+ add rsp, 40
445
+ xor eax, eax ; Return 0
446
+ ret
447
+ main ENDP
448
+
449
+ END
450
+ ```
451
+
452
+ ### GAS (ARM64)
453
+
454
+ ```asm
455
+ // program.s
456
+ .data
457
+ msg: .ascii "Hello, World!\n"
458
+ len = . - msg
459
+
460
+ .text
461
+ .global _start
462
+
463
+ _start:
464
+ mov x8, #64 // sys_write
465
+ mov x0, #1 // fd: stdout
466
+ ldr x1, =msg // buffer
467
+ mov x2, #len // count
468
+ svc #0
469
+
470
+ mov x8, #93 // sys_exit
471
+ mov x0, #0 // status
472
+ svc #0
473
+ ```
474
+
475
+ ---
476
+
477
+ ## 🔨 Build Commands
478
+
479
+ ### NASM + LD (Linux)
480
+
481
+ ```bash
482
+ # Compile
483
+ nasm -f elf64 program.asm -o program.o
484
+
485
+ # Link
486
+ ld program.o -o program
487
+
488
+ # Or with C runtime
489
+ nasm -f elf64 program.asm -o program.o
490
+ gcc program.o -o program -no-pie
491
+ ```
492
+
493
+ ### MASM + MSVC (Windows)
494
+
495
+ ```powershell
496
+ # Compile ASM
497
+ ml64 /c program.asm /Fo program.obj
498
+
499
+ # Link with C++ code
500
+ cl /c main.cpp
501
+ link main.obj program.obj /OUT:main.exe
502
+
503
+ # Or combined in Visual Studio project
504
+ # Just add .asm file after enabling MASM build customization
505
+ ```
506
+
507
+ ### GAS + GCC (Cross-platform)
508
+
509
+ ```bash
510
+ # Compile
511
+ as program.s -o program.o
512
+
513
+ # Link
514
+ ld program.o -o program
515
+
516
+ # Or with GCC
517
+ gcc -c program.s -o program.o
518
+ gcc main.c program.o -o main
519
+ ```
520
+
521
+ ### CMake Integration
522
+
523
+ ```cmake
524
+ # Enable ASM
525
+ enable_language(ASM_NASM)
526
+ # or
527
+ enable_language(ASM_MASM)
528
+
529
+ # Add ASM sources
530
+ add_executable(myprogram
531
+ main.cpp
532
+ asm_routines.asm
533
+ )
534
+ ```
535
+
536
+ ---
537
+
538
+ ## ✅ Best Practices Checklist
539
+
540
+ - [ ] **Avoid inline ASM if possible** — Use intrinsics, compiler optimizations
541
+ - [ ] **Profile before optimizing** — Don't guess, measure
542
+ - [ ] **Keep ASM sections minimal** — Maintain only critical paths
543
+ - [ ] **Use runtime CPU detection** — Support multiple instruction sets
544
+ - [ ] **Align data properly** — 16/32/64-byte for SIMD operations
545
+ - [ ] **Follow calling conventions** — Preserve callee-saved registers
546
+ - [ ] **Document thoroughly** — ASM is harder to understand
547
+ - [ ] **Test on target hardware** — SIMD behavior varies
548
+
549
+ ---
550
+
551
+ ## 🔍 Common Issues & Solutions
552
+
553
+ | Issue | Cause | Solution |
554
+ | ------------------------- | ------------------------- | --------------------------------- |
555
+ | MSVC x64 inline ASM error | Not supported | Use external .asm or intrinsics |
556
+ | Segfault in SIMD | Misaligned data | Use `alignas(32)` or `_mm_malloc` |
557
+ | Function not found | Name mangling | Use `extern "C"` in C++ |
558
+ | Stack corruption | Wrong calling convention | Check shadow space, register save |
559
+ | Performance worse than C | Compiler optimizes better | Profile, let compiler do its job |
560
+
561
+ ---
562
+
563
+ ## 🏛️ Legacy Assemblers & DOS
564
+
565
+ ### Assembler Comparison
566
+
567
+ | Assembler | Syntax | Linker | 16-bit | Direct .COM | Best For |
568
+ | --------- | --------- | ------ | ------ | ----------- | --------------------- |
569
+ | **NASM** | Intel | LD/GCC | ✅ | ✅ | Cross-platform |
570
+ | **MASM** | Intel | LINK | ✅ | ❌ | Windows/Visual Studio |
571
+ | **GAS** | AT&T | LD | ✅ | ❌ | GCC/Linux ecosystem |
572
+ | **TASM** | Intel | TLINK | ✅ | ✅ | DOS + Turbo Debugger |
573
+ | **FASM** | Intel | None | ✅ | ✅ | Self-contained, fast |
574
+ | **A86** | Custom | None | ✅ | ✅ | Simple DOS programs |
575
+ | **YASM** | NASM-like | LD | ✅ | ✅ | NASM alternative |
576
+ | **HLA** | High-lvl | Link | ❌ | ❌ | Learning ASM |
577
+
578
+ ### 16-bit Real Mode (8086/8088)
579
+
580
+ ```asm
581
+ ; NASM 16-bit DOS .COM program
582
+ org 0x100 ; .COM files load at 100h
583
+
584
+ section .text
585
+ start:
586
+ mov ah, 09h ; DOS print string
587
+ mov dx, message
588
+ int 21h
589
+
590
+ mov ah, 4Ch ; DOS exit
591
+ int 21h
592
+
593
+ section .data
594
+ message db "Hello, DOS!", 13, 10, "$"
595
+ ```
596
+
597
+ ### DOSBox Development Setup
598
+
599
+ ```yaml
600
+ setup:
601
+ 1. Install DOSBox/DOSBox-X
602
+ 2. Mount work directory: mount c c:\asm
603
+ 3. Install assembler (TASM/MASM/NASM)
604
+ 4. Use DEBUG.EXE or Turbo Debugger
605
+
606
+ debuggers:
607
+ DEBUG.EXE: "Built-in DOS debugger (line-oriented)"
608
+ Turbo Debugger: "Full-screen, source-level debugging"
609
+ D86: "A86's companion debugger"
610
+ ```
611
+
612
+ ### CPU Evolution (16 → 32 → 64-bit)
613
+
614
+ | CPU | Year | Bits | Address | Mode | Memory |
615
+ | ------- | ---- | ---- | ------- | ------------ | ------ |
616
+ | 8086 | 1978 | 16 | 20-bit | Real | 1 MB |
617
+ | 8088 | 1979 | 16 | 20-bit | Real | 1 MB |
618
+ | 80286 | 1982 | 16 | 24-bit | Real/Prot | 16 MB |
619
+ | 80386 | 1985 | 32 | 32-bit | Real/Prot/V8 | 4 GB |
620
+ | 80486 | 1989 | 32 | 32-bit | Real/Prot/V8 | 4 GB |
621
+ | Pentium | 1993 | 32 | 32-bit | Real/Prot/V8 | 4 GB |
622
+ | x64 | 2003 | 64 | 48-bit | Long | 256 TB |
623
+
624
+ ---
625
+
626
+ ## 🆕 RISC-V Assembly
627
+
628
+ ### Register Map (RV64I)
629
+
630
+ | ABI Name | Reg | Role | Preserved |
631
+ | -------- | ------ | --------------- | --------- |
632
+ | zero | x0 | Hard-wired zero | N/A |
633
+ | ra | x1 | Return address | No |
634
+ | sp | x2 | Stack pointer | Yes |
635
+ | gp | x3 | Global pointer | N/A |
636
+ | tp | x4 | Thread pointer | N/A |
637
+ | t0-t2 | x5-7 | Temporaries | No |
638
+ | s0/fp | x8 | Saved/Frame ptr | Yes |
639
+ | s1 | x9 | Saved register | Yes |
640
+ | a0-a7 | x10-17 | Args / Return | No |
641
+ | s2-s11 | x18-27 | Saved registers | Yes |
642
+ | t3-t6 | x28-31 | Temporaries | No |
643
+
644
+ ### Calling Convention
645
+
646
+ ```asm
647
+ # RISC-V function example
648
+ my_function:
649
+ addi sp, sp, -16 # Allocate stack
650
+ sd ra, 8(sp) # Save return address
651
+ sd s0, 0(sp) # Save s0
652
+
653
+ # ... function body ...
654
+ # Args in a0-a7, return in a0/a1
655
+
656
+ ld s0, 0(sp) # Restore s0
657
+ ld ra, 8(sp) # Restore ra
658
+ addi sp, sp, 16 # Deallocate
659
+ ret
660
+ ```
661
+
662
+ ### Common Extensions
663
+
664
+ | Ext | Description |
665
+ | --- | ------------------- |
666
+ | M | Multiply/Divide |
667
+ | A | Atomics |
668
+ | F | Single-precision FP |
669
+ | D | Double-precision FP |
670
+ | C | Compressed (16-bit) |
671
+ | V | Vector extension |
672
+
673
+ ---
674
+
675
+ ## 🆕 Intel AVX10 & AMX (2025-2026)
676
+
677
+ ### AVX10.2 (June 2025)
678
+
679
+ ```yaml
680
+ features:
681
+ - Mixed-precision: FP16, BF16 operations
682
+ - IEEE-754-2019 NaN propagation
683
+ - Unified P-core/E-core support
684
+ - Embedded rounding in 256-bit mode
685
+ - 32 vector registers (ZMM0-31)
686
+
687
+ detection:
688
+ CPUID: Check AVX10 version via CPUID.07H
689
+ ```
690
+
691
+ ### Intel AMX (Sapphire Rapids+)
692
+
693
+ ```yaml
694
+ description: "Accelerate matrix operations for AI/ML"
695
+
696
+ tiles:
697
+ count: 8 (TMM0-TMM7)
698
+ max_size: 16 rows × 64 bytes
699
+
700
+ data_types:
701
+ - BF16 (Brain Float 16)
702
+ - INT8 (8-bit integer)
703
+ - FP16 (Half precision)
704
+
705
+ speedup: "Up to 10x for deep learning"
706
+ ```
707
+
708
+ ### AMX Intrinsics Example
709
+
710
+ ```c
711
+ #include <immintrin.h>
712
+
713
+ void amx_matmul_bf16(void* c, void* a, void* b) {
714
+ _tile_loadd(0, a, 64); // Load A → TMM0
715
+ _tile_loadd(1, b, 64); // Load B → TMM1
716
+ _tile_dpbf16ps(2, 0, 1); // C += A × B (BF16)
717
+ _tile_stored(2, c, 64); // Store result
718
+ }
719
+ ```
720
+
721
+ ---
722
+
723
+ ## 🛠️ Modern IDE Tools (2025-2026)
724
+
725
+ ### VS Code Extensions
726
+
727
+ | Extension | Purpose |
728
+ | ------------------------- | ---------------------- |
729
+ | `ms-vscode.cpptools` | C/C++ IntelliSense |
730
+ | `maziac.asm-code-lens` | ASM syntax + debugging |
731
+ | `dan-c-underwood.arm` | ARM assembly support |
732
+ | `13xforever.language-x86` | x86/x64 syntax |
733
+ | `Cortex-Debug` | ARM embedded debugging |
734
+
735
+ ### ARM-Specific Tools
736
+
737
+ | Tool | Description |
738
+ | -------------- | ------------------------------- |
739
+ | ArmLS | ARM64 language server (LSP) |
740
+ | Arm Dev Studio | Full IDE + Performance Analyzer |
741
+ | QEMU | ARM64/RISC-V emulation |
742
+
743
+ ### Online Assembly Tools
744
+
745
+ | Tool | URL |
746
+ | ------------------ | ------------------------ |
747
+ | Compiler Explorer | godbolt.org |
748
+ | ASM Editor (specy) | asm-editor.specy.app |
749
+ | onlinegdb | onlinegdb.com/online_asm |
750
+
751
+ ---
752
+
753
+ _DOMYH Awesome Code • Assembly Language Skill • Comprehensive Guide_