@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,748 @@
1
+ ---
2
+ name: c
3
+ detect: ["*.c", "*.h", "Makefile", "CMakeLists.txt"]
4
+ version: "6.1.2"
5
+ category: language
6
+ tier: 1
7
+ ---
8
+
9
+ # C Language Patterns — DOMYH Awesome Code
10
+
11
+ > Pure C (ISO C23) development patterns — NOT C++
12
+
13
+ ## � Language Identification
14
+
15
+ ```yaml
16
+ # C vs C++ distinction (CRITICAL)
17
+ c_only:
18
+ - ".c files"
19
+ - "No classes, namespaces, templates"
20
+ - "No std::string, std::vector"
21
+ - "No new/delete operators"
22
+ - "Uses stdio.h, stdlib.h, string.h"
23
+
24
+ cpp_indicators: # Switch to C++ skill if detected
25
+ - ".cpp, .cxx, .cc files"
26
+ - "class, namespace, template"
27
+ - "#include <iostream>, <vector>, <string>"
28
+ - "new/delete operators"
29
+ - "std:: prefix"
30
+ ```
31
+
32
+ ---
33
+
34
+ ## 📊 Standard Headers Reference
35
+
36
+ ### Core Headers (C23)
37
+
38
+ | Header | Purpose | Key Functions |
39
+ | ------------- | -------------------- | ------------------------------------------- |
40
+ | `<stdio.h>` | I/O operations | printf, scanf, fopen, fclose, fread, fwrite |
41
+ | `<stdlib.h>` | General utilities | malloc, calloc, realloc, free, exit, atoi |
42
+ | `<string.h>` | String operations | strlen, strcpy, strncpy, strcmp, memcpy |
43
+ | `<stdint.h>` | Fixed-width integers | int8_t, uint32_t, int64_t, size_t |
44
+ | `<stdbool.h>` | Boolean type | bool, true, false |
45
+ | `<stddef.h>` | Common definitions | NULL, size_t, ptrdiff_t, offsetof |
46
+ | `<math.h>` | Math functions | sin, cos, sqrt, pow, fabs, ceil, floor |
47
+ | `<time.h>` | Time/date | time, clock, difftime, strftime |
48
+ | `<errno.h>` | Error handling | errno, ENOMEM, EINVAL, ENOENT |
49
+ | `<assert.h>` | Assertions | assert, static_assert (C23) |
50
+ | `<ctype.h>` | Character handling | isalpha, isdigit, toupper, tolower |
51
+ | `<limits.h>` | Type limits | INT_MAX, INT_MIN, UINT_MAX, CHAR_BIT |
52
+
53
+ ### C23 New Headers
54
+
55
+ | Header | Purpose | Key Functions/Types |
56
+ | --------------- | -------------------- | --------------------------------- |
57
+ | `<stdckdint.h>` | Checked integer math | ckd_add, ckd_sub, ckd_mul |
58
+ | `<stdbit.h>` | Bit manipulation | stdc_popcount, stdc_leading_zeros |
59
+ | `<uchar.h>` | UTF-8 support | char8_t, mbrtoc32, c32rtomb |
60
+
61
+ ---
62
+
63
+ ## 🔧 C23 New Features
64
+
65
+ ### nullptr (replaces NULL)
66
+
67
+ ```c
68
+ // ✅ C23 - Type-safe null pointer
69
+ #include <stddef.h> // nullptr_t
70
+
71
+ void process(int *ptr) {
72
+ if (ptr == nullptr) { // C23
73
+ return;
74
+ }
75
+ // ...
76
+ }
77
+
78
+ int *p = nullptr; // Preferred in C23
79
+ ```
80
+
81
+ ### constexpr (Compile-time Constants)
82
+
83
+ ```c
84
+ // ✅ C23 constexpr
85
+ constexpr int MAX_SIZE = 1024;
86
+ constexpr double PI = 3.14159265359;
87
+
88
+ // Can be used in array sizes
89
+ int buffer[MAX_SIZE];
90
+ ```
91
+
92
+ ### Binary Literals & Digit Separators
93
+
94
+ ```c
95
+ // ✅ C23 binary literals
96
+ int mask = 0b1111'0000; // Binary with separators
97
+ int big = 1'000'000; // Million with separators
98
+ ```
99
+
100
+ ### Checked Integer Arithmetic
101
+
102
+ ```c
103
+ // ✅ C23 - Prevent integer overflow
104
+ #include <stdckdint.h>
105
+
106
+ int a = INT_MAX;
107
+ int b = 1;
108
+ int result;
109
+
110
+ if (ckd_add(&result, a, b)) {
111
+ // Overflow detected
112
+ printf("Integer overflow!\n");
113
+ } else {
114
+ printf("Result: %d\n", result);
115
+ }
116
+ ```
117
+
118
+ ### C23 Attributes
119
+
120
+ ```c
121
+ // ✅ C23 attributes for better static analysis
122
+ [[nodiscard]] int compute(int x); // Warn if return value ignored
123
+ [[deprecated("Use new_func")]] void old_func(void);
124
+ [[fallthrough]] // Intentional fallthrough in switch
125
+ [[maybe_unused]] int debug_flag; // Suppress unused warnings
126
+ [[noreturn]] void fatal_error(void); // Never returns
127
+ ```
128
+
129
+ ---
130
+
131
+ ## 📦 Standard Library APIs
132
+
133
+ ### stdio.h - File I/O
134
+
135
+ ```c
136
+ #include <stdio.h>
137
+
138
+ // ✅ File operations
139
+ FILE *fp = fopen("data.txt", "r");
140
+ if (fp == NULL) {
141
+ perror("fopen"); // Print error with context
142
+ return -1;
143
+ }
144
+
145
+ char line[256];
146
+ while (fgets(line, sizeof(line), fp) != NULL) {
147
+ printf("%s", line);
148
+ }
149
+
150
+ fclose(fp);
151
+
152
+ // ✅ Binary file I/O
153
+ FILE *bin = fopen("data.bin", "rb");
154
+ uint8_t buffer[1024];
155
+ size_t bytes_read = fread(buffer, 1, sizeof(buffer), bin);
156
+
157
+ // ✅ Formatted output
158
+ printf("Int: %d, Hex: 0x%08X, Float: %.2f\n", 42, 255, 3.14);
159
+ fprintf(stderr, "Error: %s\n", strerror(errno));
160
+
161
+ // ✅ Safe string formatting
162
+ char buf[64];
163
+ int n = snprintf(buf, sizeof(buf), "User: %s", username);
164
+ if (n >= (int)sizeof(buf)) {
165
+ // Truncation occurred
166
+ }
167
+ ```
168
+
169
+ ### stdlib.h - Memory & Utilities
170
+
171
+ ```c
172
+ #include <stdlib.h>
173
+
174
+ // ✅ Memory allocation (ALWAYS check for NULL)
175
+ void *ptr = malloc(size);
176
+ if (ptr == NULL) {
177
+ return -ENOMEM;
178
+ }
179
+
180
+ // ✅ Zero-initialized memory
181
+ int *arr = calloc(count, sizeof(int));
182
+ if (arr == NULL) {
183
+ return -ENOMEM;
184
+ }
185
+
186
+ // ✅ Resize memory (handle NULL case)
187
+ void *new_ptr = realloc(ptr, new_size);
188
+ if (new_ptr == NULL) {
189
+ free(ptr); // Original still valid
190
+ return -ENOMEM;
191
+ }
192
+ ptr = new_ptr;
193
+
194
+ // ✅ Free memory and prevent use-after-free
195
+ free(ptr);
196
+ ptr = NULL; // ALWAYS nullify after free
197
+
198
+ // ✅ String conversions
199
+ int val = atoi("42"); // No error checking
200
+ long lval = strtol("42", NULL, 10); // Preferred - with base
201
+
202
+ // ✅ Environment
203
+ char *home = getenv("HOME");
204
+ if (home != NULL) {
205
+ printf("Home: %s\n", home);
206
+ }
207
+
208
+ // ✅ Random numbers
209
+ srand((unsigned)time(NULL));
210
+ int r = rand() % 100; // 0-99
211
+
212
+ // ✅ Sorting and searching
213
+ qsort(array, count, sizeof(array[0]), compare_func);
214
+ void *found = bsearch(&key, array, count, sizeof(array[0]), compare_func);
215
+ ```
216
+
217
+ ### string.h - String Operations
218
+
219
+ ```c
220
+ #include <string.h>
221
+
222
+ // ❌ DANGEROUS - Buffer overflow
223
+ char buf[10];
224
+ strcpy(buf, user_input); // NEVER do this
225
+
226
+ // ✅ SAFE alternatives
227
+ strncpy(buf, user_input, sizeof(buf) - 1);
228
+ buf[sizeof(buf) - 1] = '\0'; // Ensure null termination
229
+
230
+ // ✅ Or use snprintf (recommended)
231
+ snprintf(buf, sizeof(buf), "%s", user_input);
232
+
233
+ // ✅ String length
234
+ size_t len = strlen(str);
235
+
236
+ // ✅ String comparison
237
+ if (strcmp(str1, str2) == 0) {
238
+ // Strings are equal
239
+ }
240
+
241
+ // ✅ Case-insensitive (POSIX, not standard C)
242
+ // Use strcasecmp on POSIX systems
243
+
244
+ // ✅ Memory operations
245
+ memcpy(dest, src, n); // Copy (no overlap)
246
+ memmove(dest, src, n); // Copy (overlap safe)
247
+ memset(buf, 0, sizeof(buf)); // Zero memory
248
+
249
+ // ✅ C23 - Clear sensitive data (not optimized away)
250
+ #include <string.h>
251
+ memset_explicit(password, 0, sizeof(password));
252
+
253
+ // ✅ C23 - strdup (now standard)
254
+ char *copy = strdup(original); // malloc + strcpy
255
+ if (copy == NULL) {
256
+ return -ENOMEM;
257
+ }
258
+ // ... use copy ...
259
+ free(copy);
260
+ ```
261
+
262
+ ---
263
+
264
+ ## 🧠 Memory Management Patterns
265
+
266
+ ### RAII Pattern (Resource Acquisition Is Initialization)
267
+
268
+ ```c
269
+ // ✅ Cleanup attribute (GCC/Clang extension, common in Linux kernel)
270
+ #define AUTO_FREE __attribute__((cleanup(cleanup_free)))
271
+
272
+ static void cleanup_free(void *p) {
273
+ free(*(void **)p);
274
+ }
275
+
276
+ void process_data(void) {
277
+ AUTO_FREE char *buf = malloc(1024);
278
+ if (!buf) return;
279
+
280
+ // buf automatically freed when function returns
281
+ // No need for explicit free()
282
+ }
283
+ ```
284
+
285
+ ### Error Handling with goto (Linux Kernel Style)
286
+
287
+ ```c
288
+ // ✅ Standard C pattern for resource cleanup
289
+ int process_file(const char *path) {
290
+ int ret = 0;
291
+ FILE *fp = NULL;
292
+ char *buf = NULL;
293
+
294
+ fp = fopen(path, "r");
295
+ if (!fp) {
296
+ ret = -errno;
297
+ goto out;
298
+ }
299
+
300
+ buf = malloc(BUFFER_SIZE);
301
+ if (!buf) {
302
+ ret = -ENOMEM;
303
+ goto out_close;
304
+ }
305
+
306
+ // Do processing...
307
+ if (some_error) {
308
+ ret = -EINVAL;
309
+ goto out_free;
310
+ }
311
+
312
+ // Success path
313
+ ret = 0;
314
+
315
+ out_free:
316
+ free(buf);
317
+ out_close:
318
+ fclose(fp);
319
+ out:
320
+ return ret;
321
+ }
322
+ ```
323
+
324
+ ### Memory Debugging
325
+
326
+ ```bash
327
+ # Valgrind (memory leak detection)
328
+ valgrind --leak-check=full ./program
329
+
330
+ # AddressSanitizer (compile-time)
331
+ gcc -fsanitize=address -g program.c -o program
332
+
333
+ # UndefinedBehaviorSanitizer
334
+ gcc -fsanitize=undefined -g program.c -o program
335
+ ```
336
+
337
+ ---
338
+
339
+ ## 🏗️ Data Structures
340
+
341
+ ### Struct Patterns
342
+
343
+ ```c
344
+ // ✅ Opaque pointer pattern (information hiding)
345
+ // In header file (user.h)
346
+ typedef struct User User;
347
+ User *user_create(const char *name);
348
+ void user_destroy(User *user);
349
+ const char *user_get_name(const User *user);
350
+
351
+ // In implementation file (user.c)
352
+ struct User {
353
+ char *name;
354
+ int id;
355
+ // Private implementation details
356
+ };
357
+
358
+ User *user_create(const char *name) {
359
+ User *u = malloc(sizeof(*u));
360
+ if (!u) return NULL;
361
+
362
+ u->name = strdup(name);
363
+ if (!u->name) {
364
+ free(u);
365
+ return NULL;
366
+ }
367
+ u->id = generate_id();
368
+ return u;
369
+ }
370
+
371
+ void user_destroy(User *user) {
372
+ if (user) {
373
+ free(user->name);
374
+ free(user);
375
+ }
376
+ }
377
+ ```
378
+
379
+ ### Flexible Array Member (FAM)
380
+
381
+ ```c
382
+ // ✅ C99+ pattern for variable-length data
383
+ struct Message {
384
+ size_t length;
385
+ uint32_t type;
386
+ char data[]; // Flexible array member (MUST be last)
387
+ };
388
+
389
+ struct Message *create_message(const char *text) {
390
+ size_t len = strlen(text) + 1;
391
+ struct Message *msg = malloc(sizeof(*msg) + len);
392
+ if (!msg) return NULL;
393
+
394
+ msg->length = len;
395
+ msg->type = MSG_TYPE_TEXT;
396
+ memcpy(msg->data, text, len);
397
+ return msg;
398
+ }
399
+ ```
400
+
401
+ ---
402
+
403
+ ## 🔒 Security Best Practices
404
+
405
+ ### Input Validation
406
+
407
+ ```c
408
+ // ✅ Validate all user input
409
+ int parse_int(const char *str, int *out) {
410
+ if (str == NULL || out == NULL) {
411
+ return -EINVAL;
412
+ }
413
+
414
+ char *endptr;
415
+ errno = 0;
416
+ long val = strtol(str, &endptr, 10);
417
+
418
+ if (errno == ERANGE || val > INT_MAX || val < INT_MIN) {
419
+ return -ERANGE;
420
+ }
421
+ if (endptr == str || *endptr != '\0') {
422
+ return -EINVAL; // No valid digits or trailing garbage
423
+ }
424
+
425
+ *out = (int)val;
426
+ return 0;
427
+ }
428
+ ```
429
+
430
+ ### Buffer Safety
431
+
432
+ ```c
433
+ // ✅ Always use bounded operations
434
+ #define SAFE_COPY(dst, src) \
435
+ do { \
436
+ strncpy(dst, src, sizeof(dst) - 1); \
437
+ dst[sizeof(dst) - 1] = '\0'; \
438
+ } while (0)
439
+
440
+ // ✅ Prefer snprintf for formatting
441
+ char buf[256];
442
+ if (snprintf(buf, sizeof(buf), "%s:%d", host, port) >= (int)sizeof(buf)) {
443
+ // Handle truncation
444
+ return -E2BIG;
445
+ }
446
+ ```
447
+
448
+ ---
449
+
450
+ ## 🔧 Build & Tools
451
+
452
+ ### Compiler Flags
453
+
454
+ ```bash
455
+ # ✅ Recommended GCC/Clang flags
456
+ CFLAGS = -std=c23 -Wall -Wextra -Werror -pedantic
457
+
458
+ # Debug build
459
+ CFLAGS += -g -O0 -fsanitize=address,undefined
460
+
461
+ # Release build
462
+ CFLAGS += -O2 -DNDEBUG -flto
463
+
464
+ # Security hardening
465
+ CFLAGS += -fstack-protector-strong -D_FORTIFY_SOURCE=2
466
+ LDFLAGS += -Wl,-z,relro,-z,now
467
+ ```
468
+
469
+ ### Makefile Template
470
+
471
+ ```makefile
472
+ CC = gcc
473
+ CFLAGS = -std=c23 -Wall -Wextra -Werror -pedantic
474
+ LDFLAGS =
475
+
476
+ SRC = $(wildcard src/*.c)
477
+ OBJ = $(SRC:.c=.o)
478
+ TARGET = program
479
+
480
+ .PHONY: all clean
481
+
482
+ all: $(TARGET)
483
+
484
+ $(TARGET): $(OBJ)
485
+ $(CC) $(LDFLAGS) -o $@ $^
486
+
487
+ %.o: %.c
488
+ $(CC) $(CFLAGS) -c -o $@ $<
489
+
490
+ clean:
491
+ rm -f $(OBJ) $(TARGET)
492
+ ```
493
+
494
+ ### CMake Template
495
+
496
+ ```cmake
497
+ cmake_minimum_required(VERSION 3.20)
498
+ project(MyProject C)
499
+
500
+ set(CMAKE_C_STANDARD 23)
501
+ set(CMAKE_C_STANDARD_REQUIRED ON)
502
+
503
+ add_compile_options(-Wall -Wextra -Werror -pedantic)
504
+
505
+ add_executable(program
506
+ src/main.c
507
+ src/utils.c
508
+ )
509
+
510
+ # Debug/Release configurations
511
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
512
+ add_compile_options(-g -O0 -fsanitize=address,undefined)
513
+ add_link_options(-fsanitize=address,undefined)
514
+ endif()
515
+ ```
516
+
517
+ ---
518
+
519
+ ## ⚠️ Platform-Specific Headers (CRITICAL)
520
+
521
+ ### Windows Headers Conflicts
522
+
523
+ > **CRITICAL**: Windows headers have many conflicts. Follow this order exactly!
524
+
525
+ #### 1. Include Order (winsock2.h BEFORE windows.h)
526
+
527
+ ```c
528
+ // ✅ CORRECT ORDER - winsock2.h MUST come before windows.h
529
+ #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff
530
+ #define NOMINMAX // Prevent min/max macros (for C++ compat)
531
+ #define STRICT // Enable strict type checking
532
+ #define UNICODE // Use Unicode APIs
533
+ #define _UNICODE
534
+
535
+ #include <winsock2.h> // 1st - Winsock 2.0
536
+ #include <ws2tcpip.h> // 2nd - TCP/IP extensions
537
+ #include <windows.h> // 3rd - Windows API
538
+
539
+ #pragma comment(lib, "ws2_32.lib") // Link Winsock library
540
+
541
+ // ❌ WRONG - causes redefinition errors!
542
+ #include <windows.h> // includes winsock.h (1.1)
543
+ #include <winsock2.h> // conflicts with winsock.h!
544
+ ```
545
+
546
+ #### 2. Essential Macros
547
+
548
+ ```c
549
+ // Define BEFORE any Windows includes (in pch.h or first in source)
550
+ #ifndef WIN32_LEAN_AND_MEAN
551
+ #define WIN32_LEAN_AND_MEAN // Excludes: Cryptography, DDE, RPC, Shell, Winsock 1.1
552
+ #endif
553
+
554
+ #ifndef STRICT
555
+ #define STRICT // Strict type checking for HANDLE types
556
+ #endif
557
+
558
+ #include <windows.h>
559
+ ```
560
+
561
+ #### 3. Windows Socket Initialization
562
+
563
+ ```c
564
+ #include <winsock2.h>
565
+ #include <ws2tcpip.h>
566
+
567
+ int init_winsock(void) {
568
+ WSADATA wsaData;
569
+ int result = WSAStartup(MAKEWORD(2, 2), &wsaData);
570
+ if (result != 0) {
571
+ fprintf(stderr, "WSAStartup failed: %d\n", result);
572
+ return -1;
573
+ }
574
+ return 0;
575
+ }
576
+
577
+ void cleanup_winsock(void) {
578
+ WSACleanup();
579
+ }
580
+ ```
581
+
582
+ ### Windows Headers Quick Reference
583
+
584
+ | Header | Purpose | Notes |
585
+ | -------------- | ------------------- | -------------------------------- |
586
+ | `<windows.h>` | Core Windows API | Use with WIN32_LEAN_AND_MEAN |
587
+ | `<winsock2.h>` | Sockets (Winsock 2) | MUST include BEFORE windows.h |
588
+ | `<ws2tcpip.h>` | TCP/IP, getaddrinfo | Include after winsock2.h |
589
+ | `<process.h>` | Process control | \_beginthreadex, \_getpid |
590
+ | `<io.h>` | Low-level I/O | \_open, \_read, \_write, \_close |
591
+ | `<direct.h>` | Directory | \_mkdir, \_rmdir, \_getcwd |
592
+ | `<conio.h>` | Console I/O | \_getch, \_kbhit |
593
+
594
+ ---
595
+
596
+ ### Linux/POSIX Headers
597
+
598
+ #### 1. Feature Test Macros (Define FIRST)
599
+
600
+ ```c
601
+ // Define BEFORE any system headers!
602
+ #define _GNU_SOURCE // GNU extensions (Linux-specific)
603
+ #define _POSIX_C_SOURCE 200809L // POSIX.1-2008 compliance
604
+ #define _REENTRANT // Thread-safe libc functions
605
+ #define _XOPEN_SOURCE 700 // X/Open SUSv4 + POSIX 2008
606
+
607
+ #include <stdio.h>
608
+ #include <stdlib.h>
609
+ #include <unistd.h>
610
+ #include <pthread.h>
611
+ ```
612
+
613
+ #### 2. Signal Handling with Threads (Critical)
614
+
615
+ ```c
616
+ #include <pthread.h>
617
+ #include <signal.h>
618
+ #include <stdio.h>
619
+
620
+ volatile sig_atomic_t shutdown_flag = 0;
621
+
622
+ // ✅ Block signals in worker threads, handle in dedicated thread
623
+ int main(void) {
624
+ sigset_t set;
625
+ sigemptyset(&set);
626
+ sigaddset(&set, SIGINT);
627
+ sigaddset(&set, SIGTERM);
628
+
629
+ // Block signals in main thread (inherited by child threads)
630
+ pthread_sigmask(SIG_BLOCK, &set, NULL);
631
+
632
+ // Create worker threads (they inherit blocked signals)
633
+ pthread_t worker;
634
+ pthread_create(&worker, NULL, worker_func, NULL);
635
+
636
+ // Handle signals in main thread with sigwait
637
+ int sig;
638
+ while (sigwait(&set, &sig) == 0) {
639
+ if (sig == SIGINT || sig == SIGTERM) {
640
+ shutdown_flag = 1;
641
+ break;
642
+ }
643
+ }
644
+
645
+ pthread_join(worker, NULL);
646
+ return 0;
647
+ }
648
+
649
+ // ❌ AVOID: Signal handlers with threads (race conditions!)
650
+ ```
651
+
652
+ #### 3. Common POSIX Headers
653
+
654
+ | Header | Purpose | Key Functions |
655
+ | ---------------- | ---------------- | ----------------------------------- |
656
+ | `<unistd.h>` | POSIX API | read, write, close, fork, exec |
657
+ | `<pthread.h>` | Threads | pthread*create, pthread_mutex*\* |
658
+ | `<signal.h>` | Signals | sigaction, sigwait, pthread_sigmask |
659
+ | `<fcntl.h>` | File control | open, fcntl, O\_\* flags |
660
+ | `<sys/types.h>` | Type definitions | pid_t, size_t, ssize_t |
661
+ | `<sys/socket.h>` | Sockets | socket, bind, listen, accept |
662
+ | `<netinet/in.h>` | Internet addr | sockaddr_in, htons, ntohs |
663
+ | `<arpa/inet.h>` | IP conversion | inet_pton, inet_ntop |
664
+ | `<sys/stat.h>` | File status | stat, fstat, mkdir |
665
+ | `<sys/mman.h>` | Memory mapping | mmap, munmap, mprotect |
666
+ | `<dlfcn.h>` | Dynamic loading | dlopen, dlsym, dlclose |
667
+ | `<errno.h>` | Error codes | errno, ENOENT, EINVAL |
668
+ | `<dirent.h>` | Directory ops | opendir, readdir, closedir |
669
+
670
+ ---
671
+
672
+ ### Cross-Platform C Code
673
+
674
+ ```c
675
+ // Platform detection
676
+ #if defined(_WIN32) || defined(_WIN64)
677
+ #define PLATFORM_WINDOWS 1
678
+ #elif defined(__linux__)
679
+ #define PLATFORM_LINUX 1
680
+ #elif defined(__APPLE__)
681
+ #define PLATFORM_MACOS 1
682
+ #else
683
+ #define PLATFORM_UNIX 1
684
+ #endif
685
+
686
+ // Platform-specific includes
687
+ #ifdef PLATFORM_WINDOWS
688
+ #define WIN32_LEAN_AND_MEAN
689
+ #include <windows.h>
690
+ #include <winsock2.h>
691
+ #include <ws2tcpip.h>
692
+ #pragma comment(lib, "ws2_32.lib")
693
+ #else
694
+ #include <unistd.h>
695
+ #include <sys/socket.h>
696
+ #include <netinet/in.h>
697
+ #include <pthread.h>
698
+ #include <errno.h>
699
+ #endif
700
+
701
+ // Cross-platform sleep
702
+ static inline void sleep_ms(unsigned int ms) {
703
+ #ifdef PLATFORM_WINDOWS
704
+ Sleep(ms);
705
+ #else
706
+ usleep(ms * 1000);
707
+ #endif
708
+ }
709
+
710
+ // Cross-platform thread type
711
+ #ifdef PLATFORM_WINDOWS
712
+ typedef HANDLE thread_t;
713
+ typedef DWORD thread_ret_t;
714
+ #else
715
+ typedef pthread_t thread_t;
716
+ typedef void* thread_ret_t;
717
+ #endif
718
+
719
+ // Cross-platform socket type
720
+ #ifdef PLATFORM_WINDOWS
721
+ typedef SOCKET socket_t;
722
+ #define INVALID_SOCKET_VAL INVALID_SOCKET
723
+ #define close_socket(s) closesocket(s)
724
+ #else
725
+ typedef int socket_t;
726
+ #define INVALID_SOCKET_VAL (-1)
727
+ #define close_socket(s) close(s)
728
+ #endif
729
+ ```
730
+
731
+ ---
732
+
733
+ ## ✅ Production Checklist
734
+
735
+ - [ ] No memory leaks (Valgrind clean)
736
+ - [ ] All malloc/calloc checked for NULL
737
+ - [ ] All resources freed on error paths
738
+ - [ ] No buffer overflows (use bounded ops)
739
+ - [ ] No use-after-free (nullify pointers)
740
+ - [ ] Static analyzer clean (clang-tidy, cppcheck)
741
+ - [ ] Const correctness applied
742
+ - [ ] Error handling with proper codes
743
+ - [ ] Security hardening flags enabled
744
+ - [ ] C23 or latest supported standard used
745
+
746
+ ---
747
+
748
+ _DOMYH Awesome Code • C Language (ISO C23) • 2025-2026_