@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,147 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# PostgreSQL 17/18 Indexing Patterns (Feb 2026)
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Index optimization patterns including PG18 Index Skip Scan
|
|
5
|
+
|
|
6
|
+
metadata:
|
|
7
|
+
skill: sql
|
|
8
|
+
domain: indexing
|
|
9
|
+
version: "18.0.0"
|
|
10
|
+
updated: "2026-02-05"
|
|
11
|
+
patterns_count: 7
|
|
12
|
+
|
|
13
|
+
patterns:
|
|
14
|
+
- id: sql001
|
|
15
|
+
name: B-tree Index
|
|
16
|
+
category: index
|
|
17
|
+
version: "13+"
|
|
18
|
+
description: Default index type for equality and range queries
|
|
19
|
+
text: btree index primary key unique order sort range equality
|
|
20
|
+
example: |
|
|
21
|
+
-- Basic B-tree (default)
|
|
22
|
+
CREATE INDEX idx_users_email ON users (email);
|
|
23
|
+
|
|
24
|
+
-- Composite index (column order matters!)
|
|
25
|
+
CREATE INDEX idx_orders_date_status
|
|
26
|
+
ON orders (created_at DESC, status);
|
|
27
|
+
|
|
28
|
+
-- Works for: =, <, >, <=, >=, BETWEEN, IN
|
|
29
|
+
severity: HIGH
|
|
30
|
+
docs_url: https://www.postgresql.org/docs/current/indexes-types.html
|
|
31
|
+
|
|
32
|
+
- id: sql002
|
|
33
|
+
name: GIN Index
|
|
34
|
+
category: index
|
|
35
|
+
version: "9.1+"
|
|
36
|
+
description: Generalized Inverted Index for JSONB, arrays, and full-text search
|
|
37
|
+
text: gin index jsonb full text search array contains fts
|
|
38
|
+
example: |
|
|
39
|
+
-- JSONB GIN index (for containment @>, @@ operators)
|
|
40
|
+
CREATE INDEX idx_data_jsonb ON products USING GIN (metadata);
|
|
41
|
+
|
|
42
|
+
-- Array GIN index
|
|
43
|
+
CREATE INDEX idx_tags ON products USING GIN (tags);
|
|
44
|
+
|
|
45
|
+
-- Full-text search
|
|
46
|
+
CREATE INDEX idx_fts ON articles
|
|
47
|
+
USING GIN (to_tsvector('english', content));
|
|
48
|
+
|
|
49
|
+
-- Query:
|
|
50
|
+
SELECT * FROM products WHERE metadata @> '{"active": true}';
|
|
51
|
+
severity: HIGH
|
|
52
|
+
docs_url: https://www.postgresql.org/docs/current/gin.html
|
|
53
|
+
|
|
54
|
+
- id: sql003
|
|
55
|
+
name: Covering Index (INCLUDE)
|
|
56
|
+
category: index
|
|
57
|
+
version: "11+"
|
|
58
|
+
description: Include non-key columns to enable index-only scans
|
|
59
|
+
text: covering index include columns performance index only scan
|
|
60
|
+
example: |
|
|
61
|
+
-- Include columns that are frequently selected
|
|
62
|
+
CREATE INDEX idx_orders_status_covering
|
|
63
|
+
ON orders (status)
|
|
64
|
+
INCLUDE (total, customer_id, created_at);
|
|
65
|
+
|
|
66
|
+
-- This query can use index-only scan:
|
|
67
|
+
SELECT status, total, customer_id
|
|
68
|
+
FROM orders WHERE status = 'pending';
|
|
69
|
+
severity: HIGH
|
|
70
|
+
docs_url: https://www.postgresql.org/docs/current/indexes-index-only-scans.html
|
|
71
|
+
|
|
72
|
+
- id: sql004
|
|
73
|
+
name: Partial Index
|
|
74
|
+
category: index
|
|
75
|
+
version: "8.0+"
|
|
76
|
+
description: Index subset of rows with WHERE clause for smaller index size
|
|
77
|
+
text: partial index filter where condition subset active
|
|
78
|
+
example: |
|
|
79
|
+
-- Only index active rows (smaller, faster)
|
|
80
|
+
CREATE INDEX idx_active_users
|
|
81
|
+
ON users (email)
|
|
82
|
+
WHERE is_active = true;
|
|
83
|
+
|
|
84
|
+
-- Only index unprocessed orders
|
|
85
|
+
CREATE INDEX idx_pending_orders
|
|
86
|
+
ON orders (created_at)
|
|
87
|
+
WHERE status = 'pending';
|
|
88
|
+
|
|
89
|
+
-- Query must match WHERE clause to use index
|
|
90
|
+
severity: MEDIUM
|
|
91
|
+
docs_url: https://www.postgresql.org/docs/current/indexes-partial.html
|
|
92
|
+
|
|
93
|
+
- id: sql005
|
|
94
|
+
name: Index Skip Scan
|
|
95
|
+
category: index
|
|
96
|
+
version: "18+"
|
|
97
|
+
description: PG18 feature - use composite index even when leading column not in WHERE
|
|
98
|
+
text: index skip scan composite btree leading column pg18 postgresql 18
|
|
99
|
+
example: |
|
|
100
|
+
-- Composite index on (country, email)
|
|
101
|
+
CREATE INDEX idx_users_country_email ON users (country, email);
|
|
102
|
+
|
|
103
|
+
-- Before PG18: Sequential scan if country not in WHERE
|
|
104
|
+
-- PG18+: Index Skip Scan works!
|
|
105
|
+
SELECT * FROM users WHERE email = 'user@example.com';
|
|
106
|
+
|
|
107
|
+
-- Up to 40% faster than sequential scan
|
|
108
|
+
-- Enable: SET enable_indexskipscan = on; (default in PG18)
|
|
109
|
+
severity: CRITICAL
|
|
110
|
+
docs_url: https://www.postgresql.org/docs/18/indexes-skip-scan.html
|
|
111
|
+
|
|
112
|
+
- id: sql006
|
|
113
|
+
name: Parallel GIN Build
|
|
114
|
+
category: index
|
|
115
|
+
version: "18+"
|
|
116
|
+
description: PG18 parallel index build for GIN indexes (faster JSONB/FTS)
|
|
117
|
+
text: parallel gin index build jsonb full text search performance pg18
|
|
118
|
+
example: |
|
|
119
|
+
-- PG18: GIN indexes can be built in parallel
|
|
120
|
+
SET max_parallel_maintenance_workers = 4;
|
|
121
|
+
|
|
122
|
+
CREATE INDEX CONCURRENTLY idx_products_data
|
|
123
|
+
ON products USING GIN (data);
|
|
124
|
+
|
|
125
|
+
-- Significantly faster for large tables
|
|
126
|
+
severity: HIGH
|
|
127
|
+
docs_url: https://www.postgresql.org/docs/18/parallel-plans.html
|
|
128
|
+
|
|
129
|
+
- id: sql007
|
|
130
|
+
name: BRIN Index
|
|
131
|
+
category: index
|
|
132
|
+
version: "9.5+"
|
|
133
|
+
description: Block Range INdex for naturally ordered data (timestamps, sequences)
|
|
134
|
+
text: brin index block range timestamp sequential date time series
|
|
135
|
+
example: |
|
|
136
|
+
-- Perfect for append-only data (logs, events)
|
|
137
|
+
CREATE INDEX idx_logs_created
|
|
138
|
+
ON logs USING BRIN (created_at);
|
|
139
|
+
|
|
140
|
+
-- Very small index size but requires data correlation
|
|
141
|
+
-- Works best when data is inserted in order
|
|
142
|
+
|
|
143
|
+
-- Query:
|
|
144
|
+
SELECT * FROM logs
|
|
145
|
+
WHERE created_at >= '2026-01-01';
|
|
146
|
+
severity: MEDIUM
|
|
147
|
+
docs_url: https://www.postgresql.org/docs/current/brin.html
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# PostgreSQL 17/18 JSON & Data Patterns (Feb 2026)
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# JSON_TABLE, JSONB operations, and modern data types
|
|
5
|
+
|
|
6
|
+
metadata:
|
|
7
|
+
skill: sql
|
|
8
|
+
domain: json
|
|
9
|
+
version: "17.0.0"
|
|
10
|
+
updated: "2026-02-05"
|
|
11
|
+
patterns_count: 6
|
|
12
|
+
|
|
13
|
+
patterns:
|
|
14
|
+
- id: sql020
|
|
15
|
+
name: JSONB Operators
|
|
16
|
+
category: datatype
|
|
17
|
+
version: "9.4+"
|
|
18
|
+
description: Binary JSON with efficient querying via operators
|
|
19
|
+
text: jsonb json binary operators query @ contains exists index
|
|
20
|
+
example: |
|
|
21
|
+
-- Access values
|
|
22
|
+
SELECT data->'name' AS name, -- Returns JSONB
|
|
23
|
+
data->>'email' AS email -- Returns text
|
|
24
|
+
FROM users;
|
|
25
|
+
|
|
26
|
+
-- Nested access
|
|
27
|
+
SELECT data->'address'->>'city' FROM users;
|
|
28
|
+
|
|
29
|
+
-- Check key exists
|
|
30
|
+
SELECT * FROM users WHERE data ? 'premium';
|
|
31
|
+
|
|
32
|
+
-- Contains operator (uses GIN index)
|
|
33
|
+
SELECT * FROM users
|
|
34
|
+
WHERE data @> '{"role": "admin"}';
|
|
35
|
+
severity: HIGH
|
|
36
|
+
docs_url: https://www.postgresql.org/docs/current/functions-json.html
|
|
37
|
+
|
|
38
|
+
- id: sql021
|
|
39
|
+
name: JSON_TABLE (PG17)
|
|
40
|
+
category: function
|
|
41
|
+
version: "17+"
|
|
42
|
+
description: Convert JSON to table format for SQL analysis
|
|
43
|
+
text: json_table jsonb to table convert sql query standard
|
|
44
|
+
example: |
|
|
45
|
+
-- PG17: Convert JSON array to table
|
|
46
|
+
SELECT jt.*
|
|
47
|
+
FROM products,
|
|
48
|
+
JSON_TABLE(
|
|
49
|
+
products.data,
|
|
50
|
+
'$.items[*]'
|
|
51
|
+
COLUMNS (
|
|
52
|
+
id INTEGER PATH '$.id',
|
|
53
|
+
name TEXT PATH '$.name',
|
|
54
|
+
price DECIMAL(10,2) PATH '$.price'
|
|
55
|
+
)
|
|
56
|
+
) AS jt;
|
|
57
|
+
|
|
58
|
+
-- Great for analytics on JSON data
|
|
59
|
+
severity: HIGH
|
|
60
|
+
docs_url: https://www.postgresql.org/docs/17/functions-json.html#FUNCTIONS-SQLJSON-TABLE
|
|
61
|
+
|
|
62
|
+
- id: sql022
|
|
63
|
+
name: JSON_EXISTS/QUERY/VALUE (PG17)
|
|
64
|
+
category: function
|
|
65
|
+
version: "17+"
|
|
66
|
+
description: SQL/JSON path functions for efficient querying
|
|
67
|
+
text: json_exists json_query json_value path standard sql json
|
|
68
|
+
example: |
|
|
69
|
+
-- Check if path exists
|
|
70
|
+
SELECT * FROM orders
|
|
71
|
+
WHERE JSON_EXISTS(data, '$.items[*] ? (@.qty > 10)');
|
|
72
|
+
|
|
73
|
+
-- Extract value
|
|
74
|
+
SELECT JSON_VALUE(data, '$.customer.name') FROM orders;
|
|
75
|
+
|
|
76
|
+
-- Extract JSON object
|
|
77
|
+
SELECT JSON_QUERY(data, '$.items[0]') FROM orders;
|
|
78
|
+
severity: HIGH
|
|
79
|
+
docs_url: https://www.postgresql.org/docs/17/functions-json.html#FUNCTIONS-SQLJSON-PATH
|
|
80
|
+
|
|
81
|
+
- id: sql023
|
|
82
|
+
name: UUIDv7 (PG18)
|
|
83
|
+
category: datatype
|
|
84
|
+
version: "18+"
|
|
85
|
+
description: Time-ordered UUIDs for better B-tree performance
|
|
86
|
+
text: uuidv7 uuid v7 timestamp ordered unique identifier pg18
|
|
87
|
+
example: |
|
|
88
|
+
-- PG18: Native UUIDv7 support
|
|
89
|
+
SELECT uuidv7();
|
|
90
|
+
-- Returns: 01902d1c-45e0-7000-8000-000000000001
|
|
91
|
+
|
|
92
|
+
-- Better than UUIDv4 for primary keys:
|
|
93
|
+
-- - Time-ordered = less B-tree fragmentation
|
|
94
|
+
-- - Better insert performance
|
|
95
|
+
-- - Contains timestamp for debugging
|
|
96
|
+
|
|
97
|
+
CREATE TABLE orders (
|
|
98
|
+
id uuid PRIMARY KEY DEFAULT uuidv7(),
|
|
99
|
+
created_at timestamp GENERATED ALWAYS AS (
|
|
100
|
+
uuid_extract_timestamp(id)
|
|
101
|
+
) STORED
|
|
102
|
+
);
|
|
103
|
+
severity: HIGH
|
|
104
|
+
docs_url: https://www.postgresql.org/docs/18/functions-uuid.html
|
|
105
|
+
|
|
106
|
+
- id: sql024
|
|
107
|
+
name: JSONB Path Updates
|
|
108
|
+
category: function
|
|
109
|
+
version: "14+"
|
|
110
|
+
description: Update nested JSONB values efficiently
|
|
111
|
+
text: jsonb set path update nested modify
|
|
112
|
+
example: |
|
|
113
|
+
-- Update nested value
|
|
114
|
+
UPDATE users
|
|
115
|
+
SET data = jsonb_set(
|
|
116
|
+
data,
|
|
117
|
+
'{address,city}',
|
|
118
|
+
'"San Francisco"'
|
|
119
|
+
)
|
|
120
|
+
WHERE id = 1;
|
|
121
|
+
|
|
122
|
+
-- Remove key
|
|
123
|
+
UPDATE users
|
|
124
|
+
SET data = data - 'temporary_field';
|
|
125
|
+
|
|
126
|
+
-- Merge JSONB
|
|
127
|
+
UPDATE users
|
|
128
|
+
SET data = data || '{"verified": true}';
|
|
129
|
+
severity: MEDIUM
|
|
130
|
+
docs_url: https://www.postgresql.org/docs/current/functions-json.html#FUNCTIONS-JSON-PROCESSING
|
|
131
|
+
|
|
132
|
+
- id: sql025
|
|
133
|
+
name: Generated Columns
|
|
134
|
+
category: ddl
|
|
135
|
+
version: "12+"
|
|
136
|
+
description: Computed columns that update automatically
|
|
137
|
+
text: generated column computed stored virtual
|
|
138
|
+
example: |
|
|
139
|
+
-- Stored generated column (persisted)
|
|
140
|
+
CREATE TABLE products (
|
|
141
|
+
price_cents integer,
|
|
142
|
+
price_dollars numeric
|
|
143
|
+
GENERATED ALWAYS AS (price_cents / 100.0) STORED
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
-- Extract from JSONB
|
|
147
|
+
CREATE TABLE users (
|
|
148
|
+
data jsonb,
|
|
149
|
+
email text
|
|
150
|
+
GENERATED ALWAYS AS (data->>'email') STORED
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
-- Can be indexed!
|
|
154
|
+
CREATE INDEX idx_users_email ON users (email);
|
|
155
|
+
severity: MEDIUM
|
|
156
|
+
docs_url: https://www.postgresql.org/docs/current/ddl-generated-columns.html
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# PostgreSQL 17/18 Performance Patterns (Feb 2026)
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Query optimization and performance monitoring
|
|
5
|
+
|
|
6
|
+
metadata:
|
|
7
|
+
skill: sql
|
|
8
|
+
domain: performance
|
|
9
|
+
version: "18.0.0"
|
|
10
|
+
updated: "2026-02-05"
|
|
11
|
+
patterns_count: 9
|
|
12
|
+
|
|
13
|
+
patterns:
|
|
14
|
+
- id: sql010
|
|
15
|
+
name: EXPLAIN ANALYZE
|
|
16
|
+
category: monitoring
|
|
17
|
+
version: "8.0+"
|
|
18
|
+
description: Analyze query execution plan with timing and buffers
|
|
19
|
+
text: explain analyze buffers query plan execution performance
|
|
20
|
+
example: |
|
|
21
|
+
EXPLAIN (ANALYZE, BUFFERS, TIMING, VERBOSE)
|
|
22
|
+
SELECT * FROM orders
|
|
23
|
+
WHERE customer_id = 123
|
|
24
|
+
AND created_at > '2026-01-01';
|
|
25
|
+
|
|
26
|
+
-- Look for:
|
|
27
|
+
-- - Sequential scans on large tables (bad)
|
|
28
|
+
-- - High buffer reads (caching issue)
|
|
29
|
+
-- - Actual vs Planned rows mismatch (stats outdated)
|
|
30
|
+
severity: HIGH
|
|
31
|
+
docs_url: https://www.postgresql.org/docs/current/sql-explain.html
|
|
32
|
+
|
|
33
|
+
- id: sql011
|
|
34
|
+
name: Async I/O (PG18)
|
|
35
|
+
category: performance
|
|
36
|
+
version: "18+"
|
|
37
|
+
description: PG18 asynchronous I/O for 3x faster sequential scans
|
|
38
|
+
text: aio async io performance sequential scan vacuum pg18
|
|
39
|
+
example: |
|
|
40
|
+
-- PG18: Async I/O enabled by default for read-heavy workloads
|
|
41
|
+
-- Up to 3x faster sequential scans
|
|
42
|
+
-- Up to 3x faster VACUUM operations
|
|
43
|
+
|
|
44
|
+
-- Check if AIO is being used:
|
|
45
|
+
SELECT * FROM pg_stat_io;
|
|
46
|
+
|
|
47
|
+
-- Good for: Data warehousing, analytics, bulk operations
|
|
48
|
+
severity: CRITICAL
|
|
49
|
+
docs_url: https://www.postgresql.org/docs/18/asynchronous-io.html
|
|
50
|
+
|
|
51
|
+
- id: sql012
|
|
52
|
+
name: pg_stat_statements
|
|
53
|
+
category: monitoring
|
|
54
|
+
version: "8.4+"
|
|
55
|
+
description: Track execution statistics of all SQL statements
|
|
56
|
+
text: pg_stat_statements monitoring slow query execution stats
|
|
57
|
+
example: |
|
|
58
|
+
-- Enable extension
|
|
59
|
+
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
|
|
60
|
+
|
|
61
|
+
-- Find slowest queries
|
|
62
|
+
SELECT query, calls, total_exec_time / calls AS avg_time
|
|
63
|
+
FROM pg_stat_statements
|
|
64
|
+
ORDER BY total_exec_time DESC
|
|
65
|
+
LIMIT 10;
|
|
66
|
+
|
|
67
|
+
-- Find most frequent queries
|
|
68
|
+
SELECT query, calls FROM pg_stat_statements
|
|
69
|
+
ORDER BY calls DESC LIMIT 10;
|
|
70
|
+
severity: HIGH
|
|
71
|
+
docs_url: https://www.postgresql.org/docs/current/pgstatstatements.html
|
|
72
|
+
|
|
73
|
+
- id: sql013
|
|
74
|
+
name: pg_stat_io (PG16+)
|
|
75
|
+
category: monitoring
|
|
76
|
+
version: "16+"
|
|
77
|
+
description: I/O statistics for understanding disk/buffer activity
|
|
78
|
+
text: pg_stat_io statistics monitoring reads writes buffer io
|
|
79
|
+
example: |
|
|
80
|
+
-- View I/O statistics by backend type
|
|
81
|
+
SELECT backend_type, reads, writes, hits
|
|
82
|
+
FROM pg_stat_io
|
|
83
|
+
WHERE backend_type = 'client backend';
|
|
84
|
+
|
|
85
|
+
-- Calculate cache hit ratio
|
|
86
|
+
SELECT
|
|
87
|
+
sum(hits) / nullif(sum(hits) + sum(reads), 0)
|
|
88
|
+
AS cache_hit_ratio
|
|
89
|
+
FROM pg_stat_io;
|
|
90
|
+
severity: MEDIUM
|
|
91
|
+
docs_url: https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-IO
|
|
92
|
+
|
|
93
|
+
- id: sql014
|
|
94
|
+
name: Connection Pooling
|
|
95
|
+
category: performance
|
|
96
|
+
version: "all"
|
|
97
|
+
description: Use connection pooler (PgBouncer) for high concurrency
|
|
98
|
+
text: connection pool pgbouncer connectionlimit performance
|
|
99
|
+
example: |
|
|
100
|
+
-- Check current connections
|
|
101
|
+
SELECT count(*) FROM pg_stat_activity;
|
|
102
|
+
|
|
103
|
+
-- PostgreSQL max_connections (default 100)
|
|
104
|
+
SHOW max_connections;
|
|
105
|
+
|
|
106
|
+
-- PgBouncer config (pgbouncer.ini)
|
|
107
|
+
[databases]
|
|
108
|
+
mydb = host=localhost dbname=mydb
|
|
109
|
+
|
|
110
|
+
[pgbouncer]
|
|
111
|
+
pool_mode = transaction
|
|
112
|
+
max_client_conn = 1000
|
|
113
|
+
default_pool_size = 20
|
|
114
|
+
severity: HIGH
|
|
115
|
+
docs_url: https://www.pgbouncer.org/
|
|
116
|
+
|
|
117
|
+
- id: sql015
|
|
118
|
+
name: VACUUM and ANALYZE
|
|
119
|
+
category: maintenance
|
|
120
|
+
version: "8.0+"
|
|
121
|
+
description: Reclaim storage and update query planner statistics
|
|
122
|
+
text: vacuum analyze maintenance autovacuum statistics bloat
|
|
123
|
+
example: |
|
|
124
|
+
-- Manual vacuum
|
|
125
|
+
VACUUM (VERBOSE) orders;
|
|
126
|
+
|
|
127
|
+
-- Update statistics
|
|
128
|
+
ANALYZE orders;
|
|
129
|
+
|
|
130
|
+
-- Check autovacuum status
|
|
131
|
+
SELECT schemaname, relname,
|
|
132
|
+
last_vacuum, last_autovacuum,
|
|
133
|
+
n_dead_tup
|
|
134
|
+
FROM pg_stat_user_tables
|
|
135
|
+
WHERE n_dead_tup > 10000;
|
|
136
|
+
|
|
137
|
+
-- PG18: pg_upgrade preserves optimizer stats!
|
|
138
|
+
severity: HIGH
|
|
139
|
+
docs_url: https://www.postgresql.org/docs/current/routine-vacuuming.html
|
|
140
|
+
|
|
141
|
+
- id: sql016
|
|
142
|
+
name: Parallel Query
|
|
143
|
+
category: performance
|
|
144
|
+
version: "9.6+"
|
|
145
|
+
description: Parallelize sequential scans, aggregates, and joins
|
|
146
|
+
text: parallel query workers sequential scan aggregate
|
|
147
|
+
example: |
|
|
148
|
+
-- Check parallel settings
|
|
149
|
+
SHOW max_parallel_workers_per_gather;
|
|
150
|
+
|
|
151
|
+
-- Enable more parallelism
|
|
152
|
+
SET max_parallel_workers_per_gather = 4;
|
|
153
|
+
|
|
154
|
+
-- Parallel-eligible query
|
|
155
|
+
EXPLAIN SELECT count(*) FROM large_table
|
|
156
|
+
WHERE status = 'active';
|
|
157
|
+
|
|
158
|
+
-- Look for "Gather" node in plan
|
|
159
|
+
severity: MEDIUM
|
|
160
|
+
docs_url: https://www.postgresql.org/docs/current/parallel-query.html
|
|
161
|
+
|
|
162
|
+
- id: sql017
|
|
163
|
+
name: pg_aios View (PG18)
|
|
164
|
+
category: monitoring
|
|
165
|
+
version: "18+"
|
|
166
|
+
description: Monitor async I/O operations with real-time statistics
|
|
167
|
+
text: pg_aios async io monitoring statistics view aio operations
|
|
168
|
+
example: |
|
|
169
|
+
-- View active async I/O operations
|
|
170
|
+
SELECT * FROM pg_aios;
|
|
171
|
+
|
|
172
|
+
-- Monitor AIO by backend
|
|
173
|
+
SELECT
|
|
174
|
+
pid,
|
|
175
|
+
state,
|
|
176
|
+
io_type,
|
|
177
|
+
blocks_requested,
|
|
178
|
+
blocks_completed
|
|
179
|
+
FROM pg_aios
|
|
180
|
+
WHERE state = 'in_progress';
|
|
181
|
+
severity: HIGH
|
|
182
|
+
docs_url: https://www.postgresql.org/docs/18/asynchronous-io.html
|
|
183
|
+
|
|
184
|
+
- id: sql018
|
|
185
|
+
name: io_uring (PG18 Linux)
|
|
186
|
+
category: performance
|
|
187
|
+
version: "18+"
|
|
188
|
+
description: Linux io_uring backend for maximum async I/O performance
|
|
189
|
+
text: io_uring linux kernel async io performance ring buffer
|
|
190
|
+
example: |
|
|
191
|
+
-- PG18 supports two AIO backends:
|
|
192
|
+
-- 1. io_uring (Linux 5.1+) - fastest, uses kernel ring buffers
|
|
193
|
+
-- 2. worker - cross-platform, uses worker processes
|
|
194
|
+
|
|
195
|
+
-- Check AIO configuration
|
|
196
|
+
SHOW io_method;
|
|
197
|
+
-- Default: io_uring on Linux, worker on other platforms
|
|
198
|
+
|
|
199
|
+
-- Benefits:
|
|
200
|
+
-- - 2-3x faster sequential scans
|
|
201
|
+
-- - 2-3x faster bitmap heap scans
|
|
202
|
+
-- - No application code changes needed
|
|
203
|
+
severity: CRITICAL
|
|
204
|
+
docs_url: https://www.postgresql.org/docs/18/asynchronous-io.html
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# PostgreSQL Query Patterns (Feb 2026)
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Common query patterns and advanced SQL features
|
|
5
|
+
|
|
6
|
+
metadata:
|
|
7
|
+
skill: sql
|
|
8
|
+
domain: queries
|
|
9
|
+
version: "17.0.0"
|
|
10
|
+
updated: "2026-02-05"
|
|
11
|
+
patterns_count: 6
|
|
12
|
+
|
|
13
|
+
patterns:
|
|
14
|
+
- id: sql030
|
|
15
|
+
name: Common Table Expression (CTE)
|
|
16
|
+
category: query
|
|
17
|
+
version: "8.4+"
|
|
18
|
+
description: WITH clause for readable, reusable query parts
|
|
19
|
+
text: cte common table expression with recursive query readable
|
|
20
|
+
example: |
|
|
21
|
+
WITH active_customers AS (
|
|
22
|
+
SELECT id, name, email
|
|
23
|
+
FROM customers
|
|
24
|
+
WHERE is_active = true
|
|
25
|
+
),
|
|
26
|
+
recent_orders AS (
|
|
27
|
+
SELECT customer_id, count(*) as order_count
|
|
28
|
+
FROM orders
|
|
29
|
+
WHERE created_at > now() - interval '30 days'
|
|
30
|
+
GROUP BY customer_id
|
|
31
|
+
)
|
|
32
|
+
SELECT c.name, r.order_count
|
|
33
|
+
FROM active_customers c
|
|
34
|
+
JOIN recent_orders r ON c.id = r.customer_id;
|
|
35
|
+
|
|
36
|
+
-- PG17: Improved CTE planning and materialization
|
|
37
|
+
severity: HIGH
|
|
38
|
+
docs_url: https://www.postgresql.org/docs/current/queries-with.html
|
|
39
|
+
|
|
40
|
+
- id: sql031
|
|
41
|
+
name: Window Functions
|
|
42
|
+
category: query
|
|
43
|
+
version: "8.4+"
|
|
44
|
+
description: Perform calculations across related rows
|
|
45
|
+
text: window function rank row_number partition over running total
|
|
46
|
+
example: |
|
|
47
|
+
-- Row number by category
|
|
48
|
+
SELECT
|
|
49
|
+
product_name,
|
|
50
|
+
category,
|
|
51
|
+
price,
|
|
52
|
+
ROW_NUMBER() OVER (
|
|
53
|
+
PARTITION BY category
|
|
54
|
+
ORDER BY price DESC
|
|
55
|
+
) as rank
|
|
56
|
+
FROM products;
|
|
57
|
+
|
|
58
|
+
-- Running total
|
|
59
|
+
SELECT
|
|
60
|
+
date,
|
|
61
|
+
amount,
|
|
62
|
+
SUM(amount) OVER (ORDER BY date) as running_total
|
|
63
|
+
FROM transactions;
|
|
64
|
+
severity: HIGH
|
|
65
|
+
docs_url: https://www.postgresql.org/docs/current/tutorial-window.html
|
|
66
|
+
|
|
67
|
+
- id: sql032
|
|
68
|
+
name: UPSERT (ON CONFLICT)
|
|
69
|
+
category: dml
|
|
70
|
+
version: "9.5+"
|
|
71
|
+
description: Insert or update on conflict
|
|
72
|
+
text: upsert insert on conflict update nothing do merge
|
|
73
|
+
example: |
|
|
74
|
+
-- Update on conflict
|
|
75
|
+
INSERT INTO products (sku, name, price)
|
|
76
|
+
VALUES ('ABC123', 'Widget', 29.99)
|
|
77
|
+
ON CONFLICT (sku)
|
|
78
|
+
DO UPDATE SET
|
|
79
|
+
name = EXCLUDED.name,
|
|
80
|
+
price = EXCLUDED.price,
|
|
81
|
+
updated_at = now();
|
|
82
|
+
|
|
83
|
+
-- Insert or ignore
|
|
84
|
+
INSERT INTO logs (event_id, message)
|
|
85
|
+
VALUES ('evt123', 'User login')
|
|
86
|
+
ON CONFLICT (event_id) DO NOTHING;
|
|
87
|
+
severity: HIGH
|
|
88
|
+
docs_url: https://www.postgresql.org/docs/current/sql-insert.html#SQL-ON-CONFLICT
|
|
89
|
+
|
|
90
|
+
- id: sql033
|
|
91
|
+
name: LATERAL Join
|
|
92
|
+
category: query
|
|
93
|
+
version: "9.3+"
|
|
94
|
+
description: Subquery that references preceding FROM items
|
|
95
|
+
text: lateral join subquery correlated top n per group
|
|
96
|
+
example: |
|
|
97
|
+
-- Top 3 orders per customer
|
|
98
|
+
SELECT c.name, o.*
|
|
99
|
+
FROM customers c
|
|
100
|
+
CROSS JOIN LATERAL (
|
|
101
|
+
SELECT * FROM orders
|
|
102
|
+
WHERE customer_id = c.id
|
|
103
|
+
ORDER BY created_at DESC
|
|
104
|
+
LIMIT 3
|
|
105
|
+
) o;
|
|
106
|
+
|
|
107
|
+
-- More efficient than correlated subqueries
|
|
108
|
+
severity: MEDIUM
|
|
109
|
+
docs_url: https://www.postgresql.org/docs/current/queries-table-expressions.html#QUERIES-LATERAL
|
|
110
|
+
|
|
111
|
+
- id: sql034
|
|
112
|
+
name: Transaction & Savepoints
|
|
113
|
+
category: safety
|
|
114
|
+
version: "8.0+"
|
|
115
|
+
description: ACID transactions with partial rollback support
|
|
116
|
+
text: transaction begin commit rollback savepoint isolation
|
|
117
|
+
example: |
|
|
118
|
+
BEGIN;
|
|
119
|
+
|
|
120
|
+
INSERT INTO orders (id, total) VALUES (1, 100.00);
|
|
121
|
+
SAVEPOINT order_created;
|
|
122
|
+
|
|
123
|
+
-- Try to update inventory
|
|
124
|
+
UPDATE products SET stock = stock - 1 WHERE id = 42;
|
|
125
|
+
|
|
126
|
+
-- If error, rollback to savepoint
|
|
127
|
+
ROLLBACK TO order_created;
|
|
128
|
+
|
|
129
|
+
-- Or commit all
|
|
130
|
+
COMMIT;
|
|
131
|
+
severity: HIGH
|
|
132
|
+
docs_url: https://www.postgresql.org/docs/current/sql-savepoint.html
|
|
133
|
+
|
|
134
|
+
- id: sql035
|
|
135
|
+
name: Parallel COPY (PG18)
|
|
136
|
+
category: bulk
|
|
137
|
+
version: "18+"
|
|
138
|
+
description: PG18 parallel COPY FROM for faster bulk imports
|
|
139
|
+
text: parallel copy from import bulk load csv pg18
|
|
140
|
+
example: |
|
|
141
|
+
-- PG18: Parallel COPY FROM
|
|
142
|
+
SET max_parallel_workers = 4;
|
|
143
|
+
|
|
144
|
+
COPY large_table FROM '/data/input.csv'
|
|
145
|
+
WITH (FORMAT csv, HEADER true);
|
|
146
|
+
|
|
147
|
+
-- Significant speedup for large imports
|
|
148
|
+
-- Works with CSV, binary formats
|
|
149
|
+
severity: HIGH
|
|
150
|
+
docs_url: https://www.postgresql.org/docs/18/sql-copy.html
|