@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.
- package/.agent/build.yaml +178 -0
- package/.agent/config.yaml +235 -0
- package/.agent/core/ACTIVE_MEMORY.yaml +344 -0
- package/.agent/core/ARCH_REGISTRY.yaml +252 -0
- package/.agent/core/AUDIT_POLICY.md +68 -0
- package/.agent/core/BRANDING.yaml +185 -0
- package/.agent/core/CACHE.md +59 -0
- package/.agent/core/CHECKPOINT.yaml +153 -0
- package/.agent/core/CLEANUP_ENGINE.yaml +326 -0
- package/.agent/core/CODING_STYLES.yaml +346 -0
- package/.agent/core/COMMANDS.md +93 -0
- package/.agent/core/CONTEXT_INJECTOR.yaml +325 -0
- package/.agent/core/CONTEXT_LOADER.yaml +323 -0
- package/.agent/core/CONTEXT_OPTIMIZATION.yaml +286 -0
- package/.agent/core/CONTEXT_PRIORITY.yaml +357 -0
- package/.agent/core/CUSTOMIZE.md +138 -0
- package/.agent/core/DATA_SAFETY.md +92 -0
- package/.agent/core/FLOW_ENGINE.yaml +300 -0
- package/.agent/core/GRAPH_MEMORY.yaml +420 -0
- package/.agent/core/HSA.yaml +357 -0
- package/.agent/core/HYBRID_ROUTER.yaml +346 -0
- package/.agent/core/INTENT_DETECTION.yaml +384 -0
- package/.agent/core/LIBRARY_REGISTRY.yaml +401 -0
- package/.agent/core/MCP_TOOLS.yaml +414 -0
- package/.agent/core/MEMORY_CONSOLIDATION.yaml +352 -0
- package/.agent/core/MEMORY_ENGINE.yaml +353 -0
- package/.agent/core/MEMORY_PATHS.yaml +79 -0
- package/.agent/core/MEMORY_UTILS.yaml +212 -0
- package/.agent/core/PATTERNS.yaml +319 -0
- package/.agent/core/PERMISSIONS.md +100 -0
- package/.agent/core/README.md +91 -0
- package/.agent/core/REFLECTION_ENGINE.yaml +348 -0
- package/.agent/core/ROUTER.yaml +424 -0
- package/.agent/core/SCORING_FORMULA.yaml +103 -0
- package/.agent/core/SEMANTIC_ENGINE.yaml +162 -0
- package/.agent/core/SKILLS_FLOW.yaml +341 -0
- package/.agent/core/SKILL_SCHEMA.yaml +266 -0
- package/.agent/core/STATE_MACHINE.yaml +409 -0
- package/.agent/core/SUMMARIZATION_ENGINE.yaml +258 -0
- package/.agent/core/TEMPLATES.yaml +364 -0
- package/.agent/core/TOKEN_BUDGETS.yaml +157 -0
- package/.agent/core/TOKEN_LOADING.yaml +197 -0
- package/.agent/core/TOKEN_SUMMARY.yaml +121 -0
- package/.agent/core/VERSION.yaml +240 -0
- package/.agent/core/embeddings.json +2004 -0
- package/.agent/core/session_cache.json +50 -0
- package/.agent/i18n/README.md +30 -0
- package/.agent/i18n/en.yaml +302 -0
- package/.agent/i18n/vi.yaml +302 -0
- package/.agent/ide/README.md +47 -0
- package/.agent/ide/amazonq.json +35 -0
- package/.agent/ide/amp.json +35 -0
- package/.agent/ide/antigravity.json +47 -0
- package/.agent/ide/augment.json +35 -0
- package/.agent/ide/claude.json +42 -0
- package/.agent/ide/cline.json +34 -0
- package/.agent/ide/codex.json +37 -0
- package/.agent/ide/cody.json +35 -0
- package/.agent/ide/continue.json +35 -0
- package/.agent/ide/cursor.json +42 -0
- package/.agent/ide/gemini.json +46 -0
- package/.agent/ide/jetbrains.json +35 -0
- package/.agent/ide/kiro.json +35 -0
- package/.agent/ide/opencode.json +35 -0
- package/.agent/ide/roo.json +35 -0
- package/.agent/ide/tabnine.json +35 -0
- package/.agent/ide/trae.json +35 -0
- package/.agent/ide/vscode.json +34 -0
- package/.agent/ide/windsurf.json +56 -0
- package/.agent/ide/zed.json +36 -0
- package/.agent/manifest.yaml +416 -0
- package/.agent/memory/README.md +148 -0
- package/.agent/memory/active_memories.json +35 -0
- package/.agent/memory/archive/.gitkeep +0 -0
- package/.agent/memory/audit_summary.json +58 -0
- package/.agent/memory/cleanup_log.json +34 -0
- package/.agent/memory/consolidated.md +75 -0
- package/.agent/memory/core_memory/persona.json +30 -0
- package/.agent/memory/core_memory/project.json +25 -0
- package/.agent/memory/core_memory/rules.json +29 -0
- package/.agent/memory/core_memory/user.json +24 -0
- package/.agent/memory/decisions.md +40 -0
- package/.agent/memory/graph/knowledge_graph.json +12 -0
- package/.agent/memory/insights.md +52 -0
- package/.agent/memory/metrics.json +48 -0
- package/.agent/memory/patterns/errors.json +11 -0
- package/.agent/memory/patterns/successes.json +10 -0
- package/.agent/memory/session.md +64 -0
- package/.agent/memory/session_rules.json +19 -0
- package/.agent/memory/state.json +81 -0
- package/.agent/memory/vectors/README.md +129 -0
- package/.agent/personas/README.md +180 -0
- package/.agent/personas/architect.md +186 -0
- package/.agent/personas/auditor.md +222 -0
- package/.agent/personas/debugger.md +210 -0
- package/.agent/personas/developer.md +183 -0
- package/.agent/personas/devops.md +268 -0
- package/.agent/personas/documenter.md +262 -0
- package/.agent/personas/orchestrator.md +240 -0
- package/.agent/personas/persona.schema.yaml +209 -0
- package/.agent/personas/planner.md +171 -0
- package/.agent/personas/researcher.md +194 -0
- package/.agent/personas/security.md +212 -0
- package/.agent/personas/tester.md +247 -0
- package/.agent/rules/README.md +231 -0
- package/.agent/rules/SACRED_RULES.xml +142 -0
- package/.agent/rules/constitutional/tier-0-core.yaml +182 -0
- package/.agent/rules/constitutional/tier-1-safety.yaml +272 -0
- package/.agent/rules/constitutional/tier-2-execution.yaml +294 -0
- package/.agent/rules/data/build-systems.yaml +126 -0
- package/.agent/rules/data/quality-standards.json +59 -0
- package/.agent/rules/duplication-prevention.md +138 -0
- package/.agent/rules/incremental-changes.md +146 -0
- package/.agent/rules/modules/context-management.yaml +158 -0
- package/.agent/rules/modules/edit-verification.yaml +197 -0
- package/.agent/rules/modules/evidence.yaml +185 -0
- package/.agent/rules/modules/git-workflow.yaml +165 -0
- package/.agent/rules/modules/language.yaml +155 -0
- package/.agent/rules/modules/online-research.yaml +192 -0
- package/.agent/rules/modules/quality.yaml +185 -0
- package/.agent/rules/modules/reflection.yaml +209 -0
- package/.agent/rules/modules/stop-conditions.yaml +196 -0
- package/.agent/rules/modules/terminal-safety.yaml +229 -0
- package/.agent/rules/modules/versioning.yaml +97 -0
- package/.agent/rules/modules/yagni.yaml +167 -0
- package/.agent/rules/project-detection.md +317 -0
- package/.agent/rules/prompt-injection-guard.md +260 -0
- package/.agent/rules/shell-commands.md +210 -0
- package/.agent/rules/validation-framework.md +189 -0
- package/.agent/skills/DEVELOPMENT.yaml +226 -0
- package/.agent/skills/README.md +69 -0
- package/.agent/skills/_categories.yaml +145 -0
- package/.agent/skills/_router.yaml +232 -0
- package/.agent/skills/core/_index.yaml +12 -0
- package/.agent/skills/core/api-design/META.yaml +64 -0
- package/.agent/skills/core/api-design/SKILL.md +169 -0
- package/.agent/skills/core/api-design/data/api-versioning.yaml +217 -0
- package/.agent/skills/core/api-design/data/error-responses.yaml +135 -0
- package/.agent/skills/core/api-design/data/graphql-patterns.yaml +165 -0
- package/.agent/skills/core/api-design/data/grpc-patterns.yaml +165 -0
- package/.agent/skills/core/api-design/data/http-status-codes.yaml +176 -0
- package/.agent/skills/core/api-design/data/pagination.yaml +121 -0
- package/.agent/skills/core/api-design/data/rate-limiting.yaml +135 -0
- package/.agent/skills/core/api-design/data/rest-patterns.yaml +195 -0
- package/.agent/skills/core/api-design/data/test-apis.yaml +217 -0
- package/.agent/skills/core/authentication/META.yaml +73 -0
- package/.agent/skills/core/authentication/SKILL.md +166 -0
- package/.agent/skills/core/authentication/data/anti-patterns.yaml +135 -0
- package/.agent/skills/core/authentication/data/core-patterns.yaml +256 -0
- package/.agent/skills/core/authentication/data/jwt-patterns.yaml +255 -0
- package/.agent/skills/core/authentication/data/language-csharp.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-go.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-java.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-mobile.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-python.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-rust.yaml +215 -0
- package/.agent/skills/core/authentication/data/language-typescript.yaml +215 -0
- package/.agent/skills/core/authentication/data/mfa-patterns.yaml +175 -0
- package/.agent/skills/core/authentication/data/oauth-patterns.yaml +255 -0
- package/.agent/skills/core/authentication/data/oauth.yaml +248 -0
- package/.agent/skills/core/authentication/data/passkeys-webauthn.yaml +215 -0
- package/.agent/skills/core/authentication/data/passkeys.yaml +208 -0
- package/.agent/skills/core/authentication/data/password-patterns.yaml +175 -0
- package/.agent/skills/core/authentication/data/password.yaml +168 -0
- package/.agent/skills/core/authentication/data/session-patterns.yaml +215 -0
- package/.agent/skills/core/error-handling/META.yaml +71 -0
- package/.agent/skills/core/error-handling/SKILL.md +156 -0
- package/.agent/skills/core/error-handling/data/anti-patterns.yaml +105 -0
- package/.agent/skills/core/error-handling/data/api-error-patterns.yaml +135 -0
- package/.agent/skills/core/error-handling/data/core-patterns.yaml +226 -0
- package/.agent/skills/core/error-handling/data/error-codes.yaml +165 -0
- package/.agent/skills/core/error-handling/data/error-messages.yaml +165 -0
- package/.agent/skills/core/error-handling/data/language-c-cpp.yaml +226 -0
- package/.agent/skills/core/error-handling/data/language-go-rust.yaml +226 -0
- package/.agent/skills/core/error-handling/data/language-python-java.yaml +226 -0
- package/.agent/skills/core/error-handling/data/language-swift-kotlin.yaml +226 -0
- package/.agent/skills/core/error-handling/data/language-typescript-php-ruby.yaml +226 -0
- package/.agent/skills/core/error-handling/data/resilience-patterns.yaml +191 -0
- package/.agent/skills/core/error-handling/data/ui-error-patterns.yaml +135 -0
- package/.agent/skills/core/logging/META.yaml +73 -0
- package/.agent/skills/core/logging/SKILL.md +184 -0
- package/.agent/skills/core/logging/data/aggregation-patterns.yaml +191 -0
- package/.agent/skills/core/logging/data/anti-patterns.yaml +121 -0
- package/.agent/skills/core/logging/data/core-patterns.yaml +226 -0
- package/.agent/skills/core/logging/data/language-csharp.yaml +191 -0
- package/.agent/skills/core/logging/data/language-go.yaml +191 -0
- package/.agent/skills/core/logging/data/language-java.yaml +191 -0
- package/.agent/skills/core/logging/data/language-kotlin.yaml +156 -0
- package/.agent/skills/core/logging/data/language-others.yaml +184 -0
- package/.agent/skills/core/logging/data/language-python.yaml +191 -0
- package/.agent/skills/core/logging/data/language-rust.yaml +191 -0
- package/.agent/skills/core/logging/data/language-swift.yaml +156 -0
- package/.agent/skills/core/logging/data/language-typescript.yaml +191 -0
- package/.agent/skills/core/logging/data/otel-logging.yaml +156 -0
- package/.agent/skills/core/observability/META.yaml +76 -0
- package/.agent/skills/core/observability/SKILL.md +153 -0
- package/.agent/skills/core/observability/data/alerting-patterns.yaml +165 -0
- package/.agent/skills/core/observability/data/anti-patterns.yaml +105 -0
- package/.agent/skills/core/observability/data/core-patterns.yaml +195 -0
- package/.agent/skills/core/observability/data/language-cpp.yaml +165 -0
- package/.agent/skills/core/observability/data/language-csharp.yaml +165 -0
- package/.agent/skills/core/observability/data/language-go.yaml +165 -0
- package/.agent/skills/core/observability/data/language-java.yaml +165 -0
- package/.agent/skills/core/observability/data/language-others.yaml +255 -0
- package/.agent/skills/core/observability/data/language-python.yaml +165 -0
- package/.agent/skills/core/observability/data/language-rust.yaml +165 -0
- package/.agent/skills/core/observability/data/language-typescript.yaml +165 -0
- package/.agent/skills/core/observability/data/metrics-patterns.yaml +135 -0
- package/.agent/skills/core/observability/data/metrics-prometheus.yaml +165 -0
- package/.agent/skills/core/observability/data/otel-core.yaml +195 -0
- package/.agent/skills/core/observability/data/profiling-patterns.yaml +135 -0
- package/.agent/skills/core/observability/data/tracing-patterns.yaml +165 -0
- package/.agent/skills/core/observability/data/tracing-tools.yaml +135 -0
- package/.agent/skills/core/security/ADVANCED.md +269 -0
- package/.agent/skills/core/security/META.yaml +97 -0
- package/.agent/skills/core/security/SKILL.md +234 -0
- package/.agent/skills/core/security/data/ai-ml-security.yaml +261 -0
- package/.agent/skills/core/security/data/api-security.yaml +230 -0
- package/.agent/skills/core/security/data/auth-patterns.yaml +195 -0
- package/.agent/skills/core/security/data/binary-exploitation.yaml +339 -0
- package/.agent/skills/core/security/data/cloud-security.yaml +269 -0
- package/.agent/skills/core/security/data/cwe-top25.yaml +415 -0
- package/.agent/skills/core/security/data/language-specific/c-security.yaml +295 -0
- package/.agent/skills/core/security/data/language-specific/cpp-security.yaml +295 -0
- package/.agent/skills/core/security/data/language-specific/csharp-security.yaml +219 -0
- package/.agent/skills/core/security/data/language-specific/go-security.yaml +219 -0
- package/.agent/skills/core/security/data/language-specific/java-security.yaml +295 -0
- package/.agent/skills/core/security/data/language-specific/kotlin-security.yaml +198 -0
- package/.agent/skills/core/security/data/language-specific/php-security.yaml +219 -0
- package/.agent/skills/core/security/data/language-specific/python-security.yaml +295 -0
- package/.agent/skills/core/security/data/language-specific/ruby-security.yaml +198 -0
- package/.agent/skills/core/security/data/language-specific/rust-security.yaml +240 -0
- package/.agent/skills/core/security/data/language-specific/solidity-security.yaml +369 -0
- package/.agent/skills/core/security/data/language-specific/swift-security.yaml +198 -0
- package/.agent/skills/core/security/data/language-specific/typescript-security.yaml +295 -0
- package/.agent/skills/core/security/data/mobile-security.yaml +369 -0
- package/.agent/skills/core/security/data/network-security.yaml +297 -0
- package/.agent/skills/core/security/data/owasp-top10.yaml +171 -0
- package/.agent/skills/core/security/data/reverse-engineering.yaml +497 -0
- package/.agent/skills/core/security/data/supply-chain.yaml +219 -0
- package/.agent/skills/cross-cutting/_index.yaml +15 -0
- package/.agent/skills/cross-cutting/audit-pro/META.yaml +43 -0
- package/.agent/skills/cross-cutting/audit-pro/data/checklists.yaml +644 -0
- package/.agent/skills/cross-cutting/audit-pro/data/scoring.yaml +101 -0
- package/.agent/skills/cross-cutting/aws/META.yaml +75 -0
- package/.agent/skills/cross-cutting/aws/data/ai_ml.yaml +194 -0
- package/.agent/skills/cross-cutting/aws/data/compute.yaml +191 -0
- package/.agent/skills/cross-cutting/aws/data/kubernetes.yaml +199 -0
- package/.agent/skills/cross-cutting/aws/data/storage.yaml +174 -0
- package/.agent/skills/cross-cutting/bun/META.yaml +58 -0
- package/.agent/skills/cross-cutting/bun/SKILL.md +357 -0
- package/.agent/skills/cross-cutting/bun/data/database.yaml +85 -0
- package/.agent/skills/cross-cutting/bun/data/runtime.yaml +170 -0
- package/.agent/skills/cross-cutting/bun/data/tooling.yaml +192 -0
- package/.agent/skills/cross-cutting/ci-cd/META.yaml +60 -0
- package/.agent/skills/cross-cutting/ci-cd/data/github_actions.yaml +248 -0
- package/.agent/skills/cross-cutting/ci-cd/data/security.yaml +211 -0
- package/.agent/skills/cross-cutting/coding-rules/META.yaml +61 -0
- package/.agent/skills/cross-cutting/coding-rules/SKILL.md +171 -0
- package/.agent/skills/cross-cutting/coding-rules/data/architecture-patterns.yaml +96 -0
- package/.agent/skills/cross-cutting/coding-rules/data/build-systems.yaml +346 -0
- package/.agent/skills/cross-cutting/coding-rules/data/coding-rules.yaml +647 -0
- package/.agent/skills/cross-cutting/coding-rules/data/concurrency-patterns.yaml +108 -0
- package/.agent/skills/cross-cutting/coding-rules/data/design-patterns.yaml +260 -0
- package/.agent/skills/cross-cutting/coding-rules/data/framework-signatures.yaml +344 -0
- package/.agent/skills/cross-cutting/coding-rules/data/memory-management.yaml +108 -0
- package/.agent/skills/cross-cutting/coding-rules/data/naming-conventions.yaml +320 -0
- package/.agent/skills/cross-cutting/coding-rules/data/performance-benchmarks.yaml +164 -0
- package/.agent/skills/cross-cutting/coding-rules/data/solid-principles.yaml +80 -0
- package/.agent/skills/cross-cutting/coding-rules/data/test-frameworks.yaml +183 -0
- package/.agent/skills/cross-cutting/database/ADVANCED.md +465 -0
- package/.agent/skills/cross-cutting/database/META.yaml +22 -0
- package/.agent/skills/cross-cutting/database/SKILL.md +816 -0
- package/.agent/skills/cross-cutting/database/data/anti_patterns.yaml +116 -0
- package/.agent/skills/cross-cutting/database/data/distributed.yaml +152 -0
- package/.agent/skills/cross-cutting/database/data/mongodb.yaml +132 -0
- package/.agent/skills/cross-cutting/database/data/mysql.yaml +130 -0
- package/.agent/skills/cross-cutting/database/data/orm.yaml +104 -0
- package/.agent/skills/cross-cutting/database/data/postgresql.yaml +170 -0
- package/.agent/skills/cross-cutting/database/data/redis.yaml +129 -0
- package/.agent/skills/cross-cutting/deno/META.yaml +68 -0
- package/.agent/skills/cross-cutting/deno/SKILL.md +343 -0
- package/.agent/skills/cross-cutting/deno/data/runtime.yaml +260 -0
- package/.agent/skills/cross-cutting/deno/data/security.yaml +168 -0
- package/.agent/skills/cross-cutting/deno/data/tooling.yaml +133 -0
- package/.agent/skills/cross-cutting/docker/META.yaml +65 -0
- package/.agent/skills/cross-cutting/docker/data/build.yaml +197 -0
- package/.agent/skills/cross-cutting/docker/data/compose.yaml +229 -0
- package/.agent/skills/cross-cutting/docker/data/security.yaml +164 -0
- package/.agent/skills/cross-cutting/electron/META.yaml +174 -0
- package/.agent/skills/cross-cutting/electron/SKILL.md +862 -0
- package/.agent/skills/cross-cutting/electron/data/build.yaml +105 -0
- package/.agent/skills/cross-cutting/electron/data/crash.yaml +103 -0
- package/.agent/skills/cross-cutting/electron/data/ipc.yaml +85 -0
- package/.agent/skills/cross-cutting/electron/data/native.yaml +157 -0
- package/.agent/skills/cross-cutting/electron/data/security.yaml +89 -0
- package/.agent/skills/cross-cutting/electron/data/storage.yaml +100 -0
- package/.agent/skills/cross-cutting/electron/data/testing.yaml +103 -0
- package/.agent/skills/cross-cutting/electron/data/updates.yaml +99 -0
- package/.agent/skills/cross-cutting/electron/data/window.yaml +83 -0
- package/.agent/skills/cross-cutting/kubernetes/META.yaml +70 -0
- package/.agent/skills/cross-cutting/kubernetes/data/networking.yaml +270 -0
- package/.agent/skills/cross-cutting/kubernetes/data/scheduling.yaml +267 -0
- package/.agent/skills/cross-cutting/kubernetes/data/security.yaml +253 -0
- package/.agent/skills/cross-cutting/kubernetes/data/workloads.yaml +251 -0
- package/.agent/skills/cross-cutting/sql/META.yaml +88 -0
- package/.agent/skills/cross-cutting/sql/SKILL.md +296 -0
- package/.agent/skills/cross-cutting/sql/data/indexing.yaml +147 -0
- package/.agent/skills/cross-cutting/sql/data/json.yaml +156 -0
- package/.agent/skills/cross-cutting/sql/data/performance.yaml +204 -0
- package/.agent/skills/cross-cutting/sql/data/queries.yaml +150 -0
- package/.agent/skills/cross-cutting/tailwind/META.yaml +72 -0
- package/.agent/skills/cross-cutting/tailwind/SKILL.md +344 -0
- package/.agent/skills/cross-cutting/tailwind/data/build.yaml +143 -0
- package/.agent/skills/cross-cutting/tailwind/data/config.yaml +109 -0
- package/.agent/skills/cross-cutting/tailwind/data/migration.yaml +149 -0
- package/.agent/skills/cross-cutting/tailwind/data/responsive.yaml +148 -0
- package/.agent/skills/cross-cutting/tailwind/data/states.yaml +152 -0
- package/.agent/skills/cross-cutting/tailwind/data/theme.yaml +126 -0
- package/.agent/skills/cross-cutting/tailwind/data/utilities.yaml +182 -0
- package/.agent/skills/cross-cutting/tailwind/data/variants.yaml +154 -0
- package/.agent/skills/cross-cutting/testing/ADVANCED.md +245 -0
- package/.agent/skills/cross-cutting/testing/META.yaml +49 -0
- package/.agent/skills/cross-cutting/testing/SKILL.md +263 -0
- package/.agent/skills/cross-cutting/testing/data/frameworks.yaml +300 -0
- package/.agent/skills/cross-cutting/testing/data/patterns.yaml +168 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/META.yaml +108 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/SKILL.md +565 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/charts.yaml +331 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/colors.yaml +1226 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/component-decision.yaml +287 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/component-mapping.yaml +318 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/design-tokens.yaml +525 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-animation.yaml +232 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-architecture.yaml +140 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/desktop-colors.yaml +467 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/directory-structure.yaml +75 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/icons.yaml +918 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/implementation-strategy.yaml +107 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/landing.yaml +372 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/platform-frameworks.yaml +195 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/platform-guidelines.yaml +177 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/products.yaml +1339 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/prompts.yaml +180 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/react-performance.yaml +504 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/desktop.yaml +228 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/flutter.yaml +508 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/html-tailwind.yaml +543 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nextjs.yaml +515 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nuxt-ui.yaml +519 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/nuxtjs.yaml +599 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/react-native.yaml +496 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/react.yaml +526 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/shadcn.yaml +616 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/svelte.yaml +520 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/swiftui.yaml +486 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/stacks/vue.yaml +485 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/styles.yaml +1473 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/typography.yaml +647 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/ui-reasoning.yaml +1019 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/ux-guidelines.yaml +1009 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/data/web-interface.yaml +347 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/core.cpython-310.pyc +0 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/core.py +393 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/core_legacy.py +303 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/design_system.py +496 -0
- package/.agent/skills/cross-cutting/ui-ux-pro-max/scripts/search.py +76 -0
- package/.agent/skills/cross-cutting/web-perf/META.yaml +92 -0
- package/.agent/skills/cross-cutting/web-perf/SKILL.md +181 -0
- package/.agent/skills/cross-cutting/web-perf/data/cls_optimization.yaml +189 -0
- package/.agent/skills/cross-cutting/web-perf/data/core_web_vitals.yaml +282 -0
- package/.agent/skills/cross-cutting/web-perf/data/inp_optimization.yaml +240 -0
- package/.agent/skills/cross-cutting/web-perf/data/lcp_optimization.yaml +202 -0
- package/.agent/skills/cross-cutting/web-perf/data/measurement.yaml +170 -0
- package/.agent/skills/devops/_index.yaml +9 -0
- package/.agent/skills/devops/aws/ADVANCED.md +547 -0
- package/.agent/skills/devops/aws/META.yaml +84 -0
- package/.agent/skills/devops/aws/SKILL.md +711 -0
- package/.agent/skills/devops/ci-cd/ADVANCED.md +529 -0
- package/.agent/skills/devops/ci-cd/META.yaml +21 -0
- package/.agent/skills/devops/ci-cd/SKILL.md +821 -0
- package/.agent/skills/devops/docker/ADVANCED.md +495 -0
- package/.agent/skills/devops/docker/META.yaml +20 -0
- package/.agent/skills/devops/docker/SKILL.md +653 -0
- package/.agent/skills/devops/kubernetes/ADVANCED.md +252 -0
- package/.agent/skills/devops/kubernetes/META.yaml +15 -0
- package/.agent/skills/devops/kubernetes/SKILL.md +621 -0
- package/.agent/skills/frameworks/_index.yaml +13 -0
- package/.agent/skills/frameworks/angular/META.yaml +70 -0
- package/.agent/skills/frameworks/angular/SKILL.md +319 -0
- package/.agent/skills/frameworks/angular/data/core.yaml +209 -0
- package/.agent/skills/frameworks/angular/data/performance.yaml +210 -0
- package/.agent/skills/frameworks/angular/data/server.yaml +175 -0
- package/.agent/skills/frameworks/flutter/ADVANCED.md +491 -0
- package/.agent/skills/frameworks/flutter/META.yaml +64 -0
- package/.agent/skills/frameworks/flutter/SKILL.md +541 -0
- package/.agent/skills/frameworks/flutter/data/core.yaml +210 -0
- package/.agent/skills/frameworks/flutter/data/platform.yaml +246 -0
- package/.agent/skills/frameworks/flutter/data/state.yaml +250 -0
- package/.agent/skills/frameworks/nextjs/ADVANCED.md +225 -0
- package/.agent/skills/frameworks/nextjs/META.yaml +67 -0
- package/.agent/skills/frameworks/nextjs/SKILL.md +593 -0
- package/.agent/skills/frameworks/nextjs/data/caching.yaml +210 -0
- package/.agent/skills/frameworks/nextjs/data/core.yaml +255 -0
- package/.agent/skills/frameworks/nextjs/data/server.yaml +248 -0
- package/.agent/skills/frameworks/nuxt/META.yaml +57 -0
- package/.agent/skills/frameworks/nuxt/SKILL.md +283 -0
- package/.agent/skills/frameworks/nuxt/data/core.yaml +309 -0
- package/.agent/skills/frameworks/nuxt/data/server.yaml +271 -0
- package/.agent/skills/frameworks/react/ADVANCED.md +676 -0
- package/.agent/skills/frameworks/react/META.yaml +60 -0
- package/.agent/skills/frameworks/react/SKILL.md +263 -0
- package/.agent/skills/frameworks/react/data/core.yaml +278 -0
- package/.agent/skills/frameworks/react/data/server.yaml +283 -0
- package/.agent/skills/frameworks/react-native/META.yaml +59 -0
- package/.agent/skills/frameworks/react-native/SKILL.md +301 -0
- package/.agent/skills/frameworks/react-native/data/core.yaml +260 -0
- package/.agent/skills/frameworks/react-native/data/platform.yaml +287 -0
- package/.agent/skills/frameworks/svelte/META.yaml +62 -0
- package/.agent/skills/frameworks/svelte/SKILL.md +398 -0
- package/.agent/skills/frameworks/svelte/data/runes.yaml +239 -0
- package/.agent/skills/frameworks/svelte/data/sveltekit.yaml +244 -0
- package/.agent/skills/frameworks/vue/ADVANCED.md +214 -0
- package/.agent/skills/frameworks/vue/META.yaml +58 -0
- package/.agent/skills/frameworks/vue/SKILL.md +356 -0
- package/.agent/skills/frameworks/vue/data/advanced.yaml +253 -0
- package/.agent/skills/frameworks/vue/data/core.yaml +270 -0
- package/.agent/skills/index.json +143 -0
- package/.agent/skills/languages/_index.yaml +33 -0
- package/.agent/skills/languages/asm/ADVANCED.md +750 -0
- package/.agent/skills/languages/asm/META.yaml +84 -0
- package/.agent/skills/languages/asm/SKILL.md +753 -0
- package/.agent/skills/languages/asm/data/advanced.yaml +295 -0
- package/.agent/skills/languages/asm/data/core.yaml +280 -0
- package/.agent/skills/languages/c/ADVANCED.md +625 -0
- package/.agent/skills/languages/c/META.yaml +58 -0
- package/.agent/skills/languages/c/SKILL.md +748 -0
- package/.agent/skills/languages/c/data/core.yaml +179 -0
- package/.agent/skills/languages/c/data/embedded.yaml +251 -0
- package/.agent/skills/languages/c/data/memory.yaml +253 -0
- package/.agent/skills/languages/clojure/META.yaml +13 -0
- package/.agent/skills/languages/clojure/SKILL.md +130 -0
- package/.agent/skills/languages/clojure/data/core.yaml +326 -0
- package/.agent/skills/languages/cpp/ADVANCED.md +457 -0
- package/.agent/skills/languages/cpp/META.yaml +61 -0
- package/.agent/skills/languages/cpp/SKILL.md +936 -0
- package/.agent/skills/languages/cpp/data/core.yaml +304 -0
- package/.agent/skills/languages/cpp/data/memory.yaml +247 -0
- package/.agent/skills/languages/cpp/data/modern.yaml +334 -0
- package/.agent/skills/languages/crystal/META.yaml +30 -0
- package/.agent/skills/languages/crystal/SKILL.md +117 -0
- package/.agent/skills/languages/crystal/data/async.yaml +264 -0
- package/.agent/skills/languages/crystal/data/core.yaml +279 -0
- package/.agent/skills/languages/csharp/ADVANCED.md +592 -0
- package/.agent/skills/languages/csharp/META.yaml +23 -0
- package/.agent/skills/languages/csharp/SKILL.md +620 -0
- package/.agent/skills/languages/csharp/data/aspnet.yaml +448 -0
- package/.agent/skills/languages/csharp/data/core.yaml +362 -0
- package/.agent/skills/languages/elixir/META.yaml +18 -0
- package/.agent/skills/languages/elixir/SKILL.md +368 -0
- package/.agent/skills/languages/elixir/data/core.yaml +392 -0
- package/.agent/skills/languages/fsharp/META.yaml +14 -0
- package/.agent/skills/languages/fsharp/SKILL.md +113 -0
- package/.agent/skills/languages/fsharp/data/core.yaml +396 -0
- package/.agent/skills/languages/go/ADVANCED.md +260 -0
- package/.agent/skills/languages/go/META.yaml +64 -0
- package/.agent/skills/languages/go/SKILL.md +489 -0
- package/.agent/skills/languages/go/data/concurrency.yaml +424 -0
- package/.agent/skills/languages/go/data/core.yaml +399 -0
- package/.agent/skills/languages/go/data/http.yaml +507 -0
- package/.agent/skills/languages/haskell/META.yaml +18 -0
- package/.agent/skills/languages/haskell/SKILL.md +305 -0
- package/.agent/skills/languages/haskell/data/core.yaml +347 -0
- package/.agent/skills/languages/java/ADVANCED.md +450 -0
- package/.agent/skills/languages/java/META.yaml +89 -0
- package/.agent/skills/languages/java/SKILL.md +495 -0
- package/.agent/skills/languages/java/data/core.yaml +307 -0
- package/.agent/skills/languages/java/data/spring.yaml +437 -0
- package/.agent/skills/languages/javascript/ADVANCED.md +530 -0
- package/.agent/skills/languages/javascript/META.yaml +105 -0
- package/.agent/skills/languages/javascript/SKILL.md +455 -0
- package/.agent/skills/languages/javascript/data/async.yaml +290 -0
- package/.agent/skills/languages/javascript/data/core.yaml +380 -0
- package/.agent/skills/languages/javascript/data/modern.yaml +269 -0
- package/.agent/skills/languages/julia/META.yaml +13 -0
- package/.agent/skills/languages/julia/SKILL.md +174 -0
- package/.agent/skills/languages/julia/data/core.yaml +356 -0
- package/.agent/skills/languages/kotlin/ADVANCED.md +539 -0
- package/.agent/skills/languages/kotlin/META.yaml +24 -0
- package/.agent/skills/languages/kotlin/SKILL.md +525 -0
- package/.agent/skills/languages/kotlin/data/android.yaml +495 -0
- package/.agent/skills/languages/kotlin/data/core.yaml +366 -0
- package/.agent/skills/languages/lua/ADVANCED.md +257 -0
- package/.agent/skills/languages/lua/META.yaml +58 -0
- package/.agent/skills/languages/lua/SKILL.md +492 -0
- package/.agent/skills/languages/lua/data/core.yaml +264 -0
- package/.agent/skills/languages/lua/data/embedding.yaml +300 -0
- package/.agent/skills/languages/nim/META.yaml +30 -0
- package/.agent/skills/languages/nim/SKILL.md +116 -0
- package/.agent/skills/languages/nim/data/async.yaml +257 -0
- package/.agent/skills/languages/nim/data/core.yaml +241 -0
- package/.agent/skills/languages/ocaml/META.yaml +13 -0
- package/.agent/skills/languages/ocaml/SKILL.md +123 -0
- package/.agent/skills/languages/ocaml/data/core.yaml +357 -0
- package/.agent/skills/languages/perl/META.yaml +13 -0
- package/.agent/skills/languages/perl/SKILL.md +115 -0
- package/.agent/skills/languages/perl/data/core.yaml +360 -0
- package/.agent/skills/languages/php/ADVANCED.md +199 -0
- package/.agent/skills/languages/php/META.yaml +18 -0
- package/.agent/skills/languages/php/SKILL.md +488 -0
- package/.agent/skills/languages/php/data/core.yaml +392 -0
- package/.agent/skills/languages/php/data/laravel.yaml +525 -0
- package/.agent/skills/languages/python/ADVANCED.md +207 -0
- package/.agent/skills/languages/python/META.yaml +91 -0
- package/.agent/skills/languages/python/SKILL.md +495 -0
- package/.agent/skills/languages/python/data/async.yaml +265 -0
- package/.agent/skills/languages/python/data/core.yaml +259 -0
- package/.agent/skills/languages/python/data/fastapi.yaml +296 -0
- package/.agent/skills/languages/python/data/testing.yaml +226 -0
- package/.agent/skills/languages/r/META.yaml +16 -0
- package/.agent/skills/languages/r/SKILL.md +348 -0
- package/.agent/skills/languages/r/data/core.yaml +355 -0
- package/.agent/skills/languages/ruby/ADVANCED.md +381 -0
- package/.agent/skills/languages/ruby/META.yaml +19 -0
- package/.agent/skills/languages/ruby/SKILL.md +417 -0
- package/.agent/skills/languages/ruby/data/core.yaml +448 -0
- package/.agent/skills/languages/ruby/data/rails.yaml +415 -0
- package/.agent/skills/languages/rust/ADVANCED.md +212 -0
- package/.agent/skills/languages/rust/META.yaml +87 -0
- package/.agent/skills/languages/rust/SKILL.md +377 -0
- package/.agent/skills/languages/rust/data/async.yaml +404 -0
- package/.agent/skills/languages/rust/data/axum.yaml +450 -0
- package/.agent/skills/languages/rust/data/core.yaml +356 -0
- package/.agent/skills/languages/scala/META.yaml +17 -0
- package/.agent/skills/languages/scala/SKILL.md +202 -0
- package/.agent/skills/languages/scala/data/core.yaml +349 -0
- package/.agent/skills/languages/solidity/META.yaml +13 -0
- package/.agent/skills/languages/solidity/SKILL.md +188 -0
- package/.agent/skills/languages/solidity/data/core.yaml +528 -0
- package/.agent/skills/languages/swift/ADVANCED.md +231 -0
- package/.agent/skills/languages/swift/META.yaml +18 -0
- package/.agent/skills/languages/swift/SKILL.md +342 -0
- package/.agent/skills/languages/swift/data/core.yaml +489 -0
- package/.agent/skills/languages/typescript/ADVANCED.md +186 -0
- package/.agent/skills/languages/typescript/META.yaml +92 -0
- package/.agent/skills/languages/typescript/SKILL.md +306 -0
- package/.agent/skills/languages/typescript/data/async.yaml +397 -0
- package/.agent/skills/languages/typescript/data/core.yaml +283 -0
- package/.agent/skills/languages/typescript/data/validation.yaml +338 -0
- package/.agent/skills/languages/zig/META.yaml +52 -0
- package/.agent/skills/languages/zig/SKILL.md +354 -0
- package/.agent/skills/languages/zig/data/async.yaml +314 -0
- package/.agent/skills/languages/zig/data/core.yaml +302 -0
- package/.agent/templates/README.md +42 -0
- package/.agent/templates/audit-report.md +153 -0
- package/.agent/templates/chains/debug/step1-reproduce.md +83 -0
- package/.agent/templates/chains/debug/step2-isolate.md +73 -0
- package/.agent/templates/chains/debug/step3-analyze.md +86 -0
- package/.agent/templates/chains/debug/step4-fix.md +85 -0
- package/.agent/templates/chains/debug/step5-verify.md +122 -0
- package/.agent/templates/chains/implement/step1-plan.md +88 -0
- package/.agent/templates/chains/implement/step2-code.md +87 -0
- package/.agent/templates/chains/implement/step3-test.md +87 -0
- package/.agent/templates/chains/implement/step4-doc.md +118 -0
- package/.agent/templates/chains/review/step1-understand.md +74 -0
- package/.agent/templates/chains/review/step2-analyze.md +110 -0
- package/.agent/templates/chains/review/step3-fix.md +93 -0
- package/.agent/templates/chains/review/step4-summary.md +104 -0
- package/.agent/templates/debug-report.md +50 -0
- package/.agent/templates/deploy-plan.md +54 -0
- package/.agent/templates/doc-template.md +57 -0
- package/.agent/templates/findings.md +122 -0
- package/.agent/templates/index.yaml +239 -0
- package/.agent/templates/migrate-plan.md +50 -0
- package/.agent/templates/phase-template.md +72 -0
- package/.agent/templates/project-plan.md +87 -0
- package/.agent/templates/prompts/context_block.md +114 -0
- package/.agent/templates/prompts/guardrails_block.md +116 -0
- package/.agent/templates/prompts/persona_base.md +155 -0
- package/.agent/templates/prompts/tools_block.md +137 -0
- package/.agent/templates/reflection/critic.md +110 -0
- package/.agent/templates/reflection/error_analysis.md +149 -0
- package/.agent/templates/reflection/success_analysis.md +174 -0
- package/.agent/templates/task-list.md +144 -0
- package/.agent/templates/tasks/audit.yaml +146 -0
- package/.agent/templates/tasks/bug_fix.yaml +121 -0
- package/.agent/templates/tasks/code_implementation.yaml +110 -0
- package/.agent/templates/tasks/refactor.yaml +157 -0
- package/.agent/templates/test-report.md +52 -0
- package/.agent/workflows/ap.md +135 -0
- package/.agent/workflows/code.md +130 -0
- package/.agent/workflows/debug.md +230 -0
- package/.agent/workflows/deploy.md +192 -0
- package/.agent/workflows/dev.md +137 -0
- package/.agent/workflows/doc.md +124 -0
- package/.agent/workflows/env.md +98 -0
- package/.agent/workflows/fix.md +76 -0
- package/.agent/workflows/generate.md +28 -0
- package/.agent/workflows/git.md +97 -0
- package/.agent/workflows/help.md +75 -0
- package/.agent/workflows/init.md +148 -0
- package/.agent/workflows/migrate.md +135 -0
- package/.agent/workflows/monitor.md +133 -0
- package/.agent/workflows/onboard.md +144 -0
- package/.agent/workflows/orchestrate.md +117 -0
- package/.agent/workflows/perf.md +106 -0
- package/.agent/workflows/plan.md +106 -0
- package/.agent/workflows/recap.md +101 -0
- package/.agent/workflows/refactor.md +161 -0
- package/.agent/workflows/revert.md +99 -0
- package/.agent/workflows/review.md +106 -0
- package/.agent/workflows/scaffold.md +119 -0
- package/.agent/workflows/security.md +186 -0
- package/.agent/workflows/status.md +103 -0
- package/.agent/workflows/test.md +157 -0
- package/.agent/workflows/think.md +126 -0
- package/.agent/workflows/upgrade.md +109 -0
- package/.agent/workflows/visualize.md +295 -0
- package/.agent/workflows/workflow.md +196 -0
- package/README.md +64 -0
- package/dist/commands/add.d.ts +2 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +70 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/config.d.ts +4 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +152 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/doctor.d.ts +4 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +98 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/hsa.d.ts +4 -0
- package/dist/commands/hsa.d.ts.map +1 -0
- package/dist/commands/hsa.js +194 -0
- package/dist/commands/hsa.js.map +1 -0
- package/dist/commands/info.d.ts +2 -0
- package/dist/commands/info.d.ts.map +1 -0
- package/dist/commands/info.js +149 -0
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +262 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install-core.d.ts +4 -0
- package/dist/commands/install-core.d.ts.map +1 -0
- package/dist/commands/install-core.js +85 -0
- package/dist/commands/install-core.js.map +1 -0
- package/dist/commands/install-helpers.d.ts +27 -0
- package/dist/commands/install-helpers.d.ts.map +1 -0
- package/dist/commands/install-helpers.js +125 -0
- package/dist/commands/install-helpers.js.map +1 -0
- package/dist/commands/install-hsa.d.ts +18 -0
- package/dist/commands/install-hsa.d.ts.map +1 -0
- package/dist/commands/install-hsa.js +61 -0
- package/dist/commands/install-hsa.js.map +1 -0
- package/dist/commands/install.d.ts +4 -0
- package/dist/commands/install.d.ts.map +1 -0
- package/dist/commands/install.js +310 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/list.d.ts +4 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +91 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/mcp-registry.d.ts +48 -0
- package/dist/commands/mcp-registry.d.ts.map +1 -0
- package/dist/commands/mcp-registry.js +246 -0
- package/dist/commands/mcp-registry.js.map +1 -0
- package/dist/commands/mcp-writers.d.ts +20 -0
- package/dist/commands/mcp-writers.d.ts.map +1 -0
- package/dist/commands/mcp-writers.js +144 -0
- package/dist/commands/mcp-writers.js.map +1 -0
- package/dist/commands/mcp.d.ts +10 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +319 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/update.d.ts +4 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +79 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/constants/cursor-globs.d.ts +17 -0
- package/dist/constants/cursor-globs.d.ts.map +1 -0
- package/dist/constants/cursor-globs.js +62 -0
- package/dist/constants/cursor-globs.js.map +1 -0
- package/dist/constants/ide-install-specs.d.ts +36 -0
- package/dist/constants/ide-install-specs.d.ts.map +1 -0
- package/dist/constants/ide-install-specs.js +870 -0
- package/dist/constants/ide-install-specs.js.map +1 -0
- package/dist/constants/ides.d.ts +105 -0
- package/dist/constants/ides.d.ts.map +1 -0
- package/dist/constants/ides.js +412 -0
- package/dist/constants/ides.js.map +1 -0
- package/dist/constants/skills.d.ts +40 -0
- package/dist/constants/skills.d.ts.map +1 -0
- package/dist/constants/skills.js +78 -0
- package/dist/constants/skills.js.map +1 -0
- package/dist/constants.d.ts +39 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +75 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/types/flags.d.ts +47 -0
- package/dist/types/flags.d.ts.map +1 -0
- package/dist/types/flags.js +4 -0
- package/dist/types/flags.js.map +1 -0
- package/dist/types/ide-install.d.ts +175 -0
- package/dist/types/ide-install.d.ts.map +1 -0
- package/dist/types/ide-install.js +29 -0
- package/dist/types/ide-install.js.map +1 -0
- package/dist/utils/copy-helpers.d.ts +60 -0
- package/dist/utils/copy-helpers.d.ts.map +1 -0
- package/dist/utils/copy-helpers.js +617 -0
- package/dist/utils/copy-helpers.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/validation.d.ts +29 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +211 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
skill: api-design
|
|
3
|
+
domain: api_versioning
|
|
4
|
+
version: 6.2.0
|
|
5
|
+
updated: '2026-02-05'
|
|
6
|
+
migrated_from: api-versioning.csv
|
|
7
|
+
patterns_count: 25
|
|
8
|
+
columns:
|
|
9
|
+
- id
|
|
10
|
+
- pattern
|
|
11
|
+
- description
|
|
12
|
+
- example
|
|
13
|
+
- pros
|
|
14
|
+
- cons
|
|
15
|
+
- level
|
|
16
|
+
- real_world
|
|
17
|
+
patterns:
|
|
18
|
+
- id: VER-01
|
|
19
|
+
pattern: URI Versioning
|
|
20
|
+
description: Version in URL path
|
|
21
|
+
example: /v1/users /v2/users
|
|
22
|
+
pros: Visible easy to implement cache-friendly
|
|
23
|
+
cons: Long URLs violates REST principle
|
|
24
|
+
level: BASIC
|
|
25
|
+
real_world: Facebook Twitter PayPal
|
|
26
|
+
- id: VER-02
|
|
27
|
+
pattern: Header Versioning
|
|
28
|
+
description: Version in custom header
|
|
29
|
+
example: 'X-API-Version: 1'
|
|
30
|
+
pros: Clean URLs hide version
|
|
31
|
+
cons: Less discoverable browser testing hard
|
|
32
|
+
level: INTERMEDIATE
|
|
33
|
+
real_world: Microsoft Azure
|
|
34
|
+
- id: VER-03
|
|
35
|
+
pattern: Query Param Version
|
|
36
|
+
description: Version as query parameter
|
|
37
|
+
example: /users?version=1
|
|
38
|
+
pros: Easy to add flexible
|
|
39
|
+
cons: Can be forgotten routing difficult
|
|
40
|
+
level: BASIC
|
|
41
|
+
real_world: Google Maps
|
|
42
|
+
- id: VER-04
|
|
43
|
+
pattern: Media Type Version
|
|
44
|
+
description: Version in Accept header
|
|
45
|
+
example: 'Accept: application/vnd.api.v1+json'
|
|
46
|
+
pros: Fine-grained per-resource versioning
|
|
47
|
+
cons: Complex implementation client support
|
|
48
|
+
level: ADVANCED
|
|
49
|
+
real_world: GitHub Enterprise
|
|
50
|
+
- id: VER-05
|
|
51
|
+
pattern: Semantic Versioning
|
|
52
|
+
description: MAJOR.MINOR.PATCH format
|
|
53
|
+
example: 2.1.0
|
|
54
|
+
pros: Clear change communication industry standard
|
|
55
|
+
cons: Maintenance overhead version explosion
|
|
56
|
+
level: BASIC
|
|
57
|
+
real_world: Twilio SDKs npm packages
|
|
58
|
+
- id: VER-06
|
|
59
|
+
pattern: Date-Based Version
|
|
60
|
+
description: Version by release date
|
|
61
|
+
example: 2024-06-20 2026-01-28.acacia
|
|
62
|
+
pros: Clear timeline immutable snapshots
|
|
63
|
+
cons: Many versions accumulate naming long
|
|
64
|
+
level: INTERMEDIATE
|
|
65
|
+
real_world: Stripe GitHub REST API
|
|
66
|
+
- id: VER-07
|
|
67
|
+
pattern: Calendar Versioning
|
|
68
|
+
description: YYYY-MM-DD in header
|
|
69
|
+
example: 'X-GitHub-Api-Version: 2022-11-28'
|
|
70
|
+
pros: Standard format long support window
|
|
71
|
+
cons: Requires header handling
|
|
72
|
+
level: INTERMEDIATE
|
|
73
|
+
real_world: GitHub REST API
|
|
74
|
+
- id: VER-08
|
|
75
|
+
pattern: Major Breaking
|
|
76
|
+
description: Increment MAJOR for breaking
|
|
77
|
+
example: v1 → v2 when breaking change
|
|
78
|
+
pros: Clients know to update signals impact
|
|
79
|
+
cons: Requires migration guide
|
|
80
|
+
level: BASIC
|
|
81
|
+
real_world: All mature APIs
|
|
82
|
+
- id: VER-09
|
|
83
|
+
pattern: Minor Features
|
|
84
|
+
description: Increment MINOR for features
|
|
85
|
+
example: v1.0 → v1.1 new endpoint
|
|
86
|
+
pros: Backward compatible safe to adopt
|
|
87
|
+
cons: Minor updates accumulate
|
|
88
|
+
level: BASIC
|
|
89
|
+
real_world: Twilio REST API
|
|
90
|
+
- id: VER-10
|
|
91
|
+
pattern: Patch Fixes
|
|
92
|
+
description: Increment PATCH for fixes
|
|
93
|
+
example: v1.0.0 → v1.0.1 bug fix
|
|
94
|
+
pros: Safe to update minimal risk
|
|
95
|
+
cons: Frequent releases
|
|
96
|
+
level: BASIC
|
|
97
|
+
real_world: All SDKs
|
|
98
|
+
- id: VER-11
|
|
99
|
+
pattern: Deprecation Notice
|
|
100
|
+
description: Warn before removing version
|
|
101
|
+
example: 'Deprecation: true header response field'
|
|
102
|
+
pros: Gives clients time to migrate
|
|
103
|
+
cons: Requires tracking enforcement
|
|
104
|
+
level: BASIC
|
|
105
|
+
real_world: Stripe Twilio
|
|
106
|
+
- id: VER-12
|
|
107
|
+
pattern: Sunset Header
|
|
108
|
+
description: RFC 8594 removal date
|
|
109
|
+
example: 'Sunset: Sat 01 Jan 2027 00:00:00 GMT'
|
|
110
|
+
pros: Standard HTTP header machine-readable
|
|
111
|
+
cons: Client needs to check implement
|
|
112
|
+
level: INTERMEDIATE
|
|
113
|
+
real_world: Akamai Stripe
|
|
114
|
+
- id: VER-13
|
|
115
|
+
pattern: Migration Guide
|
|
116
|
+
description: Document upgrade path
|
|
117
|
+
example: MIGRATION.md breaking-changes.md
|
|
118
|
+
pros: Helps clients upgrade reduces support
|
|
119
|
+
cons: Maintenance burden keep updated
|
|
120
|
+
level: BASIC
|
|
121
|
+
real_world: Stripe GitHub
|
|
122
|
+
- id: VER-14
|
|
123
|
+
pattern: Parallel Versions
|
|
124
|
+
description: Run multiple versions simultaneously
|
|
125
|
+
example: Both /v1 and /v2 active for 24 months
|
|
126
|
+
pros: Smooth transition client flexibility
|
|
127
|
+
cons: Infrastructure cost maintenance burden
|
|
128
|
+
level: INTERMEDIATE
|
|
129
|
+
real_world: GitHub Stripe Twilio
|
|
130
|
+
- id: VER-15
|
|
131
|
+
pattern: Feature Flags
|
|
132
|
+
description: Toggle features per client
|
|
133
|
+
example: 'X-Features: beta-search'
|
|
134
|
+
pros: Gradual rollout A/B testing
|
|
135
|
+
cons: Complex logic feature explosion
|
|
136
|
+
level: ADVANCED
|
|
137
|
+
real_world: LaunchDarkly pattern
|
|
138
|
+
- id: VER-16
|
|
139
|
+
pattern: API Gateway Routing
|
|
140
|
+
description: Gateway routes to version backend
|
|
141
|
+
example: Kong/AWS API Gateway → v1 or v2
|
|
142
|
+
pros: Centralized routing version isolation
|
|
143
|
+
cons: Single point failure complexity
|
|
144
|
+
level: ADVANCED
|
|
145
|
+
real_world: Enterprise APIs
|
|
146
|
+
- id: VER-17
|
|
147
|
+
pattern: SDK Version Pinning
|
|
148
|
+
description: Pin SDK to API version
|
|
149
|
+
example: stripe-python==5.0.0 pins 2024-06-20
|
|
150
|
+
pros: Stable integration predictable
|
|
151
|
+
cons: Must update SDK for new features
|
|
152
|
+
level: INTERMEDIATE
|
|
153
|
+
real_world: Stripe Twilio
|
|
154
|
+
- id: VER-18
|
|
155
|
+
pattern: Account Version Pinning
|
|
156
|
+
description: Account pinned to first-use version
|
|
157
|
+
example: Account uses API version from first request
|
|
158
|
+
pros: Protected from breaking changes
|
|
159
|
+
cons: Must explicitly upgrade
|
|
160
|
+
level: ADVANCED
|
|
161
|
+
real_world: Stripe
|
|
162
|
+
- id: VER-19
|
|
163
|
+
pattern: Version Override Header
|
|
164
|
+
description: Override default per-request
|
|
165
|
+
example: 'Stripe-Version: 2026-01-28'
|
|
166
|
+
pros: Test new version before upgrade
|
|
167
|
+
cons: Must remember to send header
|
|
168
|
+
level: INTERMEDIATE
|
|
169
|
+
real_world: Stripe
|
|
170
|
+
- id: VER-20
|
|
171
|
+
pattern: Named Releases
|
|
172
|
+
description: Codename with date
|
|
173
|
+
example: 2024-09-30.acacia 2024-06-20.basil
|
|
174
|
+
pros: Human-friendly memorable
|
|
175
|
+
cons: Additional naming overhead
|
|
176
|
+
level: INTERMEDIATE
|
|
177
|
+
real_world: Stripe 2024+
|
|
178
|
+
- id: VER-21
|
|
179
|
+
pattern: Changelog Automation
|
|
180
|
+
description: Auto-generate changelog
|
|
181
|
+
example: OpenAPI diff → CHANGELOG.md
|
|
182
|
+
pros: Accurate documentation less effort
|
|
183
|
+
cons: Requires tooling setup
|
|
184
|
+
level: INTERMEDIATE
|
|
185
|
+
real_world: Bump.sh Optic
|
|
186
|
+
- id: VER-22
|
|
187
|
+
pattern: Breaking Change Detection
|
|
188
|
+
description: Automated compatibility check
|
|
189
|
+
example: buf breaking proto.lock
|
|
190
|
+
pros: Catch breaks before release
|
|
191
|
+
cons: False positives possible
|
|
192
|
+
level: ADVANCED
|
|
193
|
+
real_world: buf protolint
|
|
194
|
+
- id: VER-23
|
|
195
|
+
pattern: Version Lifecycle
|
|
196
|
+
description: Defined support stages
|
|
197
|
+
example: Latest → Support → Deprecated → EOL
|
|
198
|
+
pros: Clear expectations planning
|
|
199
|
+
cons: Enforcement communication
|
|
200
|
+
level: INTERMEDIATE
|
|
201
|
+
real_world: Twilio
|
|
202
|
+
- id: VER-24
|
|
203
|
+
pattern: Gradual Rollout
|
|
204
|
+
description: Progressive version adoption
|
|
205
|
+
example: 1% → 10% → 50% → 100% traffic
|
|
206
|
+
pros: Safe rollout quick rollback
|
|
207
|
+
cons: Complex infrastructure
|
|
208
|
+
level: ADVANCED
|
|
209
|
+
real_world: Google internal
|
|
210
|
+
- id: VER-25
|
|
211
|
+
pattern: Version Negotiation
|
|
212
|
+
description: Client requests server negotiates
|
|
213
|
+
example: 'Accept: application/vnd.api.v2+json'
|
|
214
|
+
pros: Server backward compatible
|
|
215
|
+
cons: Complex server logic
|
|
216
|
+
level: ADVANCED
|
|
217
|
+
real_world: REST best practice
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
skill: api-design
|
|
3
|
+
domain: error_responses
|
|
4
|
+
version: 6.2.0
|
|
5
|
+
updated: '2026-02-05'
|
|
6
|
+
migrated_from: error-responses.csv
|
|
7
|
+
patterns_count: 20
|
|
8
|
+
columns:
|
|
9
|
+
- id
|
|
10
|
+
- pattern
|
|
11
|
+
- description
|
|
12
|
+
- example
|
|
13
|
+
- rfc
|
|
14
|
+
- level
|
|
15
|
+
patterns:
|
|
16
|
+
- id: ERR-01
|
|
17
|
+
pattern: RFC 9457 Format
|
|
18
|
+
description: Standard problem details
|
|
19
|
+
example: '{type title status detail instance}'
|
|
20
|
+
rfc: RFC 9457
|
|
21
|
+
level: BASIC
|
|
22
|
+
- id: ERR-02
|
|
23
|
+
pattern: Type URI
|
|
24
|
+
description: URI identifying problem type
|
|
25
|
+
example: 'type: https://api.example.com/errors/rate-limit'
|
|
26
|
+
rfc: RFC 9457
|
|
27
|
+
level: BASIC
|
|
28
|
+
- id: ERR-03
|
|
29
|
+
pattern: Title
|
|
30
|
+
description: Short human-readable summary
|
|
31
|
+
example: 'title: "Rate Limit Exceeded"'
|
|
32
|
+
rfc: RFC 9457
|
|
33
|
+
level: BASIC
|
|
34
|
+
- id: ERR-04
|
|
35
|
+
pattern: Status
|
|
36
|
+
description: HTTP status code in body
|
|
37
|
+
example: 'status: 429'
|
|
38
|
+
rfc: RFC 9457
|
|
39
|
+
level: BASIC
|
|
40
|
+
- id: ERR-05
|
|
41
|
+
pattern: Detail
|
|
42
|
+
description: Specific occurrence explanation
|
|
43
|
+
example: 'detail: "You have exceeded 100 requests per minute"'
|
|
44
|
+
rfc: RFC 9457
|
|
45
|
+
level: BASIC
|
|
46
|
+
- id: ERR-06
|
|
47
|
+
pattern: Instance
|
|
48
|
+
description: URI for this occurrence
|
|
49
|
+
example: 'instance: /logs/abc123'
|
|
50
|
+
rfc: RFC 9457
|
|
51
|
+
level: INTERMEDIATE
|
|
52
|
+
- id: ERR-07
|
|
53
|
+
pattern: Content-Type
|
|
54
|
+
description: Problem details media type
|
|
55
|
+
example: 'Content-Type: application/problem+json'
|
|
56
|
+
rfc: RFC 9457
|
|
57
|
+
level: BASIC
|
|
58
|
+
- id: ERR-08
|
|
59
|
+
pattern: Extension Members
|
|
60
|
+
description: Custom fields in response
|
|
61
|
+
example: '{...traceId: "abc" retryAfter: 60}'
|
|
62
|
+
rfc: RFC 9457
|
|
63
|
+
level: INTERMEDIATE
|
|
64
|
+
- id: ERR-09
|
|
65
|
+
pattern: Validation Errors
|
|
66
|
+
description: Array of field errors
|
|
67
|
+
example: '{errors: [{field: "email" code: "invalid"}]}'
|
|
68
|
+
rfc: Custom
|
|
69
|
+
level: BASIC
|
|
70
|
+
- id: ERR-10
|
|
71
|
+
pattern: Error Codes
|
|
72
|
+
description: Machine-readable error codes
|
|
73
|
+
example: '{code: "ERR_INVALID_EMAIL"}'
|
|
74
|
+
rfc: Custom
|
|
75
|
+
level: BASIC
|
|
76
|
+
- id: ERR-11
|
|
77
|
+
pattern: Localized Messages
|
|
78
|
+
description: i18n error messages
|
|
79
|
+
example: '{message: "Invalid email" locale: "en"}'
|
|
80
|
+
rfc: Custom
|
|
81
|
+
level: INTERMEDIATE
|
|
82
|
+
- id: ERR-12
|
|
83
|
+
pattern: Stack Trace Hidden
|
|
84
|
+
description: Never expose stack traces
|
|
85
|
+
example: Remove stack in production
|
|
86
|
+
rfc: Security
|
|
87
|
+
level: BASIC
|
|
88
|
+
- id: ERR-13
|
|
89
|
+
pattern: Sensitive Data Hidden
|
|
90
|
+
description: Mask sensitive info in errors
|
|
91
|
+
example: Hide passwords tokens
|
|
92
|
+
rfc: Security
|
|
93
|
+
level: BASIC
|
|
94
|
+
- id: ERR-14
|
|
95
|
+
pattern: Correlation ID
|
|
96
|
+
description: Link errors to logs
|
|
97
|
+
example: '{correlationId: "req-abc123"}'
|
|
98
|
+
rfc: Observability
|
|
99
|
+
level: INTERMEDIATE
|
|
100
|
+
- id: ERR-15
|
|
101
|
+
pattern: Timestamp
|
|
102
|
+
description: Error occurrence time
|
|
103
|
+
example: '{timestamp: "2024-01-15T10:30:00Z"}'
|
|
104
|
+
rfc: Debugging
|
|
105
|
+
level: BASIC
|
|
106
|
+
- id: ERR-16
|
|
107
|
+
pattern: Request ID
|
|
108
|
+
description: Unique request identifier
|
|
109
|
+
example: 'X-Request-ID: abc123'
|
|
110
|
+
rfc: Debugging
|
|
111
|
+
level: INTERMEDIATE
|
|
112
|
+
- id: ERR-17
|
|
113
|
+
pattern: Documentation Link
|
|
114
|
+
description: Link to error docs
|
|
115
|
+
example: '{docs: "https://docs.api.com/errors/E001"}'
|
|
116
|
+
rfc: DX
|
|
117
|
+
level: INTERMEDIATE
|
|
118
|
+
- id: ERR-18
|
|
119
|
+
pattern: Suggested Action
|
|
120
|
+
description: What client should do
|
|
121
|
+
example: '{action: "Retry after 60 seconds"}'
|
|
122
|
+
rfc: DX
|
|
123
|
+
level: ADVANCED
|
|
124
|
+
- id: ERR-19
|
|
125
|
+
pattern: Partial Success
|
|
126
|
+
description: Return partial results with errors
|
|
127
|
+
example: '{data: [...] errors: [{index: 2}]}'
|
|
128
|
+
rfc: Bulk ops
|
|
129
|
+
level: ADVANCED
|
|
130
|
+
- id: ERR-20
|
|
131
|
+
pattern: Error Hierarchy
|
|
132
|
+
description: Categorized error types
|
|
133
|
+
example: '{category: "validation" type: "field_error"}'
|
|
134
|
+
rfc: Organization
|
|
135
|
+
level: INTERMEDIATE
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
skill: api-design
|
|
3
|
+
domain: graphql_patterns
|
|
4
|
+
version: 6.2.0
|
|
5
|
+
updated: '2026-02-05'
|
|
6
|
+
migrated_from: graphql-patterns.csv
|
|
7
|
+
patterns_count: 25
|
|
8
|
+
columns:
|
|
9
|
+
- id
|
|
10
|
+
- pattern
|
|
11
|
+
- description
|
|
12
|
+
- example
|
|
13
|
+
- level
|
|
14
|
+
- category
|
|
15
|
+
patterns:
|
|
16
|
+
- id: GQL-01
|
|
17
|
+
pattern: PascalCase Types
|
|
18
|
+
description: Use PascalCase for type names
|
|
19
|
+
example: type User type OrderItem
|
|
20
|
+
level: BASIC
|
|
21
|
+
category: naming
|
|
22
|
+
- id: GQL-02
|
|
23
|
+
pattern: camelCase Fields
|
|
24
|
+
description: Use camelCase for field names
|
|
25
|
+
example: firstName lastName createdAt
|
|
26
|
+
level: BASIC
|
|
27
|
+
category: naming
|
|
28
|
+
- id: GQL-03
|
|
29
|
+
pattern: Domain-Driven Schema
|
|
30
|
+
description: Model schema around business domains
|
|
31
|
+
example: type Product type Inventory
|
|
32
|
+
level: BASIC
|
|
33
|
+
category: design
|
|
34
|
+
- id: GQL-04
|
|
35
|
+
pattern: Strong Typing
|
|
36
|
+
description: Leverage type system fully
|
|
37
|
+
example: scalar DateTime enum Status
|
|
38
|
+
level: BASIC
|
|
39
|
+
category: design
|
|
40
|
+
- id: GQL-05
|
|
41
|
+
pattern: Enum Finite Values
|
|
42
|
+
description: Use enums for fixed value sets
|
|
43
|
+
example: enum OrderStatus {PENDING SHIPPED}
|
|
44
|
+
level: BASIC
|
|
45
|
+
category: design
|
|
46
|
+
- id: GQL-06
|
|
47
|
+
pattern: Interface Shared Fields
|
|
48
|
+
description: Use interfaces for common fields
|
|
49
|
+
example: 'interface Node { id: ID! }'
|
|
50
|
+
level: INTERMEDIATE
|
|
51
|
+
category: design
|
|
52
|
+
- id: GQL-07
|
|
53
|
+
pattern: Union Polymorphism
|
|
54
|
+
description: Use unions for different types
|
|
55
|
+
example: union SearchResult = User | Product
|
|
56
|
+
level: INTERMEDIATE
|
|
57
|
+
category: design
|
|
58
|
+
- id: GQL-08
|
|
59
|
+
pattern: Input Types Mutations
|
|
60
|
+
description: Use input types for mutations
|
|
61
|
+
example: input CreateUserInput { name email }
|
|
62
|
+
level: BASIC
|
|
63
|
+
category: mutations
|
|
64
|
+
- id: GQL-09
|
|
65
|
+
pattern: Nullable by Default
|
|
66
|
+
description: Only use Non-Null when guaranteed
|
|
67
|
+
example: 'field: String vs field: String!'
|
|
68
|
+
level: INTERMEDIATE
|
|
69
|
+
category: design
|
|
70
|
+
- id: GQL-10
|
|
71
|
+
pattern: Cursor Pagination
|
|
72
|
+
description: Use connection pattern for lists
|
|
73
|
+
example: first after last before edges
|
|
74
|
+
level: ADVANCED
|
|
75
|
+
category: pagination
|
|
76
|
+
- id: GQL-11
|
|
77
|
+
pattern: Connection Pattern
|
|
78
|
+
description: Relay-style pagination
|
|
79
|
+
example: type UserConnection { edges pageInfo }
|
|
80
|
+
level: ADVANCED
|
|
81
|
+
category: pagination
|
|
82
|
+
- id: GQL-12
|
|
83
|
+
pattern: Query Depth Limit
|
|
84
|
+
description: Prevent deeply nested queries
|
|
85
|
+
example: 'maxDepth: 7 in validation'
|
|
86
|
+
level: BASIC
|
|
87
|
+
category: security
|
|
88
|
+
- id: GQL-13
|
|
89
|
+
pattern: Query Complexity
|
|
90
|
+
description: Limit query complexity score
|
|
91
|
+
example: 'complexityLimit: 1000'
|
|
92
|
+
level: INTERMEDIATE
|
|
93
|
+
category: security
|
|
94
|
+
- id: GQL-14
|
|
95
|
+
pattern: Rate Limiting
|
|
96
|
+
description: Limit queries per time window
|
|
97
|
+
example: 100 queries per minute per user
|
|
98
|
+
level: BASIC
|
|
99
|
+
category: security
|
|
100
|
+
- id: GQL-15
|
|
101
|
+
pattern: DataLoader Batching
|
|
102
|
+
description: Batch N+1 queries with DataLoader
|
|
103
|
+
example: userLoader.load(userId)
|
|
104
|
+
level: ADVANCED
|
|
105
|
+
category: performance
|
|
106
|
+
- id: GQL-16
|
|
107
|
+
pattern: DataLoader Caching
|
|
108
|
+
description: Cache within single request
|
|
109
|
+
example: loader caches per request context
|
|
110
|
+
level: ADVANCED
|
|
111
|
+
category: performance
|
|
112
|
+
- id: GQL-17
|
|
113
|
+
pattern: N+1 Detection
|
|
114
|
+
description: Detect N+1 query patterns
|
|
115
|
+
example: Monitoring resolver execution count
|
|
116
|
+
level: ADVANCED
|
|
117
|
+
category: performance
|
|
118
|
+
- id: GQL-18
|
|
119
|
+
pattern: Context Object
|
|
120
|
+
description: Pass shared data via context
|
|
121
|
+
example: context.user context.db
|
|
122
|
+
level: BASIC
|
|
123
|
+
category: resolvers
|
|
124
|
+
- id: GQL-19
|
|
125
|
+
pattern: Resolver Focus
|
|
126
|
+
description: Keep resolvers thin data-fetching
|
|
127
|
+
example: Extract logic to service layer
|
|
128
|
+
level: INTERMEDIATE
|
|
129
|
+
category: resolvers
|
|
130
|
+
- id: GQL-20
|
|
131
|
+
pattern: Error Extensions
|
|
132
|
+
description: Add structured error data
|
|
133
|
+
example: 'extensions: { code field }'
|
|
134
|
+
level: INTERMEDIATE
|
|
135
|
+
category: errors
|
|
136
|
+
- id: GQL-21
|
|
137
|
+
pattern: Partial Success
|
|
138
|
+
description: Return partial data with errors
|
|
139
|
+
example: 'data: {} errors: [{path}]'
|
|
140
|
+
level: INTERMEDIATE
|
|
141
|
+
category: errors
|
|
142
|
+
- id: GQL-22
|
|
143
|
+
pattern: Deprecation
|
|
144
|
+
description: Use @deprecated directive
|
|
145
|
+
example: '@deprecated(reason: \"Use newField\")'
|
|
146
|
+
level: BASIC
|
|
147
|
+
category: evolution
|
|
148
|
+
- id: GQL-23
|
|
149
|
+
pattern: Schema Documentation
|
|
150
|
+
description: Document types and fields
|
|
151
|
+
example: \"\"\"User account\"\"\" type User
|
|
152
|
+
level: BASIC
|
|
153
|
+
category: documentation
|
|
154
|
+
- id: GQL-24
|
|
155
|
+
pattern: Persisted Queries
|
|
156
|
+
description: Cache query strings server-side
|
|
157
|
+
example: queryId hash instead of full query
|
|
158
|
+
level: ADVANCED
|
|
159
|
+
category: performance
|
|
160
|
+
- id: GQL-25
|
|
161
|
+
pattern: HTTP Caching
|
|
162
|
+
description: Support GET with persisted queries
|
|
163
|
+
example: Cache-Control for read queries
|
|
164
|
+
level: ADVANCED
|
|
165
|
+
category: caching
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
metadata:
|
|
2
|
+
skill: api-design
|
|
3
|
+
domain: grpc_patterns
|
|
4
|
+
version: 6.2.0
|
|
5
|
+
updated: '2026-02-05'
|
|
6
|
+
migrated_from: grpc-patterns.csv
|
|
7
|
+
patterns_count: 25
|
|
8
|
+
columns:
|
|
9
|
+
- id
|
|
10
|
+
- pattern
|
|
11
|
+
- description
|
|
12
|
+
- example
|
|
13
|
+
- level
|
|
14
|
+
- category
|
|
15
|
+
patterns:
|
|
16
|
+
- id: GRPC-01
|
|
17
|
+
pattern: Proto3 Syntax
|
|
18
|
+
description: Use proto3 for all .proto files
|
|
19
|
+
example: syntax = "proto3";
|
|
20
|
+
level: BASIC
|
|
21
|
+
category: protobuf
|
|
22
|
+
- id: GRPC-02
|
|
23
|
+
pattern: Package Naming
|
|
24
|
+
description: Use reverse domain package names
|
|
25
|
+
example: package com.example.api.v1;
|
|
26
|
+
level: BASIC
|
|
27
|
+
category: protobuf
|
|
28
|
+
- id: GRPC-03
|
|
29
|
+
pattern: Message Naming
|
|
30
|
+
description: Use PascalCase for messages
|
|
31
|
+
example: message UserRequest
|
|
32
|
+
level: BASIC
|
|
33
|
+
category: naming
|
|
34
|
+
- id: GRPC-04
|
|
35
|
+
pattern: Field Naming
|
|
36
|
+
description: Use snake_case for fields
|
|
37
|
+
example: string user_name = 1;
|
|
38
|
+
level: BASIC
|
|
39
|
+
category: naming
|
|
40
|
+
- id: GRPC-05
|
|
41
|
+
pattern: Enum Naming
|
|
42
|
+
description: SCREAMING_SNAKE for enum values
|
|
43
|
+
example: enum Status { STATUS_UNSPECIFIED = 0; }
|
|
44
|
+
level: BASIC
|
|
45
|
+
category: naming
|
|
46
|
+
- id: GRPC-06
|
|
47
|
+
pattern: Unspecified Enum
|
|
48
|
+
description: First enum value is UNSPECIFIED = 0
|
|
49
|
+
example: STATUS_UNSPECIFIED = 0;
|
|
50
|
+
level: BASIC
|
|
51
|
+
category: protobuf
|
|
52
|
+
- id: GRPC-07
|
|
53
|
+
pattern: Reserved Tags
|
|
54
|
+
description: Never reuse deleted field tags
|
|
55
|
+
example: reserved 2 15 to 17;
|
|
56
|
+
level: INTERMEDIATE
|
|
57
|
+
category: protobuf
|
|
58
|
+
- id: GRPC-08
|
|
59
|
+
pattern: Reserved Names
|
|
60
|
+
description: Reserve deleted field names
|
|
61
|
+
example: reserved "old_field" "legacy";
|
|
62
|
+
level: INTERMEDIATE
|
|
63
|
+
category: protobuf
|
|
64
|
+
- id: GRPC-09
|
|
65
|
+
pattern: Field Immutability
|
|
66
|
+
description: Never change field types after deploy
|
|
67
|
+
example: int32 to int64 breaks clients
|
|
68
|
+
level: INTERMEDIATE
|
|
69
|
+
category: protobuf
|
|
70
|
+
- id: GRPC-10
|
|
71
|
+
pattern: Well-Known Types
|
|
72
|
+
description: Use google well-known types
|
|
73
|
+
example: google.protobuf.Timestamp
|
|
74
|
+
level: BASIC
|
|
75
|
+
category: protobuf
|
|
76
|
+
- id: GRPC-11
|
|
77
|
+
pattern: Unary RPC
|
|
78
|
+
description: Single request single response
|
|
79
|
+
example: rpc GetUser(UserRequest) returns (User)
|
|
80
|
+
level: BASIC
|
|
81
|
+
category: rpc
|
|
82
|
+
- id: GRPC-12
|
|
83
|
+
pattern: Server Streaming
|
|
84
|
+
description: Single request stream response
|
|
85
|
+
example: rpc ListUsers(Empty) returns (stream User)
|
|
86
|
+
level: INTERMEDIATE
|
|
87
|
+
category: streaming
|
|
88
|
+
- id: GRPC-13
|
|
89
|
+
pattern: Client Streaming
|
|
90
|
+
description: Stream request single response
|
|
91
|
+
example: rpc UploadData(stream Chunk) returns (Status)
|
|
92
|
+
level: INTERMEDIATE
|
|
93
|
+
category: streaming
|
|
94
|
+
- id: GRPC-14
|
|
95
|
+
pattern: Bidirectional Stream
|
|
96
|
+
description: Both sides stream
|
|
97
|
+
example: rpc Chat(stream Msg) returns (stream Msg)
|
|
98
|
+
level: ADVANCED
|
|
99
|
+
category: streaming
|
|
100
|
+
- id: GRPC-15
|
|
101
|
+
pattern: Deadlines
|
|
102
|
+
description: Always set RPC deadlines
|
|
103
|
+
example: ctx WithTimeout(ctx 5*time.Second)
|
|
104
|
+
level: BASIC
|
|
105
|
+
category: reliability
|
|
106
|
+
- id: GRPC-16
|
|
107
|
+
pattern: Keepalive Pings
|
|
108
|
+
description: Maintain HTTP/2 connections
|
|
109
|
+
example: 'keepalive.ClientParameters{Time: 10s}'
|
|
110
|
+
level: INTERMEDIATE
|
|
111
|
+
category: reliability
|
|
112
|
+
- id: GRPC-17
|
|
113
|
+
pattern: Channel Reuse
|
|
114
|
+
description: Reuse gRPC channels
|
|
115
|
+
example: Single channel per service
|
|
116
|
+
level: BASIC
|
|
117
|
+
category: performance
|
|
118
|
+
- id: GRPC-18
|
|
119
|
+
pattern: Channel Pooling
|
|
120
|
+
description: Pool channels under high load
|
|
121
|
+
example: Multiple channels for load distribution
|
|
122
|
+
level: ADVANCED
|
|
123
|
+
category: performance
|
|
124
|
+
- id: GRPC-19
|
|
125
|
+
pattern: Interceptors
|
|
126
|
+
description: Cross-cutting via interceptors
|
|
127
|
+
example: Logging auth interceptors
|
|
128
|
+
level: INTERMEDIATE
|
|
129
|
+
category: patterns
|
|
130
|
+
- id: GRPC-20
|
|
131
|
+
pattern: Error Codes
|
|
132
|
+
description: Use gRPC status codes
|
|
133
|
+
example: codes.NotFound codes.InvalidArgument
|
|
134
|
+
level: BASIC
|
|
135
|
+
category: errors
|
|
136
|
+
- id: GRPC-21
|
|
137
|
+
pattern: Error Details
|
|
138
|
+
description: Add structured error details
|
|
139
|
+
example: status.WithDetails(errInfo)
|
|
140
|
+
level: INTERMEDIATE
|
|
141
|
+
category: errors
|
|
142
|
+
- id: GRPC-22
|
|
143
|
+
pattern: Service Versioning
|
|
144
|
+
description: Version in package name
|
|
145
|
+
example: package api.v1; package api.v2;
|
|
146
|
+
level: BASIC
|
|
147
|
+
category: versioning
|
|
148
|
+
- id: GRPC-23
|
|
149
|
+
pattern: Backward Compatible
|
|
150
|
+
description: Add fields don't remove
|
|
151
|
+
example: New optional fields are safe
|
|
152
|
+
level: INTERMEDIATE
|
|
153
|
+
category: versioning
|
|
154
|
+
- id: GRPC-24
|
|
155
|
+
pattern: mTLS Auth
|
|
156
|
+
description: Mutual TLS for security
|
|
157
|
+
example: grpc.WithTransportCredentials(creds)
|
|
158
|
+
level: ADVANCED
|
|
159
|
+
category: security
|
|
160
|
+
- id: GRPC-25
|
|
161
|
+
pattern: Buf Lint
|
|
162
|
+
description: Use buf lint for proto files
|
|
163
|
+
example: buf lint buf format buf breaking
|
|
164
|
+
level: INTERMEDIATE
|
|
165
|
+
category: tooling
|