@ngxtm/devkit 3.4.0 → 3.5.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 (344) hide show
  1. package/package.json +2 -1
  2. package/rules/README.md +141 -0
  3. package/rules/dart/best-practices/SKILL.md +23 -0
  4. package/rules/dart/language/SKILL.md +52 -0
  5. package/rules/dart/tooling/SKILL.md +43 -0
  6. package/rules/dotnet/aspnet-core/SKILL.md +92 -0
  7. package/rules/dotnet/aspnet-core/references/REFERENCE.md +335 -0
  8. package/rules/dotnet/best-practices/SKILL.md +101 -0
  9. package/rules/dotnet/best-practices/references/REFERENCE.md +256 -0
  10. package/rules/dotnet/blazor/SKILL.md +146 -0
  11. package/rules/dotnet/blazor/references/REFERENCE.md +392 -0
  12. package/rules/dotnet/language/SKILL.md +82 -0
  13. package/rules/dotnet/language/references/REFERENCE.md +222 -0
  14. package/rules/dotnet/patterns.rule.md +388 -0
  15. package/rules/dotnet/razor-pages/SKILL.md +124 -0
  16. package/rules/dotnet/razor-pages/references/REFERENCE.md +321 -0
  17. package/rules/dotnet/security/SKILL.md +89 -0
  18. package/rules/dotnet/security/references/REFERENCE.md +295 -0
  19. package/rules/dotnet/tooling/SKILL.md +92 -0
  20. package/rules/dotnet/tooling/references/REFERENCE.md +300 -0
  21. package/rules/flutter/auto-route-navigation/SKILL.md +43 -0
  22. package/rules/flutter/auto-route-navigation/references/REFERENCE.md +19 -0
  23. package/rules/flutter/auto-route-navigation/references/router-config.md +62 -0
  24. package/rules/flutter/bloc-state-management/SKILL.md +64 -0
  25. package/rules/flutter/bloc-state-management/references/REFERENCE.md +20 -0
  26. package/rules/flutter/bloc-state-management/references/auth-bloc-example.md +52 -0
  27. package/rules/flutter/bloc-state-management/references/equatable-usage.md +56 -0
  28. package/rules/flutter/bloc-state-management/references/property-based-state.md +68 -0
  29. package/rules/flutter/bloc.rule.md +76 -0
  30. package/rules/flutter/cicd/SKILL.md +48 -0
  31. package/rules/flutter/cicd/references/advanced-workflow.md +66 -0
  32. package/rules/flutter/cicd/references/fastlane.md +139 -0
  33. package/rules/flutter/cicd/references/github-actions.md +59 -0
  34. package/rules/flutter/dependency-injection/SKILL.md +42 -0
  35. package/rules/flutter/dependency-injection/references/REFERENCE.md +15 -0
  36. package/rules/flutter/dependency-injection/references/modules.md +37 -0
  37. package/rules/flutter/error-handling/SKILL.md +32 -0
  38. package/rules/flutter/error-handling/references/REFERENCE.md +19 -0
  39. package/rules/flutter/error-handling/references/error-mapping.md +31 -0
  40. package/rules/flutter/feature-based-clean-architecture/SKILL.md +46 -0
  41. package/rules/flutter/feature-based-clean-architecture/references/REFERENCE.md +14 -0
  42. package/rules/flutter/feature-based-clean-architecture/references/folder-structure.md +36 -0
  43. package/rules/flutter/getx-navigation/SKILL.md +70 -0
  44. package/rules/flutter/getx-navigation/references/app-pages.md +40 -0
  45. package/rules/flutter/getx-navigation/references/middleware-example.md +29 -0
  46. package/rules/flutter/getx-state-management/SKILL.md +76 -0
  47. package/rules/flutter/getx-state-management/references/binding-example.md +32 -0
  48. package/rules/flutter/getx-state-management/references/reactive-vs-simple.md +39 -0
  49. package/rules/flutter/go-router-navigation/SKILL.md +57 -0
  50. package/rules/flutter/idiomatic-flutter/SKILL.md +20 -0
  51. package/rules/flutter/layer-based-clean-architecture/SKILL.md +50 -0
  52. package/rules/flutter/layer-based-clean-architecture/references/REFERENCE.md +60 -0
  53. package/rules/flutter/layer-based-clean-architecture/references/repository-mapping.md +50 -0
  54. package/rules/flutter/localization/SKILL.md +50 -0
  55. package/rules/flutter/localization/references/REFERENCE.md +48 -0
  56. package/rules/flutter/localization/references/sheet-loader.md +33 -0
  57. package/rules/flutter/navigator-v1-navigation/SKILL.md +71 -0
  58. package/rules/flutter/navigator-v1-navigation/references/on-generate-route.md +48 -0
  59. package/rules/flutter/performance/SKILL.md +24 -0
  60. package/rules/flutter/retrofit-networking/SKILL.md +51 -0
  61. package/rules/flutter/retrofit-networking/references/REFERENCE.md +19 -0
  62. package/rules/flutter/retrofit-networking/references/token-refresh.md +40 -0
  63. package/rules/flutter/riverpod-state-management/SKILL.md +53 -0
  64. package/rules/flutter/riverpod-state-management/references/architecture.md +124 -0
  65. package/rules/flutter/riverpod-state-management/references/best-practices.md +89 -0
  66. package/rules/flutter/riverpod-state-management/references/testing.md +73 -0
  67. package/rules/flutter/riverpod.rule.md +78 -0
  68. package/rules/flutter/security/SKILL.md +33 -0
  69. package/rules/flutter/security/references/REFERENCE.md +15 -0
  70. package/rules/flutter/security/references/network-security.md +28 -0
  71. package/rules/flutter/testing/SKILL.md +44 -0
  72. package/rules/flutter/testing/references/REFERENCE.md +21 -0
  73. package/rules/flutter/testing/references/bloc-testing.md +38 -0
  74. package/rules/flutter/testing/references/integration-testing.md +128 -0
  75. package/rules/flutter/testing/references/robot-pattern.md +82 -0
  76. package/rules/flutter/testing/references/unit-testing.md +130 -0
  77. package/rules/flutter/testing/references/widget-testing.md +120 -0
  78. package/rules/flutter/widgets/SKILL.md +37 -0
  79. package/rules/golang/chi-router/SKILL.md +219 -0
  80. package/rules/golang/chi-router/references/REFERENCE.md +13 -0
  81. package/rules/golang/chi-router/references/routing-patterns.md +205 -0
  82. package/rules/golang/cobra-cli/SKILL.md +227 -0
  83. package/rules/golang/cobra-cli/references/REFERENCE.md +13 -0
  84. package/rules/golang/cobra-cli/references/command-patterns.md +224 -0
  85. package/rules/golang/core/SKILL.md +210 -0
  86. package/rules/golang/core/references/REFERENCE.md +14 -0
  87. package/rules/golang/core/references/concurrency-patterns.md +114 -0
  88. package/rules/golang/core/references/error-handling.md +87 -0
  89. package/rules/golang/echo-framework/SKILL.md +215 -0
  90. package/rules/golang/echo-framework/references/REFERENCE.md +14 -0
  91. package/rules/golang/echo-framework/references/middleware-patterns.md +141 -0
  92. package/rules/golang/echo-framework/references/routing-patterns.md +140 -0
  93. package/rules/golang/ent-orm/SKILL.md +239 -0
  94. package/rules/golang/ent-orm/references/REFERENCE.md +13 -0
  95. package/rules/golang/ent-orm/references/schema-patterns.md +255 -0
  96. package/rules/golang/fiber-framework/SKILL.md +196 -0
  97. package/rules/golang/fiber-framework/references/REFERENCE.md +13 -0
  98. package/rules/golang/fiber-framework/references/routing-patterns.md +191 -0
  99. package/rules/golang/gin-framework/SKILL.md +205 -0
  100. package/rules/golang/gin-framework/references/REFERENCE.md +14 -0
  101. package/rules/golang/gin-framework/references/middleware-patterns.md +119 -0
  102. package/rules/golang/gorm-orm/SKILL.md +196 -0
  103. package/rules/golang/gorm-orm/references/REFERENCE.md +14 -0
  104. package/rules/golang/gorm-orm/references/model-definitions.md +167 -0
  105. package/rules/golang/gorm-orm/references/query-patterns.md +161 -0
  106. package/rules/golang/grpc/SKILL.md +231 -0
  107. package/rules/golang/grpc/references/REFERENCE.md +13 -0
  108. package/rules/golang/grpc/references/service-patterns.md +276 -0
  109. package/rules/golang/testify/SKILL.md +239 -0
  110. package/rules/golang/testify/references/REFERENCE.md +13 -0
  111. package/rules/golang/testify/references/assert-patterns.md +170 -0
  112. package/rules/golang/validator/SKILL.md +234 -0
  113. package/rules/golang/validator/references/REFERENCE.md +13 -0
  114. package/rules/golang/validator/references/validation-tags.md +211 -0
  115. package/rules/golang/viper-config/SKILL.md +244 -0
  116. package/rules/golang/viper-config/references/REFERENCE.md +13 -0
  117. package/rules/golang/viper-config/references/config-loading.md +181 -0
  118. package/rules/golang/wire-di/SKILL.md +243 -0
  119. package/rules/golang/wire-di/references/REFERENCE.md +13 -0
  120. package/rules/golang/wire-di/references/provider-patterns.md +193 -0
  121. package/rules/golang/zap-logging/SKILL.md +203 -0
  122. package/rules/golang/zap-logging/references/REFERENCE.md +13 -0
  123. package/rules/golang/zap-logging/references/logger-config.md +165 -0
  124. package/rules/java/build-gradle/SKILL.md +92 -0
  125. package/rules/java/build-gradle/references/REFERENCE.md +14 -0
  126. package/rules/java/build-gradle/references/kotlin-dsl.md +118 -0
  127. package/rules/java/build-gradle/references/task-configuration.md +132 -0
  128. package/rules/java/build-maven/SKILL.md +86 -0
  129. package/rules/java/build-maven/references/REFERENCE.md +14 -0
  130. package/rules/java/build-maven/references/dependency-management.md +111 -0
  131. package/rules/java/build-maven/references/lifecycle-phases.md +114 -0
  132. package/rules/java/graalvm-native/SKILL.md +105 -0
  133. package/rules/java/graalvm-native/references/REFERENCE.md +12 -0
  134. package/rules/java/java-collections-streams/SKILL.md +148 -0
  135. package/rules/java/java-collections-streams/references/REFERENCE.md +15 -0
  136. package/rules/java/java-collections-streams/references/collectors-patterns.md +178 -0
  137. package/rules/java/java-collections-streams/references/stream-pipelines.md +165 -0
  138. package/rules/java/java-concurrency/SKILL.md +187 -0
  139. package/rules/java/java-concurrency/references/REFERENCE.md +17 -0
  140. package/rules/java/java-concurrency/references/completable-future.md +165 -0
  141. package/rules/java/java-concurrency/references/executor-patterns.md +176 -0
  142. package/rules/java/java-concurrency/references/virtual-threads.md +190 -0
  143. package/rules/java/java-core-language/SKILL.md +121 -0
  144. package/rules/java/java-core-language/references/REFERENCE.md +15 -0
  145. package/rules/java/java-core-language/references/jvm-memory-model.md +160 -0
  146. package/rules/java/java-core-language/references/modern-java-features.md +168 -0
  147. package/rules/java/java-project-structure/SKILL.md +195 -0
  148. package/rules/java/java-project-structure/references/REFERENCE.md +15 -0
  149. package/rules/java/java-project-structure/references/maven-project-layout.md +199 -0
  150. package/rules/java/java-project-structure/references/module-system.md +159 -0
  151. package/rules/java/micronaut-core/SKILL.md +99 -0
  152. package/rules/java/micronaut-core/references/REFERENCE.md +12 -0
  153. package/rules/java/micronaut-reactive/SKILL.md +68 -0
  154. package/rules/java/micronaut-reactive/references/REFERENCE.md +12 -0
  155. package/rules/java/quarkus-core/SKILL.md +85 -0
  156. package/rules/java/quarkus-core/references/REFERENCE.md +12 -0
  157. package/rules/java/quarkus-reactive/SKILL.md +67 -0
  158. package/rules/java/quarkus-reactive/references/REFERENCE.md +12 -0
  159. package/rules/java/spring-batch/SKILL.md +102 -0
  160. package/rules/java/spring-batch/references/REFERENCE.md +12 -0
  161. package/rules/java/spring-boot-architecture/SKILL.md +206 -0
  162. package/rules/java/spring-boot-architecture/references/REFERENCE.md +15 -0
  163. package/rules/java/spring-boot-architecture/references/auto-configuration.md +158 -0
  164. package/rules/java/spring-boot-architecture/references/configuration-properties.md +202 -0
  165. package/rules/java/spring-boot-web/SKILL.md +217 -0
  166. package/rules/java/spring-boot-web/references/REFERENCE.md +17 -0
  167. package/rules/java/spring-cloud/SKILL.md +109 -0
  168. package/rules/java/spring-cloud/references/REFERENCE.md +13 -0
  169. package/rules/java/spring-data-jpa/SKILL.md +241 -0
  170. package/rules/java/spring-data-jpa/references/REFERENCE.md +16 -0
  171. package/rules/java/spring-security/SKILL.md +161 -0
  172. package/rules/java/spring-security/references/REFERENCE.md +16 -0
  173. package/rules/java/spring-security/references/jwt-auth-flow.md +213 -0
  174. package/rules/java/testing-junit-mockito/SKILL.md +135 -0
  175. package/rules/java/testing-junit-mockito/references/REFERENCE.md +15 -0
  176. package/rules/java/testing-junit-mockito/references/junit5-patterns.md +159 -0
  177. package/rules/java/testing-junit-mockito/references/mockito-patterns.md +148 -0
  178. package/rules/java/testing-junit-mockito/references/spring-boot-testing.md +152 -0
  179. package/rules/javascript/best-practices/SKILL.md +64 -0
  180. package/rules/javascript/best-practices/references/REFERENCE.md +91 -0
  181. package/rules/javascript/language/SKILL.md +71 -0
  182. package/rules/javascript/language/references/REFERENCE.md +106 -0
  183. package/rules/javascript/tooling/SKILL.md +60 -0
  184. package/rules/javascript/tooling/references/REFERENCE.md +107 -0
  185. package/rules/metadata.json +54 -0
  186. package/rules/nestjs/api-standards/SKILL.md +47 -0
  187. package/rules/nestjs/api-standards/references/pagination-wrapper.md +87 -0
  188. package/rules/nestjs/architecture/SKILL.md +68 -0
  189. package/rules/nestjs/architecture/references/dynamic-module.md +53 -0
  190. package/rules/nestjs/caching/SKILL.md +51 -0
  191. package/rules/nestjs/caching/references/REFERENCE.md +13 -0
  192. package/rules/nestjs/caching/references/cache-patterns.md +183 -0
  193. package/rules/nestjs/configuration/SKILL.md +41 -0
  194. package/rules/nestjs/configuration/references/REFERENCE.md +13 -0
  195. package/rules/nestjs/configuration/references/config-patterns.md +184 -0
  196. package/rules/nestjs/controllers-services/SKILL.md +63 -0
  197. package/rules/nestjs/controllers-services/references/REFERENCE.md +14 -0
  198. package/rules/nestjs/controllers-services/references/controller-patterns.md +119 -0
  199. package/rules/nestjs/controllers-services/references/service-patterns.md +129 -0
  200. package/rules/nestjs/database/SKILL.md +102 -0
  201. package/rules/nestjs/database/references/REFERENCE.md +14 -0
  202. package/rules/nestjs/database/references/typeorm-patterns.md +156 -0
  203. package/rules/nestjs/deployment/SKILL.md +36 -0
  204. package/rules/nestjs/deployment/references/REFERENCE.md +13 -0
  205. package/rules/nestjs/deployment/references/deployment-patterns.md +140 -0
  206. package/rules/nestjs/documentation/SKILL.md +64 -0
  207. package/rules/nestjs/documentation/references/REFERENCE.md +13 -0
  208. package/rules/nestjs/documentation/references/swagger-patterns.md +139 -0
  209. package/rules/nestjs/error-handling/SKILL.md +55 -0
  210. package/rules/nestjs/error-handling/references/REFERENCE.md +13 -0
  211. package/rules/nestjs/error-handling/references/exception-filters.md +152 -0
  212. package/rules/nestjs/file-uploads/SKILL.md +35 -0
  213. package/rules/nestjs/file-uploads/references/REFERENCE.md +13 -0
  214. package/rules/nestjs/file-uploads/references/upload-patterns.md +125 -0
  215. package/rules/nestjs/observability/SKILL.md +39 -0
  216. package/rules/nestjs/observability/references/REFERENCE.md +13 -0
  217. package/rules/nestjs/observability/references/logging-metrics.md +175 -0
  218. package/rules/nestjs/performance/SKILL.md +60 -0
  219. package/rules/nestjs/performance/references/REFERENCE.md +13 -0
  220. package/rules/nestjs/performance/references/performance-patterns.md +107 -0
  221. package/rules/nestjs/real-time/SKILL.md +45 -0
  222. package/rules/nestjs/real-time/references/REFERENCE.md +13 -0
  223. package/rules/nestjs/real-time/references/websocket-patterns.md +121 -0
  224. package/rules/nestjs/scheduling/SKILL.md +39 -0
  225. package/rules/nestjs/scheduling/references/REFERENCE.md +13 -0
  226. package/rules/nestjs/scheduling/references/scheduling-patterns.md +137 -0
  227. package/rules/nestjs/search/SKILL.md +41 -0
  228. package/rules/nestjs/search/references/REFERENCE.md +13 -0
  229. package/rules/nestjs/search/references/search-patterns.md +137 -0
  230. package/rules/nestjs/security/SKILL.md +87 -0
  231. package/rules/nestjs/security/references/REFERENCE.md +14 -0
  232. package/rules/nestjs/security/references/authentication.md +151 -0
  233. package/rules/nestjs/testing/SKILL.md +40 -0
  234. package/rules/nestjs/testing/references/REFERENCE.md +14 -0
  235. package/rules/nestjs/testing/references/unit-testing.md +179 -0
  236. package/rules/nestjs/transport/SKILL.md +45 -0
  237. package/rules/nestjs/transport/references/REFERENCE.md +13 -0
  238. package/rules/nestjs/transport/references/microservices-patterns.md +170 -0
  239. package/rules/nextjs/app-router/SKILL.md +46 -0
  240. package/rules/nextjs/app-router/references/REFERENCE.md +14 -0
  241. package/rules/nextjs/app-router/references/routing-patterns.md +182 -0
  242. package/rules/nextjs/architecture/SKILL.md +44 -0
  243. package/rules/nextjs/architecture/references/fsd-structure.md +77 -0
  244. package/rules/nextjs/authentication/SKILL.md +29 -0
  245. package/rules/nextjs/authentication/references/auth-implementation.md +73 -0
  246. package/rules/nextjs/caching/SKILL.md +66 -0
  247. package/rules/nextjs/caching/references/REFERENCE.md +13 -0
  248. package/rules/nextjs/caching/references/cache-strategies.md +168 -0
  249. package/rules/nextjs/data-access-layer/SKILL.md +33 -0
  250. package/rules/nextjs/data-access-layer/references/patterns.md +66 -0
  251. package/rules/nextjs/data-fetching/SKILL.md +59 -0
  252. package/rules/nextjs/data-fetching/references/REFERENCE.md +13 -0
  253. package/rules/nextjs/data-fetching/references/fetch-patterns.md +160 -0
  254. package/rules/nextjs/internationalization/SKILL.md +105 -0
  255. package/rules/nextjs/internationalization/references/REFERENCE.md +13 -0
  256. package/rules/nextjs/internationalization/references/i18n-patterns.md +180 -0
  257. package/rules/nextjs/optimization/SKILL.md +64 -0
  258. package/rules/nextjs/optimization/references/REFERENCE.md +13 -0
  259. package/rules/nextjs/optimization/references/optimization-patterns.md +190 -0
  260. package/rules/nextjs/rendering/SKILL.md +91 -0
  261. package/rules/nextjs/rendering/references/REFERENCE.md +13 -0
  262. package/rules/nextjs/rendering/references/rendering-modes.md +163 -0
  263. package/rules/nextjs/server-actions/SKILL.md +46 -0
  264. package/rules/nextjs/server-actions/references/REFERENCE.md +13 -0
  265. package/rules/nextjs/server-actions/references/action-patterns.md +188 -0
  266. package/rules/nextjs/server-components/SKILL.md +52 -0
  267. package/rules/nextjs/server-components/references/REFERENCE.md +13 -0
  268. package/rules/nextjs/server-components/references/component-patterns.md +175 -0
  269. package/rules/nextjs/state-management/SKILL.md +73 -0
  270. package/rules/nextjs/state-management/references/REFERENCE.md +13 -0
  271. package/rules/nextjs/state-management/references/state-patterns.md +218 -0
  272. package/rules/nextjs/styling/SKILL.md +31 -0
  273. package/rules/nextjs/styling/references/implementation.md +56 -0
  274. package/rules/react/component-patterns/SKILL.md +66 -0
  275. package/rules/react/component-patterns/references/REFERENCE.md +126 -0
  276. package/rules/react/hooks/SKILL.md +60 -0
  277. package/rules/react/hooks/references/REFERENCE.md +132 -0
  278. package/rules/react/hooks.rule.md +79 -0
  279. package/rules/react/performance/SKILL.md +69 -0
  280. package/rules/react/performance/references/REFERENCE.md +143 -0
  281. package/rules/react/security/SKILL.md +46 -0
  282. package/rules/react/security/references/REFERENCE.md +170 -0
  283. package/rules/react/state-management/SKILL.md +56 -0
  284. package/rules/react/state-management/references/REFERENCE.md +137 -0
  285. package/rules/react/testing/SKILL.md +45 -0
  286. package/rules/react/testing/references/REFERENCE.md +149 -0
  287. package/rules/react/tooling/SKILL.md +39 -0
  288. package/rules/react/typescript/SKILL.md +53 -0
  289. package/rules/rust/actix-web/SKILL.md +160 -0
  290. package/rules/rust/actix-web/references/REFERENCE.md +13 -0
  291. package/rules/rust/actix-web/references/handler-patterns.md +198 -0
  292. package/rules/rust/async-graphql/SKILL.md +228 -0
  293. package/rules/rust/async-graphql/references/REFERENCE.md +13 -0
  294. package/rules/rust/async-graphql/references/schema-patterns.md +215 -0
  295. package/rules/rust/axum/SKILL.md +161 -0
  296. package/rules/rust/axum/references/REFERENCE.md +14 -0
  297. package/rules/rust/axum/references/handler-patterns.md +97 -0
  298. package/rules/rust/bevy/SKILL.md +206 -0
  299. package/rules/rust/bevy/references/REFERENCE.md +13 -0
  300. package/rules/rust/bevy/references/ecs-patterns.md +226 -0
  301. package/rules/rust/clap/SKILL.md +217 -0
  302. package/rules/rust/clap/references/REFERENCE.md +13 -0
  303. package/rules/rust/clap/references/derive-patterns.md +205 -0
  304. package/rules/rust/core/SKILL.md +154 -0
  305. package/rules/rust/core/references/REFERENCE.md +14 -0
  306. package/rules/rust/core/references/error-handling.md +92 -0
  307. package/rules/rust/diesel-orm/SKILL.md +176 -0
  308. package/rules/rust/diesel-orm/references/REFERENCE.md +13 -0
  309. package/rules/rust/diesel-orm/references/schema-patterns.md +206 -0
  310. package/rules/rust/rocket/SKILL.md +182 -0
  311. package/rules/rust/rocket/references/REFERENCE.md +13 -0
  312. package/rules/rust/rocket/references/handler-patterns.md +209 -0
  313. package/rules/rust/sea-orm/SKILL.md +230 -0
  314. package/rules/rust/sea-orm/references/REFERENCE.md +13 -0
  315. package/rules/rust/sea-orm/references/entity-patterns.md +221 -0
  316. package/rules/rust/serde-serialization/SKILL.md +150 -0
  317. package/rules/rust/serde-serialization/references/REFERENCE.md +13 -0
  318. package/rules/rust/serde-serialization/references/serialization-patterns.md +199 -0
  319. package/rules/rust/sqlx-database/SKILL.md +140 -0
  320. package/rules/rust/sqlx-database/references/REFERENCE.md +13 -0
  321. package/rules/rust/sqlx-database/references/query-patterns.md +210 -0
  322. package/rules/rust/tauri/SKILL.md +180 -0
  323. package/rules/rust/tauri/references/REFERENCE.md +13 -0
  324. package/rules/rust/tauri/references/command-patterns.md +209 -0
  325. package/rules/rust/tokio-runtime/SKILL.md +167 -0
  326. package/rules/rust/tokio-runtime/references/REFERENCE.md +14 -0
  327. package/rules/rust/tokio-runtime/references/async-patterns.md +137 -0
  328. package/rules/rust/tokio-runtime/references/synchronization.md +152 -0
  329. package/rules/rust/tonic/SKILL.md +231 -0
  330. package/rules/rust/tonic/references/REFERENCE.md +13 -0
  331. package/rules/rust/tonic/references/service-patterns.md +213 -0
  332. package/rules/rust/tracing/SKILL.md +214 -0
  333. package/rules/rust/tracing/references/REFERENCE.md +13 -0
  334. package/rules/rust/tracing/references/instrumentation.md +187 -0
  335. package/rules/typescript/best-practices/SKILL.md +108 -0
  336. package/rules/typescript/best-practices/references/REFERENCE.md +68 -0
  337. package/rules/typescript/language/SKILL.md +72 -0
  338. package/rules/typescript/language/references/REFERENCE.md +67 -0
  339. package/rules/typescript/patterns.rule.md +85 -0
  340. package/rules/typescript/security/SKILL.md +59 -0
  341. package/rules/typescript/security/references/REFERENCE.md +113 -0
  342. package/rules/typescript/tooling/SKILL.md +52 -0
  343. package/rules/typescript/tooling/references/REFERENCE.md +110 -0
  344. package/skills/learn/SKILL.md +476 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngxtm/devkit",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "Per-project AI skills with smart tech detection - lightweight and context-optimized",
