@hivehub/rulebook 5.4.0 → 5.4.1
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/.claude/commands/analysis.md +35 -35
- package/.claude/commands/continue.md +33 -33
- package/.claude/commands/ralph-config.md +112 -112
- package/.claude/commands/ralph-history.md +110 -110
- package/.claude/commands/ralph-init.md +72 -72
- package/.claude/commands/ralph-pause-resume.md +105 -105
- package/.claude/commands/ralph-run.md +101 -101
- package/.claude/commands/ralph-status.md +76 -76
- package/.claude/commands/rulebook-decision-create.md +55 -55
- package/.claude/commands/rulebook-decision-list.md +15 -15
- package/.claude/commands/rulebook-knowledge-add.md +41 -41
- package/.claude/commands/rulebook-knowledge-list.md +15 -15
- package/.claude/commands/rulebook-learn-capture.md +48 -48
- package/.claude/commands/rulebook-learn-list.md +13 -13
- package/.claude/commands/rulebook-memory-save.md +48 -48
- package/.claude/commands/rulebook-memory-search.md +47 -47
- package/.claude/commands/rulebook-task-apply.md +67 -67
- package/.claude/commands/rulebook-task-archive.md +94 -94
- package/.claude/commands/rulebook-task-create.md +93 -93
- package/.claude/commands/rulebook-task-list.md +42 -42
- package/.claude/commands/rulebook-task-show.md +52 -52
- package/.claude/commands/rulebook-task-validate.md +53 -53
- package/.claude-plugin/marketplace.json +28 -28
- package/.claude-plugin/plugin.json +8 -8
- package/LICENSE +191 -191
- package/README.md +393 -393
- package/dist/index.js +0 -0
- package/dist/mcp/rulebook-server.js +0 -0
- package/package.json +22 -21
- package/templates/agents/accessibility-reviewer.md +43 -43
- package/templates/agents/api-designer.md +42 -42
- package/templates/agents/architect.md +51 -51
- package/templates/agents/build-engineer.md +36 -36
- package/templates/agents/code-reviewer.md +47 -47
- package/templates/agents/compiler/codegen-debugger.md +34 -34
- package/templates/agents/compiler/stdlib-engineer.md +28 -28
- package/templates/agents/compiler/test-coverage-guardian.md +31 -31
- package/templates/agents/context-intelligence.md +52 -52
- package/templates/agents/database-architect.md +41 -41
- package/templates/agents/devops-engineer.md +42 -42
- package/templates/agents/docs-writer.md +38 -38
- package/templates/agents/game-engine/cpp-core-expert.md +35 -35
- package/templates/agents/game-engine/render-engineer.md +22 -22
- package/templates/agents/game-engine/shader-engineer.md +38 -38
- package/templates/agents/game-engine/systems-integration.md +43 -43
- package/templates/agents/generic/code-reviewer.md +41 -41
- package/templates/agents/generic/docs-writer.md +25 -25
- package/templates/agents/generic/project-manager.md +36 -36
- package/templates/agents/generic/researcher.md +34 -34
- package/templates/agents/generic/test-engineer.md +41 -41
- package/templates/agents/i18n-engineer.md +42 -42
- package/templates/agents/implementer.md +42 -42
- package/templates/agents/migration-engineer.md +42 -42
- package/templates/agents/mobile/platform-specialist.md +22 -22
- package/templates/agents/mobile/ui-engineer.md +22 -22
- package/templates/agents/performance-engineer.md +49 -49
- package/templates/agents/refactoring-agent.md +41 -41
- package/templates/agents/researcher.md +38 -38
- package/templates/agents/security-reviewer.md +40 -40
- package/templates/agents/team-lead.md +37 -37
- package/templates/agents/tester.md +48 -48
- package/templates/agents/ux-reviewer.md +43 -43
- package/templates/agents/web-app/api-designer.md +22 -22
- package/templates/agents/web-app/backend-engineer.md +30 -30
- package/templates/agents/web-app/database-engineer.md +22 -22
- package/templates/agents/web-app/frontend-engineer.md +29 -29
- package/templates/agents/web-app/security-reviewer.md +32 -32
- package/templates/ci/rulebook-review.yml +26 -26
- package/templates/cli/AIDER.md +49 -49
- package/templates/cli/AMAZON_Q.md +25 -25
- package/templates/cli/AUGGIE.md +32 -32
- package/templates/cli/CLAUDE.md +117 -117
- package/templates/cli/CLINE.md +99 -99
- package/templates/cli/CODEBUDDY.md +20 -20
- package/templates/cli/CODEIUM.md +20 -20
- package/templates/cli/CODEX.md +21 -21
- package/templates/cli/CONTINUE.md +34 -34
- package/templates/cli/CURSOR_CLI.md +62 -62
- package/templates/cli/FACTORY.md +18 -18
- package/templates/cli/GEMINI.md +35 -35
- package/templates/cli/KILOCODE.md +18 -18
- package/templates/cli/OPENCODE.md +18 -18
- package/templates/cli/_GENERIC_TEMPLATE.md +29 -29
- package/templates/cli/gemini-extension.json +77 -77
- package/templates/commands/rulebook-decision-create.md +55 -55
- package/templates/commands/rulebook-decision-list.md +15 -15
- package/templates/commands/rulebook-knowledge-add.md +41 -41
- package/templates/commands/rulebook-knowledge-list.md +15 -15
- package/templates/commands/rulebook-learn-capture.md +48 -48
- package/templates/commands/rulebook-learn-list.md +13 -13
- package/templates/commands/rulebook-memory-save.md +48 -48
- package/templates/commands/rulebook-memory-search.md +47 -47
- package/templates/commands/rulebook-task-apply.md +67 -67
- package/templates/commands/rulebook-task-archive.md +94 -94
- package/templates/commands/rulebook-task-create.md +93 -93
- package/templates/commands/rulebook-task-list.md +42 -42
- package/templates/commands/rulebook-task-show.md +52 -52
- package/templates/commands/rulebook-task-validate.md +53 -53
- package/templates/compact-context/_default.md +23 -23
- package/templates/compact-context/cpp.md +26 -26
- package/templates/compact-context/go.md +26 -26
- package/templates/compact-context/python.md +26 -26
- package/templates/compact-context/rust.md +28 -28
- package/templates/compact-context/typescript.md +29 -29
- package/templates/core/AGENTS_OVERRIDE.md +16 -16
- package/templates/core/AGENT_AUTOMATION.md +296 -296
- package/templates/core/CLAUDE_MD_v2.md +71 -71
- package/templates/core/DAG.md +304 -304
- package/templates/core/DECISIONS.md +38 -38
- package/templates/core/DOCUMENTATION_RULES.md +36 -36
- package/templates/core/KNOWLEDGE.md +49 -49
- package/templates/core/MULTI_AGENT.md +74 -74
- package/templates/core/PLANS.md +28 -28
- package/templates/core/QUALITY_ENFORCEMENT.md +68 -68
- package/templates/core/RALPH.md +471 -471
- package/templates/core/RULEBOOK.md +1947 -1947
- package/templates/core/TIER1_PROHIBITIONS.md +154 -154
- package/templates/core/TOKEN_OPTIMIZATION.md +49 -49
- package/templates/core/WORKSPACE.md +69 -69
- package/templates/frameworks/ANGULAR.md +36 -36
- package/templates/frameworks/DJANGO.md +83 -83
- package/templates/frameworks/ELECTRON.md +147 -147
- package/templates/frameworks/FLASK.md +38 -38
- package/templates/frameworks/FLUTTER.md +55 -55
- package/templates/frameworks/JQUERY.md +32 -32
- package/templates/frameworks/LARAVEL.md +38 -38
- package/templates/frameworks/NESTJS.md +43 -43
- package/templates/frameworks/NEXTJS.md +127 -127
- package/templates/frameworks/NUXT.md +40 -40
- package/templates/frameworks/RAILS.md +66 -66
- package/templates/frameworks/REACT.md +38 -38
- package/templates/frameworks/REACT_NATIVE.md +47 -47
- package/templates/frameworks/SPRING.md +39 -39
- package/templates/frameworks/SYMFONY.md +36 -36
- package/templates/frameworks/VUE.md +36 -36
- package/templates/frameworks/ZEND.md +35 -35
- package/templates/git/CI_CD_PATTERNS.md +661 -661
- package/templates/git/GITHUB_ACTIONS.md +728 -728
- package/templates/git/GITLAB_CI.md +730 -730
- package/templates/git/GIT_WORKFLOW.md +1192 -1192
- package/templates/git/SECRETS_MANAGEMENT.md +585 -585
- package/templates/hooks/COMMIT_MSG.md +530 -530
- package/templates/hooks/POST_CHECKOUT.md +546 -546
- package/templates/hooks/PREPARE_COMMIT_MSG.md +619 -619
- package/templates/hooks/PRE_COMMIT.md +414 -414
- package/templates/hooks/PRE_PUSH.md +601 -601
- package/templates/hooks/check-context-and-handoff.ps1 +58 -58
- package/templates/hooks/check-context-and-handoff.sh +76 -76
- package/templates/hooks/enforce-team-for-background-agents.ps1 +63 -63
- package/templates/hooks/enforce-team-for-background-agents.sh +55 -55
- package/templates/hooks/on-compact-reinject.sh +34 -34
- package/templates/hooks/resume-from-handoff.ps1 +40 -40
- package/templates/hooks/resume-from-handoff.sh +61 -61
- package/templates/hooks/terse-activate.ps1 +143 -143
- package/templates/hooks/terse-activate.sh +197 -197
- package/templates/hooks/terse-mode-tracker.ps1 +153 -153
- package/templates/hooks/terse-mode-tracker.sh +187 -187
- package/templates/ides/CONTINUE_RULES.md +16 -16
- package/templates/ides/COPILOT.md +37 -37
- package/templates/ides/COPILOT_INSTRUCTIONS.md +23 -23
- package/templates/ides/CURSOR.md +43 -43
- package/templates/ides/GEMINI_RULES.md +17 -17
- package/templates/ides/JETBRAINS_AI.md +35 -35
- package/templates/ides/REPLIT.md +36 -36
- package/templates/ides/TABNINE.md +29 -29
- package/templates/ides/VSCODE.md +40 -40
- package/templates/ides/WINDSURF.md +36 -36
- package/templates/ides/WINDSURF_RULES.md +14 -14
- package/templates/ides/ZED.md +32 -32
- package/templates/ides/cursor-mdc/go.mdc +24 -24
- package/templates/ides/cursor-mdc/python.mdc +24 -24
- package/templates/ides/cursor-mdc/quality.mdc +25 -25
- package/templates/ides/cursor-mdc/ralph.mdc +39 -39
- package/templates/ides/cursor-mdc/rulebook.mdc +38 -38
- package/templates/ides/cursor-mdc/rust.mdc +24 -24
- package/templates/ides/cursor-mdc/typescript.mdc +25 -25
- package/templates/languages/C.md +333 -333
- package/templates/languages/CPP.md +743 -743
- package/templates/languages/CSHARP.md +417 -417
- package/templates/languages/ELIXIR.md +454 -454
- package/templates/languages/ERLANG.md +361 -361
- package/templates/languages/GO.md +645 -645
- package/templates/languages/HASKELL.md +177 -177
- package/templates/languages/JAVA.md +607 -607
- package/templates/languages/JAVASCRIPT.md +631 -631
- package/templates/languages/JULIA.md +97 -97
- package/templates/languages/KOTLIN.md +511 -511
- package/templates/languages/LISP.md +100 -100
- package/templates/languages/LUA.md +74 -74
- package/templates/languages/OBJECTIVEC.md +90 -90
- package/templates/languages/PHP.md +416 -416
- package/templates/languages/PYTHON.md +682 -682
- package/templates/languages/RUBY.md +421 -421
- package/templates/languages/RUST.md +477 -477
- package/templates/languages/SAS.md +73 -73
- package/templates/languages/SCALA.md +348 -348
- package/templates/languages/SOLIDITY.md +580 -580
- package/templates/languages/SQL.md +137 -137
- package/templates/languages/SWIFT.md +466 -466
- package/templates/languages/TYPESCRIPT.md +591 -591
- package/templates/languages/ZIG.md +265 -265
- package/templates/modules/ATLASSIAN.md +255 -255
- package/templates/modules/CONTEXT7.md +54 -54
- package/templates/modules/FIGMA.md +267 -267
- package/templates/modules/GITHUB_MCP.md +64 -64
- package/templates/modules/GRAFANA.md +328 -328
- package/templates/modules/MEMORY.md +126 -126
- package/templates/modules/NOTION.md +247 -247
- package/templates/modules/PLAYWRIGHT.md +90 -90
- package/templates/modules/RULEBOOK_MCP.md +208 -208
- package/templates/modules/SERENA.md +337 -337
- package/templates/modules/SUPABASE.md +223 -223
- package/templates/modules/SYNAP.md +69 -69
- package/templates/modules/VECTORIZER.md +63 -63
- package/templates/modules/sequential-thinking.md +42 -42
- package/templates/ralph/ralph-history.bat +4 -4
- package/templates/ralph/ralph-history.sh +5 -5
- package/templates/ralph/ralph-init.bat +5 -5
- package/templates/ralph/ralph-init.sh +5 -5
- package/templates/ralph/ralph-pause.bat +5 -5
- package/templates/ralph/ralph-pause.sh +5 -5
- package/templates/ralph/ralph-run.bat +5 -5
- package/templates/ralph/ralph-run.sh +5 -5
- package/templates/ralph/ralph-status.bat +4 -4
- package/templates/ralph/ralph-status.sh +5 -5
- package/templates/rules/consult-analysis-before-implementing.md +23 -23
- package/templates/rules/cpp.md +46 -46
- package/templates/rules/csharp.md +44 -44
- package/templates/rules/diagnostic-first.md +39 -39
- package/templates/rules/fail-twice-escalate.md +46 -46
- package/templates/rules/follow-task-sequence.md +36 -36
- package/templates/rules/git-safety.md +29 -29
- package/templates/rules/go.md +40 -40
- package/templates/rules/incremental-implementation.md +56 -56
- package/templates/rules/incremental-tests.md +29 -29
- package/templates/rules/java.md +43 -43
- package/templates/rules/javascript.md +39 -39
- package/templates/rules/knowledge-base-usage.md +41 -41
- package/templates/rules/multi-agent-teams.md +75 -75
- package/templates/rules/no-deferred.md +31 -31
- package/templates/rules/no-shortcuts.md +30 -30
- package/templates/rules/python.md +43 -43
- package/templates/rules/research-first.md +30 -30
- package/templates/rules/respect-handoff-trigger.md +41 -41
- package/templates/rules/rust.md +40 -40
- package/templates/rules/sequential-editing.md +21 -21
- package/templates/rules/session-workflow.md +24 -24
- package/templates/rules/task-decomposition.md +32 -32
- package/templates/rules/typescript.md +40 -40
- package/templates/services/AZURE_BLOB.md +184 -184
- package/templates/services/CASSANDRA.md +239 -239
- package/templates/services/DATADOG.md +26 -26
- package/templates/services/DOCKER.md +124 -124
- package/templates/services/DOCKER_COMPOSE.md +168 -168
- package/templates/services/DYNAMODB.md +308 -308
- package/templates/services/ELASTICSEARCH.md +347 -347
- package/templates/services/GCS.md +178 -178
- package/templates/services/HELM.md +194 -194
- package/templates/services/INFLUXDB.md +265 -265
- package/templates/services/KAFKA.md +341 -341
- package/templates/services/KUBERNETES.md +208 -208
- package/templates/services/MARIADB.md +183 -183
- package/templates/services/MEMCACHED.md +242 -242
- package/templates/services/MINIO.md +201 -201
- package/templates/services/MONGODB.md +268 -268
- package/templates/services/MYSQL.md +358 -358
- package/templates/services/NEO4J.md +247 -247
- package/templates/services/OPENTELEMETRY.md +25 -25
- package/templates/services/ORACLE.md +290 -290
- package/templates/services/PINO.md +24 -24
- package/templates/services/POSTGRESQL.md +326 -326
- package/templates/services/PROMETHEUS.md +33 -33
- package/templates/services/RABBITMQ.md +286 -286
- package/templates/services/REDIS.md +292 -292
- package/templates/services/S3.md +298 -298
- package/templates/services/SENTRY.md +23 -23
- package/templates/services/SQLITE.md +294 -294
- package/templates/services/SQLSERVER.md +294 -294
- package/templates/services/WINSTON.md +30 -30
- package/templates/skills/cli/aider/SKILL.md +59 -59
- package/templates/skills/cli/amazon-q/SKILL.md +35 -35
- package/templates/skills/cli/auggie/SKILL.md +42 -42
- package/templates/skills/cli/claude/SKILL.md +42 -42
- package/templates/skills/cli/cline/SKILL.md +42 -42
- package/templates/skills/cli/codebuddy/SKILL.md +30 -30
- package/templates/skills/cli/codeium/SKILL.md +30 -30
- package/templates/skills/cli/codex/SKILL.md +31 -31
- package/templates/skills/cli/continue/SKILL.md +44 -44
- package/templates/skills/cli/cursor-cli/SKILL.md +38 -38
- package/templates/skills/cli/factory/SKILL.md +28 -28
- package/templates/skills/cli/gemini/SKILL.md +45 -45
- package/templates/skills/cli/kilocode/SKILL.md +28 -28
- package/templates/skills/cli/opencode/SKILL.md +28 -28
- package/templates/skills/core/agent-automation/SKILL.md +194 -194
- package/templates/skills/core/dag/SKILL.md +314 -314
- package/templates/skills/core/documentation-rules/SKILL.md +46 -46
- package/templates/skills/core/quality-enforcement/SKILL.md +78 -78
- package/templates/skills/core/rulebook/SKILL.md +176 -176
- package/templates/skills/core/rulebook-terse/SKILL.md +116 -116
- package/templates/skills/core/rulebook-terse-commit/SKILL.md +96 -96
- package/templates/skills/core/rulebook-terse-review/SKILL.md +112 -112
- package/templates/skills/dev/accessibility/SKILL.md +17 -17
- package/templates/skills/dev/analysis/SKILL.md +19 -19
- package/templates/skills/dev/api-design/SKILL.md +15 -15
- package/templates/skills/dev/architect/SKILL.md +17 -17
- package/templates/skills/dev/build-fix/SKILL.md +17 -17
- package/templates/skills/dev/db-design/SKILL.md +15 -15
- package/templates/skills/dev/debug/SKILL.md +16 -16
- package/templates/skills/dev/deploy/SKILL.md +17 -17
- package/templates/skills/dev/docs/SKILL.md +17 -17
- package/templates/skills/dev/handoff/SKILL.md +27 -27
- package/templates/skills/dev/migrate/SKILL.md +15 -15
- package/templates/skills/dev/perf/SKILL.md +17 -17
- package/templates/skills/dev/refactor/SKILL.md +17 -17
- package/templates/skills/dev/research/SKILL.md +14 -14
- package/templates/skills/dev/review/SKILL.md +18 -18
- package/templates/skills/dev/security-audit/SKILL.md +17 -17
- package/templates/skills/frameworks/angular/SKILL.md +46 -46
- package/templates/skills/frameworks/django/SKILL.md +93 -93
- package/templates/skills/frameworks/electron/SKILL.md +157 -157
- package/templates/skills/frameworks/flask/SKILL.md +48 -48
- package/templates/skills/frameworks/flutter/SKILL.md +65 -65
- package/templates/skills/frameworks/jquery/SKILL.md +42 -42
- package/templates/skills/frameworks/laravel/SKILL.md +48 -48
- package/templates/skills/frameworks/nestjs/SKILL.md +53 -53
- package/templates/skills/frameworks/nextjs/SKILL.md +137 -137
- package/templates/skills/frameworks/nuxt/SKILL.md +50 -50
- package/templates/skills/frameworks/rails/SKILL.md +76 -76
- package/templates/skills/frameworks/react/SKILL.md +48 -48
- package/templates/skills/frameworks/react-native/SKILL.md +57 -57
- package/templates/skills/frameworks/spring/SKILL.md +49 -49
- package/templates/skills/frameworks/symfony/SKILL.md +46 -46
- package/templates/skills/frameworks/vue/SKILL.md +46 -46
- package/templates/skills/frameworks/zend/SKILL.md +45 -45
- package/templates/skills/ides/copilot/SKILL.md +47 -47
- package/templates/skills/ides/cursor/SKILL.md +53 -53
- package/templates/skills/ides/jetbrains-ai/SKILL.md +45 -45
- package/templates/skills/ides/replit/SKILL.md +46 -46
- package/templates/skills/ides/tabnine/SKILL.md +39 -39
- package/templates/skills/ides/vscode/SKILL.md +50 -50
- package/templates/skills/ides/windsurf/SKILL.md +46 -46
- package/templates/skills/ides/zed/SKILL.md +42 -42
- package/templates/skills/languages/c/SKILL.md +343 -343
- package/templates/skills/languages/cpp/SKILL.md +753 -753
- package/templates/skills/languages/csharp/SKILL.md +427 -427
- package/templates/skills/languages/elixir/SKILL.md +464 -464
- package/templates/skills/languages/erlang/SKILL.md +371 -371
- package/templates/skills/languages/go/SKILL.md +655 -655
- package/templates/skills/languages/haskell/SKILL.md +187 -187
- package/templates/skills/languages/java/SKILL.md +617 -617
- package/templates/skills/languages/javascript/SKILL.md +641 -641
- package/templates/skills/languages/julia/SKILL.md +107 -107
- package/templates/skills/languages/kotlin/SKILL.md +521 -521
- package/templates/skills/languages/lisp/SKILL.md +110 -110
- package/templates/skills/languages/lua/SKILL.md +84 -84
- package/templates/skills/languages/objectivec/SKILL.md +100 -100
- package/templates/skills/languages/php/SKILL.md +426 -426
- package/templates/skills/languages/python/SKILL.md +692 -692
- package/templates/skills/languages/ruby/SKILL.md +431 -431
- package/templates/skills/languages/rust/SKILL.md +487 -487
- package/templates/skills/languages/sas/SKILL.md +83 -83
- package/templates/skills/languages/scala/SKILL.md +358 -358
- package/templates/skills/languages/solidity/SKILL.md +590 -590
- package/templates/skills/languages/sql/SKILL.md +147 -147
- package/templates/skills/languages/swift/SKILL.md +476 -476
- package/templates/skills/languages/typescript/SKILL.md +302 -302
- package/templates/skills/languages/zig/SKILL.md +275 -275
- package/templates/skills/modules/atlassian/SKILL.md +265 -265
- package/templates/skills/modules/context7/SKILL.md +64 -64
- package/templates/skills/modules/figma/SKILL.md +277 -277
- package/templates/skills/modules/github-mcp/SKILL.md +74 -74
- package/templates/skills/modules/grafana/SKILL.md +338 -338
- package/templates/skills/modules/memory/SKILL.md +73 -73
- package/templates/skills/modules/notion/SKILL.md +257 -257
- package/templates/skills/modules/playwright/SKILL.md +100 -100
- package/templates/skills/modules/rulebook-mcp/SKILL.md +166 -166
- package/templates/skills/modules/serena/SKILL.md +347 -347
- package/templates/skills/modules/supabase/SKILL.md +233 -233
- package/templates/skills/modules/synap/SKILL.md +79 -79
- package/templates/skills/modules/vectorizer/SKILL.md +73 -73
- package/templates/skills/services/azure-blob/SKILL.md +194 -194
- package/templates/skills/services/cassandra/SKILL.md +249 -249
- package/templates/skills/services/dynamodb/SKILL.md +318 -318
- package/templates/skills/services/elasticsearch/SKILL.md +357 -357
- package/templates/skills/services/gcs/SKILL.md +188 -188
- package/templates/skills/services/influxdb/SKILL.md +275 -275
- package/templates/skills/services/kafka/SKILL.md +351 -351
- package/templates/skills/services/mariadb/SKILL.md +193 -193
- package/templates/skills/services/memcached/SKILL.md +252 -252
- package/templates/skills/services/minio/SKILL.md +211 -211
- package/templates/skills/services/mongodb/SKILL.md +278 -278
- package/templates/skills/services/mysql/SKILL.md +368 -368
- package/templates/skills/services/neo4j/SKILL.md +257 -257
- package/templates/skills/services/oracle/SKILL.md +300 -300
- package/templates/skills/services/postgresql/SKILL.md +336 -336
- package/templates/skills/services/rabbitmq/SKILL.md +296 -296
- package/templates/skills/services/redis/SKILL.md +302 -302
- package/templates/skills/services/s3/SKILL.md +308 -308
- package/templates/skills/services/sqlite/SKILL.md +304 -304
- package/templates/skills/services/sqlserver/SKILL.md +304 -304
- package/templates/skills/workflows/ralph/SKILL.md +309 -309
- package/templates/skills/workflows/ralph/install.sh +87 -87
- package/templates/skills/workflows/ralph/manifest.json +158 -158
- package/templates/workflows/codespell.yml +31 -31
- package/templates/workflows/cpp-lint.yml +47 -47
- package/templates/workflows/cpp-publish.yml +119 -119
- package/templates/workflows/cpp-test.yml +77 -77
- package/templates/workflows/dotnet-lint.yml +29 -29
- package/templates/workflows/dotnet-publish.yml +40 -40
- package/templates/workflows/dotnet-test.yml +41 -41
- package/templates/workflows/elixir-lint.yml +45 -45
- package/templates/workflows/elixir-publish.yml +49 -49
- package/templates/workflows/elixir-test.yml +54 -54
- package/templates/workflows/erlang-lint.yml +47 -47
- package/templates/workflows/erlang-test.yml +62 -62
- package/templates/workflows/go-lint.yml +39 -39
- package/templates/workflows/go-publish.yml +95 -95
- package/templates/workflows/go-test.yml +59 -59
- package/templates/workflows/java-lint.yml +60 -60
- package/templates/workflows/java-publish.yml +120 -120
- package/templates/workflows/java-test.yml +85 -85
- package/templates/workflows/kotlin-lint.yml +34 -34
- package/templates/workflows/kotlin-publish.yml +56 -56
- package/templates/workflows/kotlin-test.yml +48 -48
- package/templates/workflows/php-lint.yml +39 -39
- package/templates/workflows/php-publish.yml +50 -50
- package/templates/workflows/php-test.yml +54 -54
- package/templates/workflows/python-lint.yml +47 -47
- package/templates/workflows/python-publish.yml +91 -91
- package/templates/workflows/python-test.yml +59 -59
- package/templates/workflows/rust-lint.yml +54 -54
- package/templates/workflows/rust-publish.yml +66 -66
- package/templates/workflows/rust-test.yml +75 -75
- package/templates/workflows/solidity-lint.yml +41 -41
- package/templates/workflows/solidity-test.yml +47 -47
- package/templates/workflows/swift-lint.yml +32 -32
- package/templates/workflows/swift-publish.yml +58 -58
- package/templates/workflows/swift-test.yml +44 -44
- package/templates/workflows/typescript-publish.yml +60 -60
- package/templates/workflows/typescript-test.yml +73 -73
- package/templates/workflows/zig-lint.yml +27 -27
- package/templates/workflows/zig-test.yml +40 -40
- package/dist/hooks/terse-activate.d.ts +0 -59
- package/dist/hooks/terse-activate.d.ts.map +0 -1
- package/dist/hooks/terse-activate.js +0 -149
- package/dist/hooks/terse-activate.js.map +0 -1
- package/dist/hooks/terse-config.d.ts +0 -51
- package/dist/hooks/terse-config.d.ts.map +0 -1
- package/dist/hooks/terse-config.js +0 -130
- package/dist/hooks/terse-config.js.map +0 -1
- package/dist/hooks/terse-mode-tracker.d.ts +0 -78
- package/dist/hooks/terse-mode-tracker.d.ts.map +0 -1
- package/dist/hooks/terse-mode-tracker.js +0 -213
- package/dist/hooks/terse-mode-tracker.js.map +0 -1
|
@@ -1,183 +1,183 @@
|
|
|
1
|
-
<!-- MARIADB:START -->
|
|
2
|
-
# MariaDB Database Instructions
|
|
3
|
-
|
|
4
|
-
**CRITICAL**: Use MariaDB for MySQL-compatible relational database with enhanced features, performance improvements, and open-source licensing.
|
|
5
|
-
|
|
6
|
-
## Core Features
|
|
7
|
-
|
|
8
|
-
### Connection
|
|
9
|
-
```typescript
|
|
10
|
-
// Using mysql2 (compatible with MySQL)
|
|
11
|
-
import mysql from 'mysql2/promise'
|
|
12
|
-
|
|
13
|
-
const pool = mysql.createPool({
|
|
14
|
-
host: process.env.DB_HOST || 'localhost',
|
|
15
|
-
port: parseInt(process.env.DB_PORT || '3306'),
|
|
16
|
-
database: process.env.DB_NAME || 'myapp',
|
|
17
|
-
user: process.env.DB_USER,
|
|
18
|
-
password: process.env.DB_PASSWORD,
|
|
19
|
-
waitForConnections: true,
|
|
20
|
-
connectionLimit: 10,
|
|
21
|
-
queueLimit: 0,
|
|
22
|
-
enableKeepAlive: true,
|
|
23
|
-
keepAliveInitialDelay: 0,
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
// Using Prisma
|
|
27
|
-
import { PrismaClient } from '@prisma/client'
|
|
28
|
-
const prisma = new PrismaClient()
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### Basic Queries
|
|
32
|
-
```typescript
|
|
33
|
-
// SELECT
|
|
34
|
-
const [rows] = await pool.execute('SELECT * FROM users WHERE id = ?', [userId])
|
|
35
|
-
const users = rows as User[]
|
|
36
|
-
|
|
37
|
-
// INSERT
|
|
38
|
-
const [result] = await pool.execute(
|
|
39
|
-
'INSERT INTO users (name, email) VALUES (?, ?)',
|
|
40
|
-
['John Doe', 'john@example.com']
|
|
41
|
-
)
|
|
42
|
-
const insertId = (result as any).insertId
|
|
43
|
-
|
|
44
|
-
// UPDATE
|
|
45
|
-
const [result] = await pool.execute(
|
|
46
|
-
'UPDATE users SET name = ? WHERE id = ?',
|
|
47
|
-
['Jane Doe', userId]
|
|
48
|
-
)
|
|
49
|
-
|
|
50
|
-
// DELETE
|
|
51
|
-
await pool.execute('DELETE FROM users WHERE id = ?', [userId])
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Advanced Features
|
|
55
|
-
```typescript
|
|
56
|
-
// JSON operations (MariaDB 10.2.7+)
|
|
57
|
-
const [rows] = await pool.execute(
|
|
58
|
-
"SELECT * FROM products WHERE JSON_EXTRACT(metadata, '$.category') = ?",
|
|
59
|
-
['electronics']
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
// Window functions (MariaDB 10.2+)
|
|
63
|
-
const [rows] = await pool.execute(`
|
|
64
|
-
SELECT
|
|
65
|
-
name,
|
|
66
|
-
salary,
|
|
67
|
-
ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) as rank
|
|
68
|
-
FROM employees
|
|
69
|
-
`)
|
|
70
|
-
|
|
71
|
-
// Common Table Expressions (CTE) (MariaDB 10.2+)
|
|
72
|
-
const [rows] = await pool.execute(`
|
|
73
|
-
WITH RECURSIVE cte AS (
|
|
74
|
-
SELECT id, name, parent_id FROM categories WHERE parent_id IS NULL
|
|
75
|
-
UNION ALL
|
|
76
|
-
SELECT c.id, c.name, c.parent_id FROM categories c
|
|
77
|
-
INNER JOIN cte ON c.parent_id = cte.id
|
|
78
|
-
)
|
|
79
|
-
SELECT * FROM cte
|
|
80
|
-
`)
|
|
81
|
-
|
|
82
|
-
// Sequences (MariaDB 10.3+)
|
|
83
|
-
await pool.execute('CREATE SEQUENCE user_id_seq START WITH 1 INCREMENT BY 1')
|
|
84
|
-
const [result] = await pool.execute('SELECT NEXT VALUE FOR user_id_seq')
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Common Patterns
|
|
88
|
-
|
|
89
|
-
### Connection Pooling
|
|
90
|
-
```typescript
|
|
91
|
-
let pool: mysql.Pool | null = null
|
|
92
|
-
|
|
93
|
-
export function getPool(): mysql.Pool {
|
|
94
|
-
if (!pool) {
|
|
95
|
-
pool = mysql.createPool({
|
|
96
|
-
// ... config
|
|
97
|
-
})
|
|
98
|
-
}
|
|
99
|
-
return pool
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// Graceful shutdown
|
|
103
|
-
process.on('SIGINT', async () => {
|
|
104
|
-
if (pool) {
|
|
105
|
-
await pool.end()
|
|
106
|
-
}
|
|
107
|
-
process.exit(0)
|
|
108
|
-
})
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### Error Handling
|
|
112
|
-
```typescript
|
|
113
|
-
try {
|
|
114
|
-
const [rows] = await pool.execute('SELECT * FROM users WHERE id = ?', [userId])
|
|
115
|
-
if ((rows as any[]).length === 0) {
|
|
116
|
-
throw new Error('User not found')
|
|
117
|
-
}
|
|
118
|
-
return rows[0]
|
|
119
|
-
} catch (error: any) {
|
|
120
|
-
if (error.code === 'ER_DUP_ENTRY') {
|
|
121
|
-
throw new Error('Duplicate entry')
|
|
122
|
-
}
|
|
123
|
-
throw error
|
|
124
|
-
}
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Best Practices
|
|
128
|
-
|
|
129
|
-
✅ **DO:**
|
|
130
|
-
- Use connection pooling (10-20 connections)
|
|
131
|
-
- Always use parameterized queries (?)
|
|
132
|
-
- Use transactions for multi-step operations
|
|
133
|
-
- Create indexes on frequently queried columns
|
|
134
|
-
- Use InnoDB engine (ACID compliance)
|
|
135
|
-
- Set appropriate charset (utf8mb4)
|
|
136
|
-
- Monitor slow query log
|
|
137
|
-
- Use prepared statements
|
|
138
|
-
|
|
139
|
-
❌ **DON'T:**
|
|
140
|
-
- Use string concatenation for queries
|
|
141
|
-
- Create too many connections
|
|
142
|
-
- Skip error handling
|
|
143
|
-
- Use MyISAM engine
|
|
144
|
-
- Hardcode connection strings
|
|
145
|
-
- Ignore query performance
|
|
146
|
-
|
|
147
|
-
## Configuration
|
|
148
|
-
|
|
149
|
-
### Environment Variables
|
|
150
|
-
```bash
|
|
151
|
-
DB_HOST=localhost
|
|
152
|
-
DB_PORT=3306
|
|
153
|
-
DB_NAME=myapp
|
|
154
|
-
DB_USER=myuser
|
|
155
|
-
DB_PASSWORD=securepassword
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Docker Compose
|
|
159
|
-
```yaml
|
|
160
|
-
services:
|
|
161
|
-
mariadb:
|
|
162
|
-
image: mariadb:11
|
|
163
|
-
environment:
|
|
164
|
-
MYSQL_DATABASE: myapp
|
|
165
|
-
MYSQL_USER: myuser
|
|
166
|
-
MYSQL_PASSWORD: securepassword
|
|
167
|
-
MYSQL_ROOT_PASSWORD: rootpassword
|
|
168
|
-
ports:
|
|
169
|
-
- "3306:3306"
|
|
170
|
-
volumes:
|
|
171
|
-
- mariadb_data:/var/lib/mysql
|
|
172
|
-
healthcheck:
|
|
173
|
-
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
174
|
-
interval: 10s
|
|
175
|
-
timeout: 5s
|
|
176
|
-
retries: 5
|
|
177
|
-
|
|
178
|
-
volumes:
|
|
179
|
-
mariadb_data:
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
<!-- MARIADB:END -->
|
|
183
|
-
|
|
1
|
+
<!-- MARIADB:START -->
|
|
2
|
+
# MariaDB Database Instructions
|
|
3
|
+
|
|
4
|
+
**CRITICAL**: Use MariaDB for MySQL-compatible relational database with enhanced features, performance improvements, and open-source licensing.
|
|
5
|
+
|
|
6
|
+
## Core Features
|
|
7
|
+
|
|
8
|
+
### Connection
|
|
9
|
+
```typescript
|
|
10
|
+
// Using mysql2 (compatible with MySQL)
|
|
11
|
+
import mysql from 'mysql2/promise'
|
|
12
|
+
|
|
13
|
+
const pool = mysql.createPool({
|
|
14
|
+
host: process.env.DB_HOST || 'localhost',
|
|
15
|
+
port: parseInt(process.env.DB_PORT || '3306'),
|
|
16
|
+
database: process.env.DB_NAME || 'myapp',
|
|
17
|
+
user: process.env.DB_USER,
|
|
18
|
+
password: process.env.DB_PASSWORD,
|
|
19
|
+
waitForConnections: true,
|
|
20
|
+
connectionLimit: 10,
|
|
21
|
+
queueLimit: 0,
|
|
22
|
+
enableKeepAlive: true,
|
|
23
|
+
keepAliveInitialDelay: 0,
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
// Using Prisma
|
|
27
|
+
import { PrismaClient } from '@prisma/client'
|
|
28
|
+
const prisma = new PrismaClient()
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Basic Queries
|
|
32
|
+
```typescript
|
|
33
|
+
// SELECT
|
|
34
|
+
const [rows] = await pool.execute('SELECT * FROM users WHERE id = ?', [userId])
|
|
35
|
+
const users = rows as User[]
|
|
36
|
+
|
|
37
|
+
// INSERT
|
|
38
|
+
const [result] = await pool.execute(
|
|
39
|
+
'INSERT INTO users (name, email) VALUES (?, ?)',
|
|
40
|
+
['John Doe', 'john@example.com']
|
|
41
|
+
)
|
|
42
|
+
const insertId = (result as any).insertId
|
|
43
|
+
|
|
44
|
+
// UPDATE
|
|
45
|
+
const [result] = await pool.execute(
|
|
46
|
+
'UPDATE users SET name = ? WHERE id = ?',
|
|
47
|
+
['Jane Doe', userId]
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
// DELETE
|
|
51
|
+
await pool.execute('DELETE FROM users WHERE id = ?', [userId])
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Advanced Features
|
|
55
|
+
```typescript
|
|
56
|
+
// JSON operations (MariaDB 10.2.7+)
|
|
57
|
+
const [rows] = await pool.execute(
|
|
58
|
+
"SELECT * FROM products WHERE JSON_EXTRACT(metadata, '$.category') = ?",
|
|
59
|
+
['electronics']
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
// Window functions (MariaDB 10.2+)
|
|
63
|
+
const [rows] = await pool.execute(`
|
|
64
|
+
SELECT
|
|
65
|
+
name,
|
|
66
|
+
salary,
|
|
67
|
+
ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) as rank
|
|
68
|
+
FROM employees
|
|
69
|
+
`)
|
|
70
|
+
|
|
71
|
+
// Common Table Expressions (CTE) (MariaDB 10.2+)
|
|
72
|
+
const [rows] = await pool.execute(`
|
|
73
|
+
WITH RECURSIVE cte AS (
|
|
74
|
+
SELECT id, name, parent_id FROM categories WHERE parent_id IS NULL
|
|
75
|
+
UNION ALL
|
|
76
|
+
SELECT c.id, c.name, c.parent_id FROM categories c
|
|
77
|
+
INNER JOIN cte ON c.parent_id = cte.id
|
|
78
|
+
)
|
|
79
|
+
SELECT * FROM cte
|
|
80
|
+
`)
|
|
81
|
+
|
|
82
|
+
// Sequences (MariaDB 10.3+)
|
|
83
|
+
await pool.execute('CREATE SEQUENCE user_id_seq START WITH 1 INCREMENT BY 1')
|
|
84
|
+
const [result] = await pool.execute('SELECT NEXT VALUE FOR user_id_seq')
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Common Patterns
|
|
88
|
+
|
|
89
|
+
### Connection Pooling
|
|
90
|
+
```typescript
|
|
91
|
+
let pool: mysql.Pool | null = null
|
|
92
|
+
|
|
93
|
+
export function getPool(): mysql.Pool {
|
|
94
|
+
if (!pool) {
|
|
95
|
+
pool = mysql.createPool({
|
|
96
|
+
// ... config
|
|
97
|
+
})
|
|
98
|
+
}
|
|
99
|
+
return pool
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Graceful shutdown
|
|
103
|
+
process.on('SIGINT', async () => {
|
|
104
|
+
if (pool) {
|
|
105
|
+
await pool.end()
|
|
106
|
+
}
|
|
107
|
+
process.exit(0)
|
|
108
|
+
})
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Error Handling
|
|
112
|
+
```typescript
|
|
113
|
+
try {
|
|
114
|
+
const [rows] = await pool.execute('SELECT * FROM users WHERE id = ?', [userId])
|
|
115
|
+
if ((rows as any[]).length === 0) {
|
|
116
|
+
throw new Error('User not found')
|
|
117
|
+
}
|
|
118
|
+
return rows[0]
|
|
119
|
+
} catch (error: any) {
|
|
120
|
+
if (error.code === 'ER_DUP_ENTRY') {
|
|
121
|
+
throw new Error('Duplicate entry')
|
|
122
|
+
}
|
|
123
|
+
throw error
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Best Practices
|
|
128
|
+
|
|
129
|
+
✅ **DO:**
|
|
130
|
+
- Use connection pooling (10-20 connections)
|
|
131
|
+
- Always use parameterized queries (?)
|
|
132
|
+
- Use transactions for multi-step operations
|
|
133
|
+
- Create indexes on frequently queried columns
|
|
134
|
+
- Use InnoDB engine (ACID compliance)
|
|
135
|
+
- Set appropriate charset (utf8mb4)
|
|
136
|
+
- Monitor slow query log
|
|
137
|
+
- Use prepared statements
|
|
138
|
+
|
|
139
|
+
❌ **DON'T:**
|
|
140
|
+
- Use string concatenation for queries
|
|
141
|
+
- Create too many connections
|
|
142
|
+
- Skip error handling
|
|
143
|
+
- Use MyISAM engine
|
|
144
|
+
- Hardcode connection strings
|
|
145
|
+
- Ignore query performance
|
|
146
|
+
|
|
147
|
+
## Configuration
|
|
148
|
+
|
|
149
|
+
### Environment Variables
|
|
150
|
+
```bash
|
|
151
|
+
DB_HOST=localhost
|
|
152
|
+
DB_PORT=3306
|
|
153
|
+
DB_NAME=myapp
|
|
154
|
+
DB_USER=myuser
|
|
155
|
+
DB_PASSWORD=securepassword
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Docker Compose
|
|
159
|
+
```yaml
|
|
160
|
+
services:
|
|
161
|
+
mariadb:
|
|
162
|
+
image: mariadb:11
|
|
163
|
+
environment:
|
|
164
|
+
MYSQL_DATABASE: myapp
|
|
165
|
+
MYSQL_USER: myuser
|
|
166
|
+
MYSQL_PASSWORD: securepassword
|
|
167
|
+
MYSQL_ROOT_PASSWORD: rootpassword
|
|
168
|
+
ports:
|
|
169
|
+
- "3306:3306"
|
|
170
|
+
volumes:
|
|
171
|
+
- mariadb_data:/var/lib/mysql
|
|
172
|
+
healthcheck:
|
|
173
|
+
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
|
174
|
+
interval: 10s
|
|
175
|
+
timeout: 5s
|
|
176
|
+
retries: 5
|
|
177
|
+
|
|
178
|
+
volumes:
|
|
179
|
+
mariadb_data:
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
<!-- MARIADB:END -->
|
|
183
|
+
|