@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.
- package/package.json +2 -1
- package/rules/README.md +141 -0
- package/rules/dart/best-practices/SKILL.md +23 -0
- package/rules/dart/language/SKILL.md +52 -0
- package/rules/dart/tooling/SKILL.md +43 -0
- package/rules/dotnet/aspnet-core/SKILL.md +92 -0
- package/rules/dotnet/aspnet-core/references/REFERENCE.md +335 -0
- package/rules/dotnet/best-practices/SKILL.md +101 -0
- package/rules/dotnet/best-practices/references/REFERENCE.md +256 -0
- package/rules/dotnet/blazor/SKILL.md +146 -0
- package/rules/dotnet/blazor/references/REFERENCE.md +392 -0
- package/rules/dotnet/language/SKILL.md +82 -0
- package/rules/dotnet/language/references/REFERENCE.md +222 -0
- package/rules/dotnet/patterns.rule.md +388 -0
- package/rules/dotnet/razor-pages/SKILL.md +124 -0
- package/rules/dotnet/razor-pages/references/REFERENCE.md +321 -0
- package/rules/dotnet/security/SKILL.md +89 -0
- package/rules/dotnet/security/references/REFERENCE.md +295 -0
- package/rules/dotnet/tooling/SKILL.md +92 -0
- package/rules/dotnet/tooling/references/REFERENCE.md +300 -0
- package/rules/flutter/auto-route-navigation/SKILL.md +43 -0
- package/rules/flutter/auto-route-navigation/references/REFERENCE.md +19 -0
- package/rules/flutter/auto-route-navigation/references/router-config.md +62 -0
- package/rules/flutter/bloc-state-management/SKILL.md +64 -0
- package/rules/flutter/bloc-state-management/references/REFERENCE.md +20 -0
- package/rules/flutter/bloc-state-management/references/auth-bloc-example.md +52 -0
- package/rules/flutter/bloc-state-management/references/equatable-usage.md +56 -0
- package/rules/flutter/bloc-state-management/references/property-based-state.md +68 -0
- package/rules/flutter/bloc.rule.md +76 -0
- package/rules/flutter/cicd/SKILL.md +48 -0
- package/rules/flutter/cicd/references/advanced-workflow.md +66 -0
- package/rules/flutter/cicd/references/fastlane.md +139 -0
- package/rules/flutter/cicd/references/github-actions.md +59 -0
- package/rules/flutter/dependency-injection/SKILL.md +42 -0
- package/rules/flutter/dependency-injection/references/REFERENCE.md +15 -0
- package/rules/flutter/dependency-injection/references/modules.md +37 -0
- package/rules/flutter/error-handling/SKILL.md +32 -0
- package/rules/flutter/error-handling/references/REFERENCE.md +19 -0
- package/rules/flutter/error-handling/references/error-mapping.md +31 -0
- package/rules/flutter/feature-based-clean-architecture/SKILL.md +46 -0
- package/rules/flutter/feature-based-clean-architecture/references/REFERENCE.md +14 -0
- package/rules/flutter/feature-based-clean-architecture/references/folder-structure.md +36 -0
- package/rules/flutter/getx-navigation/SKILL.md +70 -0
- package/rules/flutter/getx-navigation/references/app-pages.md +40 -0
- package/rules/flutter/getx-navigation/references/middleware-example.md +29 -0
- package/rules/flutter/getx-state-management/SKILL.md +76 -0
- package/rules/flutter/getx-state-management/references/binding-example.md +32 -0
- package/rules/flutter/getx-state-management/references/reactive-vs-simple.md +39 -0
- package/rules/flutter/go-router-navigation/SKILL.md +57 -0
- package/rules/flutter/idiomatic-flutter/SKILL.md +20 -0
- package/rules/flutter/layer-based-clean-architecture/SKILL.md +50 -0
- package/rules/flutter/layer-based-clean-architecture/references/REFERENCE.md +60 -0
- package/rules/flutter/layer-based-clean-architecture/references/repository-mapping.md +50 -0
- package/rules/flutter/localization/SKILL.md +50 -0
- package/rules/flutter/localization/references/REFERENCE.md +48 -0
- package/rules/flutter/localization/references/sheet-loader.md +33 -0
- package/rules/flutter/navigator-v1-navigation/SKILL.md +71 -0
- package/rules/flutter/navigator-v1-navigation/references/on-generate-route.md +48 -0
- package/rules/flutter/performance/SKILL.md +24 -0
- package/rules/flutter/retrofit-networking/SKILL.md +51 -0
- package/rules/flutter/retrofit-networking/references/REFERENCE.md +19 -0
- package/rules/flutter/retrofit-networking/references/token-refresh.md +40 -0
- package/rules/flutter/riverpod-state-management/SKILL.md +53 -0
- package/rules/flutter/riverpod-state-management/references/architecture.md +124 -0
- package/rules/flutter/riverpod-state-management/references/best-practices.md +89 -0
- package/rules/flutter/riverpod-state-management/references/testing.md +73 -0
- package/rules/flutter/riverpod.rule.md +78 -0
- package/rules/flutter/security/SKILL.md +33 -0
- package/rules/flutter/security/references/REFERENCE.md +15 -0
- package/rules/flutter/security/references/network-security.md +28 -0
- package/rules/flutter/testing/SKILL.md +44 -0
- package/rules/flutter/testing/references/REFERENCE.md +21 -0
- package/rules/flutter/testing/references/bloc-testing.md +38 -0
- package/rules/flutter/testing/references/integration-testing.md +128 -0
- package/rules/flutter/testing/references/robot-pattern.md +82 -0
- package/rules/flutter/testing/references/unit-testing.md +130 -0
- package/rules/flutter/testing/references/widget-testing.md +120 -0
- package/rules/flutter/widgets/SKILL.md +37 -0
- package/rules/golang/chi-router/SKILL.md +219 -0
- package/rules/golang/chi-router/references/REFERENCE.md +13 -0
- package/rules/golang/chi-router/references/routing-patterns.md +205 -0
- package/rules/golang/cobra-cli/SKILL.md +227 -0
- package/rules/golang/cobra-cli/references/REFERENCE.md +13 -0
- package/rules/golang/cobra-cli/references/command-patterns.md +224 -0
- package/rules/golang/core/SKILL.md +210 -0
- package/rules/golang/core/references/REFERENCE.md +14 -0
- package/rules/golang/core/references/concurrency-patterns.md +114 -0
- package/rules/golang/core/references/error-handling.md +87 -0
- package/rules/golang/echo-framework/SKILL.md +215 -0
- package/rules/golang/echo-framework/references/REFERENCE.md +14 -0
- package/rules/golang/echo-framework/references/middleware-patterns.md +141 -0
- package/rules/golang/echo-framework/references/routing-patterns.md +140 -0
- package/rules/golang/ent-orm/SKILL.md +239 -0
- package/rules/golang/ent-orm/references/REFERENCE.md +13 -0
- package/rules/golang/ent-orm/references/schema-patterns.md +255 -0
- package/rules/golang/fiber-framework/SKILL.md +196 -0
- package/rules/golang/fiber-framework/references/REFERENCE.md +13 -0
- package/rules/golang/fiber-framework/references/routing-patterns.md +191 -0
- package/rules/golang/gin-framework/SKILL.md +205 -0
- package/rules/golang/gin-framework/references/REFERENCE.md +14 -0
- package/rules/golang/gin-framework/references/middleware-patterns.md +119 -0
- package/rules/golang/gorm-orm/SKILL.md +196 -0
- package/rules/golang/gorm-orm/references/REFERENCE.md +14 -0
- package/rules/golang/gorm-orm/references/model-definitions.md +167 -0
- package/rules/golang/gorm-orm/references/query-patterns.md +161 -0
- package/rules/golang/grpc/SKILL.md +231 -0
- package/rules/golang/grpc/references/REFERENCE.md +13 -0
- package/rules/golang/grpc/references/service-patterns.md +276 -0
- package/rules/golang/testify/SKILL.md +239 -0
- package/rules/golang/testify/references/REFERENCE.md +13 -0
- package/rules/golang/testify/references/assert-patterns.md +170 -0
- package/rules/golang/validator/SKILL.md +234 -0
- package/rules/golang/validator/references/REFERENCE.md +13 -0
- package/rules/golang/validator/references/validation-tags.md +211 -0
- package/rules/golang/viper-config/SKILL.md +244 -0
- package/rules/golang/viper-config/references/REFERENCE.md +13 -0
- package/rules/golang/viper-config/references/config-loading.md +181 -0
- package/rules/golang/wire-di/SKILL.md +243 -0
- package/rules/golang/wire-di/references/REFERENCE.md +13 -0
- package/rules/golang/wire-di/references/provider-patterns.md +193 -0
- package/rules/golang/zap-logging/SKILL.md +203 -0
- package/rules/golang/zap-logging/references/REFERENCE.md +13 -0
- package/rules/golang/zap-logging/references/logger-config.md +165 -0
- package/rules/java/build-gradle/SKILL.md +92 -0
- package/rules/java/build-gradle/references/REFERENCE.md +14 -0
- package/rules/java/build-gradle/references/kotlin-dsl.md +118 -0
- package/rules/java/build-gradle/references/task-configuration.md +132 -0
- package/rules/java/build-maven/SKILL.md +86 -0
- package/rules/java/build-maven/references/REFERENCE.md +14 -0
- package/rules/java/build-maven/references/dependency-management.md +111 -0
- package/rules/java/build-maven/references/lifecycle-phases.md +114 -0
- package/rules/java/graalvm-native/SKILL.md +105 -0
- package/rules/java/graalvm-native/references/REFERENCE.md +12 -0
- package/rules/java/java-collections-streams/SKILL.md +148 -0
- package/rules/java/java-collections-streams/references/REFERENCE.md +15 -0
- package/rules/java/java-collections-streams/references/collectors-patterns.md +178 -0
- package/rules/java/java-collections-streams/references/stream-pipelines.md +165 -0
- package/rules/java/java-concurrency/SKILL.md +187 -0
- package/rules/java/java-concurrency/references/REFERENCE.md +17 -0
- package/rules/java/java-concurrency/references/completable-future.md +165 -0
- package/rules/java/java-concurrency/references/executor-patterns.md +176 -0
- package/rules/java/java-concurrency/references/virtual-threads.md +190 -0
- package/rules/java/java-core-language/SKILL.md +121 -0
- package/rules/java/java-core-language/references/REFERENCE.md +15 -0
- package/rules/java/java-core-language/references/jvm-memory-model.md +160 -0
- package/rules/java/java-core-language/references/modern-java-features.md +168 -0
- package/rules/java/java-project-structure/SKILL.md +195 -0
- package/rules/java/java-project-structure/references/REFERENCE.md +15 -0
- package/rules/java/java-project-structure/references/maven-project-layout.md +199 -0
- package/rules/java/java-project-structure/references/module-system.md +159 -0
- package/rules/java/micronaut-core/SKILL.md +99 -0
- package/rules/java/micronaut-core/references/REFERENCE.md +12 -0
- package/rules/java/micronaut-reactive/SKILL.md +68 -0
- package/rules/java/micronaut-reactive/references/REFERENCE.md +12 -0
- package/rules/java/quarkus-core/SKILL.md +85 -0
- package/rules/java/quarkus-core/references/REFERENCE.md +12 -0
- package/rules/java/quarkus-reactive/SKILL.md +67 -0
- package/rules/java/quarkus-reactive/references/REFERENCE.md +12 -0
- package/rules/java/spring-batch/SKILL.md +102 -0
- package/rules/java/spring-batch/references/REFERENCE.md +12 -0
- package/rules/java/spring-boot-architecture/SKILL.md +206 -0
- package/rules/java/spring-boot-architecture/references/REFERENCE.md +15 -0
- package/rules/java/spring-boot-architecture/references/auto-configuration.md +158 -0
- package/rules/java/spring-boot-architecture/references/configuration-properties.md +202 -0
- package/rules/java/spring-boot-web/SKILL.md +217 -0
- package/rules/java/spring-boot-web/references/REFERENCE.md +17 -0
- package/rules/java/spring-cloud/SKILL.md +109 -0
- package/rules/java/spring-cloud/references/REFERENCE.md +13 -0
- package/rules/java/spring-data-jpa/SKILL.md +241 -0
- package/rules/java/spring-data-jpa/references/REFERENCE.md +16 -0
- package/rules/java/spring-security/SKILL.md +161 -0
- package/rules/java/spring-security/references/REFERENCE.md +16 -0
- package/rules/java/spring-security/references/jwt-auth-flow.md +213 -0
- package/rules/java/testing-junit-mockito/SKILL.md +135 -0
- package/rules/java/testing-junit-mockito/references/REFERENCE.md +15 -0
- package/rules/java/testing-junit-mockito/references/junit5-patterns.md +159 -0
- package/rules/java/testing-junit-mockito/references/mockito-patterns.md +148 -0
- package/rules/java/testing-junit-mockito/references/spring-boot-testing.md +152 -0
- package/rules/javascript/best-practices/SKILL.md +64 -0
- package/rules/javascript/best-practices/references/REFERENCE.md +91 -0
- package/rules/javascript/language/SKILL.md +71 -0
- package/rules/javascript/language/references/REFERENCE.md +106 -0
- package/rules/javascript/tooling/SKILL.md +60 -0
- package/rules/javascript/tooling/references/REFERENCE.md +107 -0
- package/rules/metadata.json +54 -0
- package/rules/nestjs/api-standards/SKILL.md +47 -0
- package/rules/nestjs/api-standards/references/pagination-wrapper.md +87 -0
- package/rules/nestjs/architecture/SKILL.md +68 -0
- package/rules/nestjs/architecture/references/dynamic-module.md +53 -0
- package/rules/nestjs/caching/SKILL.md +51 -0
- package/rules/nestjs/caching/references/REFERENCE.md +13 -0
- package/rules/nestjs/caching/references/cache-patterns.md +183 -0
- package/rules/nestjs/configuration/SKILL.md +41 -0
- package/rules/nestjs/configuration/references/REFERENCE.md +13 -0
- package/rules/nestjs/configuration/references/config-patterns.md +184 -0
- package/rules/nestjs/controllers-services/SKILL.md +63 -0
- package/rules/nestjs/controllers-services/references/REFERENCE.md +14 -0
- package/rules/nestjs/controllers-services/references/controller-patterns.md +119 -0
- package/rules/nestjs/controllers-services/references/service-patterns.md +129 -0
- package/rules/nestjs/database/SKILL.md +102 -0
- package/rules/nestjs/database/references/REFERENCE.md +14 -0
- package/rules/nestjs/database/references/typeorm-patterns.md +156 -0
- package/rules/nestjs/deployment/SKILL.md +36 -0
- package/rules/nestjs/deployment/references/REFERENCE.md +13 -0
- package/rules/nestjs/deployment/references/deployment-patterns.md +140 -0
- package/rules/nestjs/documentation/SKILL.md +64 -0
- package/rules/nestjs/documentation/references/REFERENCE.md +13 -0
- package/rules/nestjs/documentation/references/swagger-patterns.md +139 -0
- package/rules/nestjs/error-handling/SKILL.md +55 -0
- package/rules/nestjs/error-handling/references/REFERENCE.md +13 -0
- package/rules/nestjs/error-handling/references/exception-filters.md +152 -0
- package/rules/nestjs/file-uploads/SKILL.md +35 -0
- package/rules/nestjs/file-uploads/references/REFERENCE.md +13 -0
- package/rules/nestjs/file-uploads/references/upload-patterns.md +125 -0
- package/rules/nestjs/observability/SKILL.md +39 -0
- package/rules/nestjs/observability/references/REFERENCE.md +13 -0
- package/rules/nestjs/observability/references/logging-metrics.md +175 -0
- package/rules/nestjs/performance/SKILL.md +60 -0
- package/rules/nestjs/performance/references/REFERENCE.md +13 -0
- package/rules/nestjs/performance/references/performance-patterns.md +107 -0
- package/rules/nestjs/real-time/SKILL.md +45 -0
- package/rules/nestjs/real-time/references/REFERENCE.md +13 -0
- package/rules/nestjs/real-time/references/websocket-patterns.md +121 -0
- package/rules/nestjs/scheduling/SKILL.md +39 -0
- package/rules/nestjs/scheduling/references/REFERENCE.md +13 -0
- package/rules/nestjs/scheduling/references/scheduling-patterns.md +137 -0
- package/rules/nestjs/search/SKILL.md +41 -0
- package/rules/nestjs/search/references/REFERENCE.md +13 -0
- package/rules/nestjs/search/references/search-patterns.md +137 -0
- package/rules/nestjs/security/SKILL.md +87 -0
- package/rules/nestjs/security/references/REFERENCE.md +14 -0
- package/rules/nestjs/security/references/authentication.md +151 -0
- package/rules/nestjs/testing/SKILL.md +40 -0
- package/rules/nestjs/testing/references/REFERENCE.md +14 -0
- package/rules/nestjs/testing/references/unit-testing.md +179 -0
- package/rules/nestjs/transport/SKILL.md +45 -0
- package/rules/nestjs/transport/references/REFERENCE.md +13 -0
- package/rules/nestjs/transport/references/microservices-patterns.md +170 -0
- package/rules/nextjs/app-router/SKILL.md +46 -0
- package/rules/nextjs/app-router/references/REFERENCE.md +14 -0
- package/rules/nextjs/app-router/references/routing-patterns.md +182 -0
- package/rules/nextjs/architecture/SKILL.md +44 -0
- package/rules/nextjs/architecture/references/fsd-structure.md +77 -0
- package/rules/nextjs/authentication/SKILL.md +29 -0
- package/rules/nextjs/authentication/references/auth-implementation.md +73 -0
- package/rules/nextjs/caching/SKILL.md +66 -0
- package/rules/nextjs/caching/references/REFERENCE.md +13 -0
- package/rules/nextjs/caching/references/cache-strategies.md +168 -0
- package/rules/nextjs/data-access-layer/SKILL.md +33 -0
- package/rules/nextjs/data-access-layer/references/patterns.md +66 -0
- package/rules/nextjs/data-fetching/SKILL.md +59 -0
- package/rules/nextjs/data-fetching/references/REFERENCE.md +13 -0
- package/rules/nextjs/data-fetching/references/fetch-patterns.md +160 -0
- package/rules/nextjs/internationalization/SKILL.md +105 -0
- package/rules/nextjs/internationalization/references/REFERENCE.md +13 -0
- package/rules/nextjs/internationalization/references/i18n-patterns.md +180 -0
- package/rules/nextjs/optimization/SKILL.md +64 -0
- package/rules/nextjs/optimization/references/REFERENCE.md +13 -0
- package/rules/nextjs/optimization/references/optimization-patterns.md +190 -0
- package/rules/nextjs/rendering/SKILL.md +91 -0
- package/rules/nextjs/rendering/references/REFERENCE.md +13 -0
- package/rules/nextjs/rendering/references/rendering-modes.md +163 -0
- package/rules/nextjs/server-actions/SKILL.md +46 -0
- package/rules/nextjs/server-actions/references/REFERENCE.md +13 -0
- package/rules/nextjs/server-actions/references/action-patterns.md +188 -0
- package/rules/nextjs/server-components/SKILL.md +52 -0
- package/rules/nextjs/server-components/references/REFERENCE.md +13 -0
- package/rules/nextjs/server-components/references/component-patterns.md +175 -0
- package/rules/nextjs/state-management/SKILL.md +73 -0
- package/rules/nextjs/state-management/references/REFERENCE.md +13 -0
- package/rules/nextjs/state-management/references/state-patterns.md +218 -0
- package/rules/nextjs/styling/SKILL.md +31 -0
- package/rules/nextjs/styling/references/implementation.md +56 -0
- package/rules/react/component-patterns/SKILL.md +66 -0
- package/rules/react/component-patterns/references/REFERENCE.md +126 -0
- package/rules/react/hooks/SKILL.md +60 -0
- package/rules/react/hooks/references/REFERENCE.md +132 -0
- package/rules/react/hooks.rule.md +79 -0
- package/rules/react/performance/SKILL.md +69 -0
- package/rules/react/performance/references/REFERENCE.md +143 -0
- package/rules/react/security/SKILL.md +46 -0
- package/rules/react/security/references/REFERENCE.md +170 -0
- package/rules/react/state-management/SKILL.md +56 -0
- package/rules/react/state-management/references/REFERENCE.md +137 -0
- package/rules/react/testing/SKILL.md +45 -0
- package/rules/react/testing/references/REFERENCE.md +149 -0
- package/rules/react/tooling/SKILL.md +39 -0
- package/rules/react/typescript/SKILL.md +53 -0
- package/rules/rust/actix-web/SKILL.md +160 -0
- package/rules/rust/actix-web/references/REFERENCE.md +13 -0
- package/rules/rust/actix-web/references/handler-patterns.md +198 -0
- package/rules/rust/async-graphql/SKILL.md +228 -0
- package/rules/rust/async-graphql/references/REFERENCE.md +13 -0
- package/rules/rust/async-graphql/references/schema-patterns.md +215 -0
- package/rules/rust/axum/SKILL.md +161 -0
- package/rules/rust/axum/references/REFERENCE.md +14 -0
- package/rules/rust/axum/references/handler-patterns.md +97 -0
- package/rules/rust/bevy/SKILL.md +206 -0
- package/rules/rust/bevy/references/REFERENCE.md +13 -0
- package/rules/rust/bevy/references/ecs-patterns.md +226 -0
- package/rules/rust/clap/SKILL.md +217 -0
- package/rules/rust/clap/references/REFERENCE.md +13 -0
- package/rules/rust/clap/references/derive-patterns.md +205 -0
- package/rules/rust/core/SKILL.md +154 -0
- package/rules/rust/core/references/REFERENCE.md +14 -0
- package/rules/rust/core/references/error-handling.md +92 -0
- package/rules/rust/diesel-orm/SKILL.md +176 -0
- package/rules/rust/diesel-orm/references/REFERENCE.md +13 -0
- package/rules/rust/diesel-orm/references/schema-patterns.md +206 -0
- package/rules/rust/rocket/SKILL.md +182 -0
- package/rules/rust/rocket/references/REFERENCE.md +13 -0
- package/rules/rust/rocket/references/handler-patterns.md +209 -0
- package/rules/rust/sea-orm/SKILL.md +230 -0
- package/rules/rust/sea-orm/references/REFERENCE.md +13 -0
- package/rules/rust/sea-orm/references/entity-patterns.md +221 -0
- package/rules/rust/serde-serialization/SKILL.md +150 -0
- package/rules/rust/serde-serialization/references/REFERENCE.md +13 -0
- package/rules/rust/serde-serialization/references/serialization-patterns.md +199 -0
- package/rules/rust/sqlx-database/SKILL.md +140 -0
- package/rules/rust/sqlx-database/references/REFERENCE.md +13 -0
- package/rules/rust/sqlx-database/references/query-patterns.md +210 -0
- package/rules/rust/tauri/SKILL.md +180 -0
- package/rules/rust/tauri/references/REFERENCE.md +13 -0
- package/rules/rust/tauri/references/command-patterns.md +209 -0
- package/rules/rust/tokio-runtime/SKILL.md +167 -0
- package/rules/rust/tokio-runtime/references/REFERENCE.md +14 -0
- package/rules/rust/tokio-runtime/references/async-patterns.md +137 -0
- package/rules/rust/tokio-runtime/references/synchronization.md +152 -0
- package/rules/rust/tonic/SKILL.md +231 -0
- package/rules/rust/tonic/references/REFERENCE.md +13 -0
- package/rules/rust/tonic/references/service-patterns.md +213 -0
- package/rules/rust/tracing/SKILL.md +214 -0
- package/rules/rust/tracing/references/REFERENCE.md +13 -0
- package/rules/rust/tracing/references/instrumentation.md +187 -0
- package/rules/typescript/best-practices/SKILL.md +108 -0
- package/rules/typescript/best-practices/references/REFERENCE.md +68 -0
- package/rules/typescript/language/SKILL.md +72 -0
- package/rules/typescript/language/references/REFERENCE.md +67 -0
- package/rules/typescript/patterns.rule.md +85 -0
- package/rules/typescript/security/SKILL.md +59 -0
- package/rules/typescript/security/references/REFERENCE.md +113 -0
- package/rules/typescript/tooling/SKILL.md +52 -0
- package/rules/typescript/tooling/references/REFERENCE.md +110 -0
- 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.
|
|
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",
|
package/rules/README.md
ADDED
|
@@ -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
|