5
5
  "main": "cli/index.js",
6
6
  "bin": {
@@ -20,6 +20,7 @@
20
20
  "merged-commands/",
21
21
  "templates/",
22
22
  "skills/",
23
+ "rules/",
23
24
  "scripts/merge-commands.js",
24
25
  "scripts/organize-rules.js",
25
26
  "scripts/generate-index.js",
@@ -0,0 +1,141 @@
1
+ # Agent Skills Registry
2
+
3
+ This directory contains the source of truth for all AI agent skills. Skills are organized by **Category** (Language or Framework) and then by **Domain**.
4
+
5
+ ## 📂 Structure
6
+
7
+ Each skill must follow the standard directory structure:
8
+ `skills/{category}/{skill-name}/SKILL.md`
9
+
10
+ ## 🛠 Active Categories
11
+
12
+ ### 🎯 Flutter (Framework)
13
+
14
+ High-density standards for modern Flutter development.
15
+
16
+ - [**Layer-based Clean Architecture**](flutter/layer-based-clean-architecture/SKILL.md) (P0) - Dependency flow & modularity.
17
+ - [**BLoC State Management**](flutter/bloc-state-management/SKILL.md) (P0) - Predictable state flows.
18
+ - [**Security**](flutter/security/SKILL.md) (P0) - OWASP & data safety.
19
+ - [**Feature-based Clean Architecture**](flutter/feature-based-clean-architecture/SKILL.md) (P1) - Scalable directory structures.
20
+ - [**Idiomatic Flutter**](flutter/idiomatic-flutter/SKILL.md) (P1) - Modern layout & composition.
21
+ - [**Performance**](flutter/performance/SKILL.md) (P1) - 60fps & memory optimization.
22
+ - [**Widgets**](flutter/widgets/SKILL.md) (P1) - Reusable components.
23
+ - [**Error Handling**](flutter/error-handling/SKILL.md) (P1) - Functional error handling.
24
+ - [**Retrofit Networking**](flutter/retrofit-networking/SKILL.md) (P1) - API client standards.
25
+ - [**Dependency Injection**](flutter/dependency-injection/SKILL.md) (P1) - GetIt & Provider patterns.
26
+ - [**CI/CD**](flutter/cicd/SKILL.md) (P1) - GitHub Actions, Fastlane, Automation.
27
+ - [**Testing**](flutter/testing/SKILL.md) (P1) - Unit, Widget & Integration Strategies.
28
+ - [**AutoRoute Navigation**](flutter/auto-route-navigation/SKILL.md) (P2) - Type-safe routing.
29
+ - [**GoRouter Navigation**](flutter/go-router-navigation/SKILL.md) (P2) - URI-based routing.
30
+
31
+ ### 🔷 Dart (Language)
32
+
33
+ Core language idioms and patterns.
34
+
35
+ - [**Language Patterns**](dart/language/SKILL.md) (P0) - Records, Patterns, Sealed classes.
36
+ - [**Best Practices**](dart/best-practices/SKILL.md) (P1) - Scoping, Imports, Config.
37
+ - [**Tooling**](dart/tooling/SKILL.md) (P1) - Linting, Formatting, Analysis.
38
+
39
+ ### 🔷 TypeScript (Language)
40
+
41
+ Modern TypeScript standards for type-safe development.
42
+
43
+ - [**Language Patterns**](typescript/language/SKILL.md) (P0) - Types, Generics, Type Guards.
44
+ - [**Security**](typescript/security/SKILL.md) (P0) - Input Validation, Auth, Secrets.
45
+ - [**Best Practices**](typescript/best-practices/SKILL.md) (P1) - Naming, Modules, Conventions.
46
+ - [**Tooling**](typescript/tooling/SKILL.md) (P1) - ESLint, Testing, Build Tools.
47
+
48
+ ### 🟨 JavaScript (Language)
49
+
50
+ Modern JavaScript (ES2022+) patterns.
51
+
52
+ - [**Language Patterns**](javascript/language/SKILL.md) (P0) - Modern Syntax, Async/Await.
53
+ - [**Best Practices**](javascript/best-practices/SKILL.md) (P1) - Conventions, Error Handling.
54
+ - [**Tooling**](javascript/tooling/SKILL.md) (P1) - ESLint, Jest, Build Tools.
55
+
56
+ ### ⚛️ React (Framework)
57
+
58
+ Modern React development patterns.
59
+
60
+ - [**Component Patterns**](react/component-patterns/SKILL.md) (P0) - Function Components, Composition.
61
+ - [**State Management**](react/state-management/SKILL.md) (P0) - useState, Context, Zustand.
62
+ - [**TypeScript**](react/typescript/SKILL.md) (P0) - React-specific Types.
63
+ - [**Security**](react/security/SKILL.md) (P0) - XSS Prevention, Auth Patterns.
64
+ - [**Hooks**](react/hooks/SKILL.md) (P1) - Custom Hooks, Best Practices.
65
+ - [**Performance**](react/performance/SKILL.md) (P1) - Memoization, Code Splitting.
66
+ - [**Tooling**](react/tooling/SKILL.md) (P1) - Debugging & Profiling.
67
+ - [**Testing**](react/testing/SKILL.md) (P2) - React Testing Library, Jest.
68
+
69
+ ### 🦁 NestJS (Framework)
70
+
71
+ Enterprise-grade Node.js backend development.
72
+
73
+ - [**Architecture**](nestjs/architecture/SKILL.md) (P0) - Modules, DI, Scalability.
74
+ - [**Controllers & Services**](nestjs/controllers-services/SKILL.md) (P0) - Layer separation standards.
75
+ - [**Database**](nestjs/database/SKILL.md) (P0) - TypeORM, Prisma, Mongoose patterns.
76
+ - [**Security**](nestjs/security/SKILL.md) (P0) - Auth, Guards, Headers.
77
+ - [**Configuration**](nestjs/configuration/SKILL.md) (P1) - Environment management.
78
+ - [**Error Handling**](nestjs/error-handling/SKILL.md) (P1) - Global filters.
79
+ - [**Performance**](nestjs/performance/SKILL.md) (P1) - Fastify, Caching.
80
+ - [**Testing**](nestjs/testing/SKILL.md) (P2) - Unit & E2E strategies.
81
+
82
+ ### ▲ Next.js (Framework)
83
+
84
+ Modern fullstack React framework standards (App Router).
85
+
86
+ - [**App Router**](nextjs/app-router/SKILL.md) (P0) - Routing conventions, Layouts, Loading.
87
+ - [**Server Components**](nextjs/server-components/SKILL.md) (P0) - RSC patterns, "use client" boundaries.
88
+ - [**Rendering**](nextjs/rendering/SKILL.md) (P0) - SSG, SSR, PPR, Streaming.
89
+ - [**Data Fetching**](nextjs/data-fetching/SKILL.md) (P0) - Extended fetch, Caching control.
90
+ - [**Authentication**](nextjs/authentication/SKILL.md) (P0) - Auth.js / Middleware patterns.
91
+ - [**Data Access Layer**](nextjs/data-access-layer/SKILL.md) (P1) - DAL patterns & DTOs.
92
+ - [**Caching**](nextjs/caching/SKILL.md) (P1) - Request & Data caching layers.
93
+ - [**Styling**](nextjs/styling/SKILL.md) (P1) - Tailwind, Fonts, CSS-in-JS constraints.
94
+ - [**Optimization**](nextjs/optimization/SKILL.md) (P1) - Images, Scripts, Core Web Vitals.
95
+ - [**Server Actions**](nextjs/server-actions/SKILL.md) (P1) - Mutations & Forms.
96
+ - [**Internationalization**](nextjs/internationalization/SKILL.md) (P2) - i18n routing.
97
+ - [**Architecture**](nextjs/architecture/SKILL.md) (P2) - Feature-Sliced Design (FSD).
98
+ - [**State Management**](nextjs/state-management/SKILL.md) (P2) - URL-state, avoiding global stores.
99
+
100
+ ### ☕ Java (Language & Frameworks)
101
+
102
+ Modern Java development with Spring Boot, Quarkus, and Micronaut.
103
+
104
+ - [**Core Language**](java/java-core-language/SKILL.md) (P0) - Records, Sealed Classes, Pattern Matching.
105
+ - [**Collections & Streams**](java/java-collections-streams/SKILL.md) (P0) - Stream API, Collectors, Optional.
106
+ - [**Concurrency**](java/java-concurrency/SKILL.md) (P0) - Executors, CompletableFuture, Virtual Threads.
107
+ - [**Project Structure**](java/java-project-structure/SKILL.md) (P0) - Maven/Gradle layout, Modules.
108
+ - [**Spring Boot Architecture**](java/spring-boot-architecture/SKILL.md) (P0) - Auto-configuration, Profiles.
109
+ - [**Spring Boot Web**](java/spring-boot-web/SKILL.md) (P0) - REST Controllers, Validation.
110
+ - [**Spring Security**](java/spring-security/SKILL.md) (P0) - JWT, OAuth2, Method Security.
111
+ - [**Spring Data JPA**](java/spring-data-jpa/SKILL.md) (P0) - Entities, Repositories, Transactions.
112
+ - [**Spring Batch**](java/spring-batch/SKILL.md) (P1) - Job Configuration, Chunk Processing.
113
+ - [**Spring Cloud**](java/spring-cloud/SKILL.md) (P1) - Service Discovery, Circuit Breakers.
114
+ - [**Quarkus Core**](java/quarkus-core/SKILL.md) (P1) - CDI, Configuration, Dev Mode.
115
+ - [**Quarkus Reactive**](java/quarkus-reactive/SKILL.md) (P1) - Mutiny, Reactive Routes.
116
+ - [**Micronaut Core**](java/micronaut-core/SKILL.md) (P1) - Compile-time DI, Configuration.
117
+ - [**Micronaut Reactive**](java/micronaut-reactive/SKILL.md) (P1) - Reactive Types, HTTP Clients.
118
+ - [**GraalVM Native**](java/graalvm-native/SKILL.md) (P1) - Native Image, Reflection Config.
119
+ - [**Maven Build**](java/build-maven/SKILL.md) (P2) - POM, Dependency Management.
120
+ - [**Gradle Build**](java/build-gradle/SKILL.md) (P2) - Kotlin DSL, Tasks.
121
+ - [**Testing (JUnit & Mockito)**](java/testing-junit-mockito/SKILL.md) (P2) - JUnit 5, Test Slices.
122
+
123
+ ### 🚀 Coming Soon
124
+
125
+ - **Angular** (Framework)
126
+ - **Kotlin** (Language)
127
+
128
+ ---
129
+
130
+ ## ✍️ Contribution Guide
131
+
132
+ To add or update a skill:
133
+
134
+ 1. **Format**: Ensure the `SKILL.md` uses the high-density format (YAML frontmatter + concise Markdown).
135
+ 2. **Progressive Disclosure**: Move large code samples or templates to `references/REFERENCE.md` inside the skill folder. This keeps the primary context small and token-efficient.
136
+ 3. **Naming**: Category folders must be lowercase. Skill folders use `kebab-case`.
137
+ 4. **Discovery**: Ensure the `triggers` in the YAML frontmatter are accurate for the AI agent to pick it up.
138
+ 5. **Priority**:
139
+ - **P0**: Foundational (Architecture, Types, Security).
140
+ - **P1**: Operational (Performance, Idioms, UI).
141
+ - **P2**: Maintenance (Testing, Tooling, Docs).
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: Dart Best Practices
3
+ description: General purity standards for Dart development.
4
+ metadata:
5
+ labels: [dart, clean-code]
6
+ triggers:
7
+ files: ['**/*.dart']
8
+ keywords: [import, final, const, var, global]
9
+ ---
10
+
11
+ # Dart Best Practices (P1)
12
+
13
+ - **Scoping**:
14
+ - No global variables.
15
+ - Private globals (if required) must start with `_`.
16
+ - **Immutability**: Use `const` > `final` > `var`.
17
+ - **Config**: Use `--dart-define` for secrets. Never hardcode API keys.
18
+ - **Naming**: Follow [effective-dart](https://dart.dev/guides/language/effective-dart) (PascalCase classes, camelCase members).
19
+
20
+ ```dart
21
+ import 'models/user.dart'; // Good
22
+ import 'package:app/models/user.dart'; // Avoid local absolute
23
+ ```
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: Dart Language Patterns
3
+ description: Modern Dart standards (3.x+) including null safety and patterns.
4
+ metadata:
5
+ labels: [dart, language, idioms]
6
+ triggers:
7
+ files: ['**/*.dart']
8
+ keywords: [sealed, record, switch, pattern, extension, final, late, async, await]
9
+ ---
10
+
11
+ # Dart Language Patterns
12
+
13
+ ## **Priority: P0 (CRITICAL)**
14
+
15
+ Modern Dart standards for safety, performance, and readability.
16
+
17
+ ## Implementation Guidelines
18
+
19
+ - **Null Safety**: Avoid `!`. Use `?.`, `??`, or short-circuiting. Use `late` only if necessary.
20
+ - **Immutability**: Use `final` for all variables. Use `@freezed` for data classes.
21
+ - **Pattern Matching (3.x)**: Use `switch (value)` with patterns and destructuring.
22
+ - **Records**: Use Records (e.g., `(String, int)`) for returning multiple values.
23
+ - **Sealed Classes**: Use `sealed class` for exhaustive state handling in domain logic.
24
+ - **Extensions**: Use `extension` to add utility methods to third-party types.
25
+ - **Wildcards (3.7+)**: Use `_` for unused variables in declarations and patterns.
26
+ - **Tear-offs**: Prefer using tear-offs (e.g., `list.forEach(print)`) over anonymous lambdas (e.g., `list.forEach((e) => print(e))`).
27
+ - **Asynchrony**: Prefer `async/await` over raw `Future.then`. Use `unawaited` for fire-and-forget logic if necessary.
28
+ - **Collections**: Use `collection-if`, `collection-for`, and spread operators `...`.
29
+
30
+ ## Anti-Patterns
31
+
32
+ - **No ! Operator**: Do not use the bang operator `!` unless you can prove the value is non-null via `if` or `assert`.
33
+ - **No var for members**: Do not use `var` for class members; use `final` or explicit types.
34
+ - **No logic in constructors**: Do not perform complex calculations or async work inside constructors.
35
+
36
+ ## Code
37
+
38
+ ```dart
39
+ // Sealed class and Switch expression
40
+ sealed class Result {}
41
+ class Success extends Result { final String data; Success(this.data); }
42
+ class Failure extends Result {}
43
+
44
+ String message(Result r) => switch (r) {
45
+ Success(data: var d) => "Got $d",
46
+ Failure() => "Error",
47
+ };
48
+ ```
49
+
50
+ ## Related Topics
51
+
52
+ feature-based-clean-architecture | tooling
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: Dart Tooling & CI
3
+ description: Standards for analysis, linting, formatting, and automation.
4
+ metadata:
5
+ labels: [tooling, linting, automation]
6
+ triggers:
7
+ files: ['analysis_options.yaml', 'pubspec.yaml', 'build.yaml']
8
+ keywords: [analysis_options, lints, format, build_runner, cider, husky]
9
+ ---
10
+
11
+ # Tooling & CI
12
+
13
+ ## **Priority: P1 (HIGH)**
14
+
15
+ Standards for code quality, formatting, and generation.
16
+
17
+ ## Implementation Guidelines
18
+
19
+ - **Linter**: Use `analysis_options.yaml`. Enforce `always_use_package_imports` and `require_trailing_commas`.
20
+ - **Formatting**: Use `dart format . --line-length 80`. Run on every commit.
21
+ - **DCM**: Use `dart_code_metrics` for complexity checks (Max cyclomatic complexity: 15).
22
+ - **Build Runner**: Always use `--delete-conflicting-outputs` with code generation.
23
+ - **CI Pipeline**: All PRs MUST pass `analyze`, `format`, and `test` steps.
24
+ - **Imports**: Group imports: `dart:`, `package:`, then relative.
25
+ - **Documentation**: Use `///` for public APIs. Link symbols using `[Class]`.
26
+
27
+ ## Code
28
+
29
+ ```yaml
30
+ # analysis_options.yaml
31
+ analyzer:
32
+ errors:
33
+ todo: ignore
34
+ missing_required_param: error
35
+ linter:
36
+ rules:
37
+ - prefer_single_quotes
38
+ - unawaited_futures
39
+ ```
40
+
41
+ ## Related Topics
42
+
43
+ language | testing
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: ASP.NET Core Web API
3
+ description: Modern ASP.NET Core patterns for building RESTful APIs.
4
+ metadata:
5
+ labels: [aspnet, webapi, rest, minimal-api]
6
+ triggers:
7
+ files: ['**/*.cs', 'Program.cs']
8
+ keywords: [WebApplication, MapGet, MapPost, Controller, ApiController]
9
+ ---
10
+
11
+ # ASP.NET Core Web API
12
+
13
+ ## **Priority: P1 (OPERATIONAL)**
14
+
15
+ Modern ASP.NET Core patterns for building RESTful APIs.
16
+
17
+ ## Implementation Guidelines
18
+
19
+ - **Minimal APIs**: Use for simple endpoints. `app.MapGet()`, route groups, endpoint filters.
20
+ - **Controllers**: Use `[ApiController]` for automatic model validation and binding.
21
+ - **Middleware**: Order matters. Custom middleware with `app.Use()`.
22
+ - **Filters**: Action filters for cross-cutting concerns. Exception filters for error handling.
23
+ - **Validation**: FluentValidation or DataAnnotations. Return `ProblemDetails` on errors.
24
+ - **Versioning**: URL-based (`/api/v1/`) or header-based versioning.
25
+ - **OpenAPI**: Always configure Swagger for API documentation.
26
+ - **Response Types**: Use `TypedResults` for compile-time safety.
27
+
28
+ ## Anti-Patterns
29
+
30
+ - **No `HttpClient` without `IHttpClientFactory`**: Socket exhaustion risk.
31
+ - **No blocking async**: Never `.Result` or `.Wait()` in controllers.
32
+ - **No business logic in controllers**: Controllers should only orchestrate.
33
+ - **No returning `Task` without `async`**: Use `async` keyword or return directly.
34
+
35
+ ## Code
36
+
37
+ ```csharp
38
+ // Minimal API with route groups
39
+ var app = WebApplication.CreateBuilder(args).Build();
40
+
41
+ var users = app.MapGroup("/api/users")
42
+ .WithTags("Users")
43
+ .RequireAuthorization();
44
+
45
+ users.MapGet("/", async (IUserService service) =>
46
+ TypedResults.Ok(await service.GetAllAsync()));
47
+
48
+ users.MapGet("/{id:int}", async (int id, IUserService service) =>
49
+ await service.GetByIdAsync(id) is { } user
50
+ ? TypedResults.Ok(user)
51
+ : TypedResults.NotFound());
52
+
53
+ users.MapPost("/", async (CreateUserDto dto, IUserService service) =>
54
+ {
55
+ var user = await service.CreateAsync(dto);
56
+ return TypedResults.Created($"/api/users/{user.Id}", user);
57
+ }).AddEndpointFilter<ValidationFilter<CreateUserDto>>();
58
+
59
+ // Controller with proper patterns
60
+ [ApiController]
61
+ [Route("api/[controller]")]
62
+ [Produces("application/json")]
63
+ public class OrdersController(IOrderService orderService) : ControllerBase
64
+ {
65
+ [HttpGet("{id:int}")]
66
+ [ProducesResponseType<OrderDto>(StatusCodes.Status200OK)]
67
+ [ProducesResponseType(StatusCodes.Status404NotFound)]
68
+ public async Task<IActionResult> GetOrder(int id, CancellationToken ct)
69
+ {
70
+ var order = await orderService.GetByIdAsync(id, ct);
71
+ return order is null ? NotFound() : Ok(order);
72
+ }
73
+
74
+ [HttpPost]
75
+ [ProducesResponseType<OrderDto>(StatusCodes.Status201Created)]
76
+ [ProducesResponseType<ValidationProblemDetails>(StatusCodes.Status400BadRequest)]
77
+ public async Task<IActionResult> CreateOrder(CreateOrderDto dto, CancellationToken ct)
78
+ {
79
+ var order = await orderService.CreateAsync(dto, ct);
80
+ return CreatedAtAction(nameof(GetOrder), new { id = order.Id }, order);
81
+ }
82
+ }
83
+ ```
84
+
85
+ ## Reference & Examples
86
+
87
+ For middleware, exception handling, and HttpClientFactory:
88
+ See [references/REFERENCE.md](references/REFERENCE.md).
89
+
90
+ ## Related Topics
91
+
92
+ security | razor-pages | blazor