agent-skill-kit 3.9.135
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/global.d.ts +80 -0
- package/.agent/rules/GEMINI.md +210 -0
- package/.agent/rules/autopilot.md +287 -0
- package/.agent/rules/code-rules.md +227 -0
- package/.agent/scripts/audit_workflows.ts +23 -0
- package/.agent/scripts/auto_preview.ts +170 -0
- package/.agent/scripts/checklist.ts +180 -0
- package/.agent/scripts/compile-agents.ts +237 -0
- package/.agent/scripts/fix_skills.ts +49 -0
- package/.agent/scripts/session_manager.ts +222 -0
- package/.agent/scripts/skill-audit.ts +255 -0
- package/.agent/scripts/sync_workflows.ts +54 -0
- package/.agent/scripts/utils/colors.ts +58 -0
- package/.agent/scripts/utils/process-manager.ts +131 -0
- package/.agent/scripts/utils/reporter.ts +192 -0
- package/.agent/scripts/utils/runner.ts +128 -0
- package/.agent/scripts/verify_all.ts +243 -0
- package/.agent/scripts/version-sync.ts +256 -0
- package/.agent/skills/SKILL_INDEX.md +129 -0
- package/.agent/skills/agent-browser/AGENTS.md +728 -0
- package/.agent/skills/agent-browser/SKILL.md +193 -0
- package/.agent/skills/agent-browser/rules/_sections.md +15 -0
- package/.agent/skills/agent-browser/rules/_template.md +32 -0
- package/.agent/skills/agent-browser/rules/engineering-spec.md +528 -0
- package/.agent/skills/agent-browser/scripts/browser_cli.ts +52 -0
- package/.agent/skills/agent-browser/scripts/session_manager.ts +166 -0
- package/.agent/skills/ai-artist/AGENTS.md +1082 -0
- package/.agent/skills/ai-artist/SKILL.md +186 -0
- package/.agent/skills/ai-artist/rules/_sections.md +30 -0
- package/.agent/skills/ai-artist/rules/_template.md +32 -0
- package/.agent/skills/ai-artist/rules/domain-code.md +118 -0
- package/.agent/skills/ai-artist/rules/domain-marketing.md +105 -0
- package/.agent/skills/ai-artist/rules/engineering-spec.md +519 -0
- package/.agent/skills/ai-artist/rules/image-prompts.md +195 -0
- package/.agent/skills/ai-artist/rules/model-syntax.md +115 -0
- package/.agent/skills/ai-artist/scripts/prompt_compiler.ts +72 -0
- package/.agent/skills/ai-artist/templates/image-core.txt +1 -0
- package/.agent/skills/ai-artist/templates/llm-core.txt +6 -0
- package/.agent/skills/api-architect/AGENTS.md +1896 -0
- package/.agent/skills/api-architect/SKILL.md +173 -0
- package/.agent/skills/api-architect/rules/_sections.md +35 -0
- package/.agent/skills/api-architect/rules/_template.md +32 -0
- package/.agent/skills/api-architect/rules/api-style.md +115 -0
- package/.agent/skills/api-architect/rules/auth.md +134 -0
- package/.agent/skills/api-architect/rules/documentation.md +131 -0
- package/.agent/skills/api-architect/rules/engineering-spec.md +505 -0
- package/.agent/skills/api-architect/rules/graphql.md +154 -0
- package/.agent/skills/api-architect/rules/rate-limiting.md +76 -0
- package/.agent/skills/api-architect/rules/response.md +138 -0
- package/.agent/skills/api-architect/rules/rest.md +113 -0
- package/.agent/skills/api-architect/rules/security-testing.md +146 -0
- package/.agent/skills/api-architect/rules/trpc.md +129 -0
- package/.agent/skills/api-architect/rules/versioning.md +100 -0
- package/.agent/skills/api-architect/scripts/api_validator.ts +413 -0
- package/.agent/skills/auth-patterns/AGENTS.md +1830 -0
- package/.agent/skills/auth-patterns/SKILL.md +163 -0
- package/.agent/skills/auth-patterns/rules/_sections.md +30 -0
- package/.agent/skills/auth-patterns/rules/_template.md +32 -0
- package/.agent/skills/auth-patterns/rules/engineering-spec.md +515 -0
- package/.agent/skills/auth-patterns/rules/jwt-deep.md +196 -0
- package/.agent/skills/auth-patterns/rules/mfa.md +174 -0
- package/.agent/skills/auth-patterns/rules/oauth2.md +134 -0
- package/.agent/skills/auth-patterns/rules/passkey.md +243 -0
- package/.agent/skills/auth-patterns/rules/rbac-abac.md +206 -0
- package/.agent/skills/auth-patterns/rules/session.md +183 -0
- package/.agent/skills/auth-patterns/scripts/auth_validator.ts +121 -0
- package/.agent/skills/chrome-devtools/AGENTS.md +952 -0
- package/.agent/skills/chrome-devtools/SKILL.md +160 -0
- package/.agent/skills/chrome-devtools/rules/_sections.md +25 -0
- package/.agent/skills/chrome-devtools/rules/_template.md +32 -0
- package/.agent/skills/chrome-devtools/rules/aria-snapshot.md +95 -0
- package/.agent/skills/chrome-devtools/rules/engineering-spec.md +510 -0
- package/.agent/skills/chrome-devtools/rules/scripts-guide.md +174 -0
- package/.agent/skills/chrome-devtools/scripts/aria-snapshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/click.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/console.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/core_cli.ts +79 -0
- package/.agent/skills/chrome-devtools/scripts/evaluate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/fill.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/navigate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/network.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/performance.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/screenshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/select-ref.ts +3 -0
- package/.agent/skills/cicd-pipeline/AGENTS.md +809 -0
- package/.agent/skills/cicd-pipeline/SKILL.md +164 -0
- package/.agent/skills/cicd-pipeline/rules/_sections.md +15 -0
- package/.agent/skills/cicd-pipeline/rules/_template.md +32 -0
- package/.agent/skills/cicd-pipeline/rules/engineering-spec.md +477 -0
- package/.agent/skills/cicd-pipeline/scripts/flag-manager.ts +253 -0
- package/.agent/skills/cicd-pipeline/scripts/pipeline_validator.ts +133 -0
- package/.agent/skills/code-constitution/AGENTS.md +597 -0
- package/.agent/skills/code-constitution/CHANGELOG.md +216 -0
- package/.agent/skills/code-constitution/SKILL.md +191 -0
- package/.agent/skills/code-constitution/VERSION +3 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/after.tsx +59 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/before.tsx +42 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/explanation.md +91 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/after.tsx +99 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/before.tsx +57 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/explanation.md +120 -0
- package/.agent/skills/code-constitution/knowledge/lessons-learned.yaml +3 -0
- package/.agent/skills/code-constitution/metadata/precedence.yaml +117 -0
- package/.agent/skills/code-constitution/metadata/scope-map.yaml +156 -0
- package/.agent/skills/code-constitution/proposals/v1.1-change-proposal-template.md +201 -0
- package/.agent/skills/code-constitution/resources/AUTHORITY_MODEL.md +115 -0
- package/.agent/skills/code-constitution/resources/ENFORCEMENT_GUIDE.md +246 -0
- package/.agent/skills/code-constitution/resources/LOAD_ORDER.md +86 -0
- package/.agent/skills/code-constitution/rules/_sections.md +15 -0
- package/.agent/skills/code-constitution/rules/_template.md +32 -0
- package/.agent/skills/code-constitution/rules/constitution/master-constitution.md +210 -0
- package/.agent/skills/code-constitution/rules/doctrines/architecture/architecture-doctrine.md +188 -0
- package/.agent/skills/code-constitution/rules/doctrines/backend/backend-data-engine-doctrine.md +218 -0
- package/.agent/skills/code-constitution/rules/doctrines/commercial/commercial-guardrails-doctrine.md +196 -0
- package/.agent/skills/code-constitution/rules/doctrines/data/data-integrity-doctrine.md +202 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/frontend-mobile-doctrine.md +169 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/interaction-patterns-doctrine.md +176 -0
- package/.agent/skills/code-constitution/rules/doctrines/learning/learning-engine-doctrine.md +192 -0
- package/.agent/skills/code-constitution/rules/doctrines/performance/performance-doctrine.md +180 -0
- package/.agent/skills/code-constitution/rules/doctrines/review/code-review-doctrine.md +174 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-enforcement-protocol.md +218 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-system-prompt.md +196 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/backend-api-review-checklist.md +131 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/chart-component-review-checklist.md +147 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/frontend-review-checklist.md +194 -0
- package/.agent/skills/code-constitution/rules/enforcement/playbooks/doctrine-violation-playbook.md +236 -0
- package/.agent/skills/code-constitution/rules/engineering-spec.md +561 -0
- package/.agent/skills/code-constitution/scripts/audit_pr.ts +219 -0
- package/.agent/skills/code-constitution/scripts/check_boundaries.ts +134 -0
- package/.agent/skills/code-constitution/scripts/learn.ts +202 -0
- package/.agent/skills/code-constitution/scripts/validate_doctrine.ts +287 -0
- package/.agent/skills/code-craft/AGENTS.md +803 -0
- package/.agent/skills/code-craft/SKILL.md +170 -0
- package/.agent/skills/code-craft/rules/_sections.md +20 -0
- package/.agent/skills/code-craft/rules/_template.md +32 -0
- package/.agent/skills/code-craft/rules/engineering-spec.md +447 -0
- package/.agent/skills/code-craft/rules/verification-scripts.md +83 -0
- package/.agent/skills/code-craft/scripts/code_quality_checker.ts +193 -0
- package/.agent/skills/code-review/AGENTS.md +1664 -0
- package/.agent/skills/code-review/SKILL.md +152 -0
- package/.agent/skills/code-review/rules/_sections.md +15 -0
- package/.agent/skills/code-review/rules/_template.md +32 -0
- package/.agent/skills/code-review/rules/engineering-spec.md +466 -0
- package/.agent/skills/code-review/scripts/lint_runner.ts +213 -0
- package/.agent/skills/code-review/scripts/type_coverage.ts +118 -0
- package/.agent/skills/context-engineering/AGENTS.md +499 -0
- package/.agent/skills/context-engineering/SKILL.md +147 -0
- package/.agent/skills/context-engineering/rules/_sections.md +15 -0
- package/.agent/skills/context-engineering/rules/_template.md +32 -0
- package/.agent/skills/context-engineering/rules/engineering-spec.md +463 -0
- package/.agent/skills/context-engineering/scripts/context_analyzer.ts +127 -0
- package/.agent/skills/copywriting/AGENTS.md +501 -0
- package/.agent/skills/copywriting/SKILL.md +188 -0
- package/.agent/skills/copywriting/rules/_sections.md +15 -0
- package/.agent/skills/copywriting/rules/_template.md +32 -0
- package/.agent/skills/copywriting/rules/engineering-spec.md +465 -0
- package/.agent/skills/copywriting/scripts/copy_validator.ts +185 -0
- package/.agent/skills/data-modeler/AGENTS.md +814 -0
- package/.agent/skills/data-modeler/SKILL.md +195 -0
- package/.agent/skills/data-modeler/rules/_sections.md +15 -0
- package/.agent/skills/data-modeler/rules/_template.md +32 -0
- package/.agent/skills/data-modeler/rules/database-selection.md +124 -0
- package/.agent/skills/data-modeler/rules/engineering-spec.md +479 -0
- package/.agent/skills/data-modeler/rules/indexing.md +166 -0
- package/.agent/skills/data-modeler/rules/migrations.md +176 -0
- package/.agent/skills/data-modeler/rules/optimization.md +161 -0
- package/.agent/skills/data-modeler/rules/orm-selection.md +155 -0
- package/.agent/skills/data-modeler/rules/schema-design.md +162 -0
- package/.agent/skills/data-modeler/scripts/schema_validator.ts +357 -0
- package/.agent/skills/debug-pro/AGENTS.md +798 -0
- package/.agent/skills/debug-pro/SKILL.md +193 -0
- package/.agent/skills/debug-pro/defense-in-depth/SKILL.md +148 -0
- package/.agent/skills/debug-pro/root-cause-tracing/SKILL.md +196 -0
- package/.agent/skills/debug-pro/root-cause-tracing/find-polluter.sh +63 -0
- package/.agent/skills/debug-pro/rules/_sections.md +15 -0
- package/.agent/skills/debug-pro/rules/_template.md +32 -0
- package/.agent/skills/debug-pro/rules/engineering-spec.md +491 -0
- package/.agent/skills/debug-pro/scripts/debug_verifier.ts +148 -0
- package/.agent/skills/debug-pro/verification-before-completion/SKILL.md +160 -0
- package/.agent/skills/design-system/AGENTS.md +4216 -0
- package/.agent/skills/design-system/SKILL.md +186 -0
- package/.agent/skills/design-system/rules/_sections.md +65 -0
- package/.agent/skills/design-system/rules/_template.md +32 -0
- package/.agent/skills/design-system/rules/animation-guide.md +355 -0
- package/.agent/skills/design-system/rules/color-system.md +335 -0
- package/.agent/skills/design-system/rules/color-systems.md +133 -0
- package/.agent/skills/design-system/rules/decision-trees.md +442 -0
- package/.agent/skills/design-system/rules/design-extraction.md +152 -0
- package/.agent/skills/design-system/rules/engineering-spec.md +484 -0
- package/.agent/skills/design-system/rules/motion-design.md +161 -0
- package/.agent/skills/design-system/rules/motion-graphics.md +330 -0
- package/.agent/skills/design-system/rules/spatial-composition.md +184 -0
- package/.agent/skills/design-system/rules/typography-system.md +369 -0
- package/.agent/skills/design-system/rules/typography.md +124 -0
- package/.agent/skills/design-system/rules/ux-psychology.md +565 -0
- package/.agent/skills/design-system/rules/visual-effects.md +407 -0
- package/.agent/skills/design-system/scripts/accessibility_checker.ts +292 -0
- package/.agent/skills/design-system/scripts/ux_audit.ts +356 -0
- package/.agent/skills/doc-templates/AGENTS.md +820 -0
- package/.agent/skills/doc-templates/SKILL.md +260 -0
- package/.agent/skills/doc-templates/rules/_sections.md +20 -0
- package/.agent/skills/doc-templates/rules/_template.md +32 -0
- package/.agent/skills/doc-templates/rules/doc.md +355 -0
- package/.agent/skills/doc-templates/rules/engineering-spec.md +422 -0
- package/.agent/skills/doc-templates/scripts/editor-server.ts +162 -0
- package/.agent/skills/doc-templates/scripts/inject_otel.ts +22 -0
- package/.agent/skills/doc-templates/scripts/kanban-server.ts +171 -0
- package/.agent/skills/doc-templates/scripts/markdown-server.ts +185 -0
- package/.agent/skills/e2e-automation/AGENTS.md +882 -0
- package/.agent/skills/e2e-automation/SKILL.md +175 -0
- package/.agent/skills/e2e-automation/rules/_sections.md +20 -0
- package/.agent/skills/e2e-automation/rules/_template.md +32 -0
- package/.agent/skills/e2e-automation/rules/aria-snapshot.md +185 -0
- package/.agent/skills/e2e-automation/rules/engineering-spec.md +501 -0
- package/.agent/skills/e2e-automation/scripts/playwright_runner.ts +208 -0
- package/.agent/skills/execution-reporter/AGENTS.md +419 -0
- package/.agent/skills/execution-reporter/SKILL.md +152 -0
- package/.agent/skills/execution-reporter/rules/_sections.md +15 -0
- package/.agent/skills/execution-reporter/rules/_template.md +32 -0
- package/.agent/skills/execution-reporter/rules/engineering-spec.md +389 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +140 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +156 -0
- package/.agent/skills/game-development/AGENTS.md +783 -0
- package/.agent/skills/game-development/SKILL.md +178 -0
- package/.agent/skills/game-development/game-art/SKILL.md +207 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +211 -0
- package/.agent/skills/game-development/game-design/SKILL.md +151 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +130 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +154 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +167 -0
- package/.agent/skills/game-development/rules/_sections.md +15 -0
- package/.agent/skills/game-development/rules/_template.md +32 -0
- package/.agent/skills/game-development/rules/engineering-spec.md +480 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +144 -0
- package/.agent/skills/game-development/web-games/SKILL.md +173 -0
- package/.agent/skills/git-workflow/AGENTS.md +554 -0
- package/.agent/skills/git-workflow/SKILL.md +181 -0
- package/.agent/skills/git-workflow/rules/_sections.md +15 -0
- package/.agent/skills/git-workflow/rules/_template.md +32 -0
- package/.agent/skills/git-workflow/rules/engineering-spec.md +518 -0
- package/.agent/skills/gitops/AGENTS.md +921 -0
- package/.agent/skills/gitops/SKILL.md +163 -0
- package/.agent/skills/gitops/rules/_sections.md +25 -0
- package/.agent/skills/gitops/rules/_template.md +32 -0
- package/.agent/skills/gitops/rules/argocd-setup.md +148 -0
- package/.agent/skills/gitops/rules/engineering-spec.md +450 -0
- package/.agent/skills/gitops/rules/sync-policies.md +145 -0
- package/.agent/skills/google-adk-python/AGENTS.md +1054 -0
- package/.agent/skills/google-adk-python/SKILL.md +168 -0
- package/.agent/skills/google-adk-python/rules/_sections.md +25 -0
- package/.agent/skills/google-adk-python/rules/_template.md +32 -0
- package/.agent/skills/google-adk-python/rules/deployment.md +138 -0
- package/.agent/skills/google-adk-python/rules/engineering-spec.md +451 -0
- package/.agent/skills/google-adk-python/rules/multi-agent.md +146 -0
- package/.agent/skills/google-adk-python/rules/tools.md +131 -0
- package/.agent/skills/idea-storm/AGENTS.md +995 -0
- package/.agent/skills/idea-storm/SKILL.md +160 -0
- package/.agent/skills/idea-storm/rules/_sections.md +25 -0
- package/.agent/skills/idea-storm/rules/_template.md +32 -0
- package/.agent/skills/idea-storm/rules/architecture-debate.md +122 -0
- package/.agent/skills/idea-storm/rules/dynamic-questioning.md +374 -0
- package/.agent/skills/idea-storm/rules/engineering-spec.md +466 -0
- package/.agent/skills/knowledge-compiler/SKILL.md +320 -0
- package/.agent/skills/knowledge-graph/AGENTS.md +762 -0
- package/.agent/skills/knowledge-graph/SKILL.md +157 -0
- package/.agent/skills/knowledge-graph/rules/_sections.md +15 -0
- package/.agent/skills/knowledge-graph/rules/_template.md +32 -0
- package/.agent/skills/knowledge-graph/rules/engineering-spec.md +439 -0
- package/.agent/skills/knowledge-linter/SKILL.md +217 -0
- package/.agent/skills/lifecycle-orchestrator/AGENTS.md +989 -0
- package/.agent/skills/lifecycle-orchestrator/SKILL.md +169 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_sections.md +15 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_template.md +32 -0
- package/.agent/skills/lifecycle-orchestrator/rules/engineering-spec.md +525 -0
- package/.agent/skills/lifecycle-orchestrator/scripts/state_manager.ts +189 -0
- package/.agent/skills/mcp-builder/AGENTS.md +1653 -0
- package/.agent/skills/mcp-builder/SKILL.md +166 -0
- package/.agent/skills/mcp-builder/rules/_sections.md +40 -0
- package/.agent/skills/mcp-builder/rules/_template.md +32 -0
- package/.agent/skills/mcp-builder/rules/best-practices.md +157 -0
- package/.agent/skills/mcp-builder/rules/design-principles.md +105 -0
- package/.agent/skills/mcp-builder/rules/engineering-spec.md +473 -0
- package/.agent/skills/mcp-builder/rules/evaluation.md +103 -0
- package/.agent/skills/mcp-builder/rules/python-implementation.md +249 -0
- package/.agent/skills/mcp-builder/rules/quickstart.md +111 -0
- package/.agent/skills/mcp-builder/rules/typescript-implementation.md +280 -0
- package/.agent/skills/mcp-management/AGENTS.md +837 -0
- package/.agent/skills/mcp-management/SKILL.md +164 -0
- package/.agent/skills/mcp-management/rules/_sections.md +25 -0
- package/.agent/skills/mcp-management/rules/_template.md +32 -0
- package/.agent/skills/mcp-management/rules/cli-usage.md +146 -0
- package/.agent/skills/mcp-management/rules/engineering-spec.md +501 -0
- package/.agent/skills/mcp-management/rules/protocol.md +159 -0
- package/.agent/skills/media-processing/AGENTS.md +479 -0
- package/.agent/skills/media-processing/SKILL.md +176 -0
- package/.agent/skills/media-processing/rules/_sections.md +15 -0
- package/.agent/skills/media-processing/rules/_template.md +32 -0
- package/.agent/skills/media-processing/rules/engineering-spec.md +452 -0
- package/.agent/skills/media-processing/scripts/convert-video.ts +155 -0
- package/.agent/skills/media-processing/scripts/optimize-image.ts +127 -0
- package/.agent/skills/mobile-design/AGENTS.md +6531 -0
- package/.agent/skills/mobile-design/SKILL.md +165 -0
- package/.agent/skills/mobile-design/rules/_sections.md +45 -0
- package/.agent/skills/mobile-design/rules/_template.md +32 -0
- package/.agent/skills/mobile-design/rules/decision-trees.md +540 -0
- package/.agent/skills/mobile-design/rules/engineering-spec.md +467 -0
- package/.agent/skills/mobile-design/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-design/rules/mobile-color-system.md +436 -0
- package/.agent/skills/mobile-design/rules/mobile-debugging.md +146 -0
- package/.agent/skills/mobile-design/rules/mobile-design-thinking.md +381 -0
- package/.agent/skills/mobile-design/rules/mobile-navigation.md +474 -0
- package/.agent/skills/mobile-design/rules/mobile-performance.md +783 -0
- package/.agent/skills/mobile-design/rules/mobile-testing.md +380 -0
- package/.agent/skills/mobile-design/rules/mobile-typography.md +449 -0
- package/.agent/skills/mobile-design/rules/platform-android.md +682 -0
- package/.agent/skills/mobile-design/rules/platform-ios.md +577 -0
- package/.agent/skills/mobile-design/rules/touch-psychology.md +553 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.ts +309 -0
- package/.agent/skills/mobile-developer/AGENTS.md +904 -0
- package/.agent/skills/mobile-developer/SKILL.md +194 -0
- package/.agent/skills/mobile-developer/rules/_sections.md +75 -0
- package/.agent/skills/mobile-developer/rules/_template.md +32 -0
- package/.agent/skills/mobile-developer/rules/anti-patterns.md +70 -0
- package/.agent/skills/mobile-developer/rules/app-store-optimization.md +319 -0
- package/.agent/skills/mobile-developer/rules/decision-trees.md +545 -0
- package/.agent/skills/mobile-developer/rules/deep-linking.md +441 -0
- package/.agent/skills/mobile-developer/rules/engineering-spec.md +477 -0
- package/.agent/skills/mobile-developer/rules/flutter.md +475 -0
- package/.agent/skills/mobile-developer/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-developer/rules/mobile-color-system.md +444 -0
- package/.agent/skills/mobile-developer/rules/mobile-debugging.md +428 -0
- package/.agent/skills/mobile-developer/rules/mobile-design-thinking.md +367 -0
- package/.agent/skills/mobile-developer/rules/mobile-navigation.md +483 -0
- package/.agent/skills/mobile-developer/rules/mobile-performance.md +778 -0
- package/.agent/skills/mobile-developer/rules/mobile-testing.md +382 -0
- package/.agent/skills/mobile-developer/rules/mobile-typography.md +457 -0
- package/.agent/skills/mobile-developer/rules/native.md +572 -0
- package/.agent/skills/mobile-developer/rules/platform-android.md +676 -0
- package/.agent/skills/mobile-developer/rules/platform-ios.md +571 -0
- package/.agent/skills/mobile-developer/rules/push-notifications.md +599 -0
- package/.agent/skills/mobile-developer/rules/react-native.md +422 -0
- package/.agent/skills/mobile-developer/rules/touch-psychology.md +547 -0
- package/.agent/skills/mobile-developer/scripts/mobile_audit.ts +701 -0
- package/.agent/skills/nextjs-pro/AGENTS.md +3932 -0
- package/.agent/skills/nextjs-pro/SKILL.md +171 -0
- package/.agent/skills/nextjs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nextjs-pro/rules/_template.md +32 -0
- package/.agent/skills/nextjs-pro/rules/advanced-event-handler-refs.md +59 -0
- package/.agent/skills/nextjs-pro/rules/advanced-init-once.md +46 -0
- package/.agent/skills/nextjs-pro/rules/advanced-use-latest.md +43 -0
- package/.agent/skills/nextjs-pro/rules/async-api-routes.md +42 -0
- package/.agent/skills/nextjs-pro/rules/async-defer-await.md +84 -0
- package/.agent/skills/nextjs-pro/rules/async-dependencies.md +55 -0
- package/.agent/skills/nextjs-pro/rules/async-parallel.md +32 -0
- package/.agent/skills/nextjs-pro/rules/async-suspense-boundaries.md +103 -0
- package/.agent/skills/nextjs-pro/rules/bundle-barrel-imports.md +63 -0
- package/.agent/skills/nextjs-pro/rules/bundle-conditional.md +35 -0
- package/.agent/skills/nextjs-pro/rules/bundle-defer-third-party.md +53 -0
- package/.agent/skills/nextjs-pro/rules/bundle-dynamic-imports.md +39 -0
- package/.agent/skills/nextjs-pro/rules/bundle-preload.md +54 -0
- package/.agent/skills/nextjs-pro/rules/client-event-listeners.md +78 -0
- package/.agent/skills/nextjs-pro/rules/client-localstorage-schema.md +75 -0
- package/.agent/skills/nextjs-pro/rules/client-passive-event-listeners.md +52 -0
- package/.agent/skills/nextjs-pro/rules/client-swr-dedup.md +60 -0
- package/.agent/skills/nextjs-pro/rules/engineering-spec.md +440 -0
- package/.agent/skills/nextjs-pro/rules/js-batch-dom-css.md +111 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-function-results.md +84 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-property-access.md +32 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-storage.md +74 -0
- package/.agent/skills/nextjs-pro/rules/js-combine-iterations.md +36 -0
- package/.agent/skills/nextjs-pro/rules/js-early-exit.md +54 -0
- package/.agent/skills/nextjs-pro/rules/js-hoist-regexp.md +49 -0
- package/.agent/skills/nextjs-pro/rules/js-index-maps.md +41 -0
- package/.agent/skills/nextjs-pro/rules/js-length-check-first.md +53 -0
- package/.agent/skills/nextjs-pro/rules/js-min-max-loop.md +86 -0
- package/.agent/skills/nextjs-pro/rules/js-set-map-lookups.md +28 -0
- package/.agent/skills/nextjs-pro/rules/js-tosorted-immutable.md +61 -0
- package/.agent/skills/nextjs-pro/rules/rendering-activity.md +30 -0
- package/.agent/skills/nextjs-pro/rules/rendering-animate-svg-wrapper.md +51 -0
- package/.agent/skills/nextjs-pro/rules/rendering-conditional-render.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rendering-content-visibility.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hoist-jsx.md +50 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-no-flicker.md +86 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-suppress-warning.md +34 -0
- package/.agent/skills/nextjs-pro/rules/rendering-svg-precision.md +32 -0
- package/.agent/skills/nextjs-pro/rules/rendering-usetransition-loading.md +79 -0
- package/.agent/skills/nextjs-pro/rules/rerender-defer-reads.md +43 -0
- package/.agent/skills/nextjs-pro/rules/rerender-dependencies.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state-no-effect.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state.md +33 -0
- package/.agent/skills/nextjs-pro/rules/rerender-functional-setstate.md +78 -0
- package/.agent/skills/nextjs-pro/rules/rerender-lazy-state-init.md +62 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo-with-default-value.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo.md +48 -0
- package/.agent/skills/nextjs-pro/rules/rerender-move-effect-to-event.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-simple-expression-in-memo.md +39 -0
- package/.agent/skills/nextjs-pro/rules/rerender-transitions.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-use-ref-transient-values.md +77 -0
- package/.agent/skills/nextjs-pro/rules/schema.json +34 -0
- package/.agent/skills/nextjs-pro/rules/server-after-nonblocking.md +77 -0
- package/.agent/skills/nextjs-pro/rules/server-auth-actions.md +100 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-lru.md +45 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-react.md +80 -0
- package/.agent/skills/nextjs-pro/rules/server-dedup-props.md +69 -0
- package/.agent/skills/nextjs-pro/rules/server-parallel-fetching.md +87 -0
- package/.agent/skills/nextjs-pro/rules/server-serialization.md +42 -0
- package/.agent/skills/nodejs-pro/AGENTS.md +866 -0
- package/.agent/skills/nodejs-pro/SKILL.md +172 -0
- package/.agent/skills/nodejs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nodejs-pro/rules/_template.md +32 -0
- package/.agent/skills/nodejs-pro/rules/architecture-patterns.md +229 -0
- package/.agent/skills/nodejs-pro/rules/async-patterns.md +246 -0
- package/.agent/skills/nodejs-pro/rules/engineering-spec.md +438 -0
- package/.agent/skills/nodejs-pro/rules/error-handling.md +257 -0
- package/.agent/skills/nodejs-pro/rules/framework-selection.md +220 -0
- package/.agent/skills/nodejs-pro/rules/runtime-modules.md +176 -0
- package/.agent/skills/nodejs-pro/rules/testing-strategy.md +266 -0
- package/.agent/skills/nodejs-pro/rules/validation-security.md +205 -0
- package/.agent/skills/observability/AGENTS.md +607 -0
- package/.agent/skills/observability/SKILL.md +178 -0
- package/.agent/skills/observability/rules/_sections.md +15 -0
- package/.agent/skills/observability/rules/_template.md +32 -0
- package/.agent/skills/observability/rules/engineering-spec.md +440 -0
- package/.agent/skills/offensive-sec/AGENTS.md +849 -0
- package/.agent/skills/offensive-sec/SKILL.md +191 -0
- package/.agent/skills/offensive-sec/rules/_sections.md +15 -0
- package/.agent/skills/offensive-sec/rules/_template.md +32 -0
- package/.agent/skills/offensive-sec/rules/engineering-spec.md +470 -0
- package/.agent/skills/perf-optimizer/AGENTS.md +870 -0
- package/.agent/skills/perf-optimizer/SKILL.md +189 -0
- package/.agent/skills/perf-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/perf-optimizer/rules/_template.md +32 -0
- package/.agent/skills/perf-optimizer/rules/backend-patterns.md +312 -0
- package/.agent/skills/perf-optimizer/rules/engineering-spec.md +428 -0
- package/.agent/skills/perf-optimizer/scripts/lighthouse_audit.ts +201 -0
- package/.agent/skills/problem-checker/AGENTS.md +519 -0
- package/.agent/skills/problem-checker/SKILL.md +189 -0
- package/.agent/skills/problem-checker/rules/_sections.md +15 -0
- package/.agent/skills/problem-checker/rules/_template.md +32 -0
- package/.agent/skills/problem-checker/rules/engineering-spec.md +483 -0
- package/.agent/skills/problem-checker/scripts/check_problems.ts +396 -0
- package/.agent/skills/project-planner/AGENTS.md +2698 -0
- package/.agent/skills/project-planner/SKILL.md +166 -0
- package/.agent/skills/project-planner/rules/_sections.md +15 -0
- package/.agent/skills/project-planner/rules/_template.md +32 -0
- package/.agent/skills/project-planner/rules/engineering-spec.md +420 -0
- package/.agent/skills/python-pro/AGENTS.md +1871 -0
- package/.agent/skills/python-pro/SKILL.md +182 -0
- package/.agent/skills/python-pro/rules/_sections.md +50 -0
- package/.agent/skills/python-pro/rules/_template.md +32 -0
- package/.agent/skills/python-pro/rules/async-patterns.md +168 -0
- package/.agent/skills/python-pro/rules/django-patterns.md +194 -0
- package/.agent/skills/python-pro/rules/engineering-spec.md +442 -0
- package/.agent/skills/python-pro/rules/fastapi-patterns.md +179 -0
- package/.agent/skills/python-pro/rules/framework-selection.md +167 -0
- package/.agent/skills/python-pro/rules/project-structure.md +181 -0
- package/.agent/skills/python-pro/rules/testing-patterns.md +212 -0
- package/.agent/skills/python-pro/rules/type-hints.md +159 -0
- package/.agent/skills/react-pro/AGENTS.md +963 -0
- package/.agent/skills/react-pro/SKILL.md +232 -0
- package/.agent/skills/react-pro/rules/_sections.md +40 -0
- package/.agent/skills/react-pro/rules/_template.md +32 -0
- package/.agent/skills/react-pro/rules/component-patterns.md +145 -0
- package/.agent/skills/react-pro/rules/composition-compound.md +82 -0
- package/.agent/skills/react-pro/rules/data-fetching.md +133 -0
- package/.agent/skills/react-pro/rules/engineering-spec.md +453 -0
- package/.agent/skills/react-pro/rules/error-boundary.md +61 -0
- package/.agent/skills/react-pro/rules/file-organization.md +158 -0
- package/.agent/skills/react-pro/rules/hooks-custom.md +61 -0
- package/.agent/skills/react-pro/rules/mui-styling.md +138 -0
- package/.agent/skills/react-pro/rules/patterns.md +24 -0
- package/.agent/skills/react-pro/rules/performance-optimization.md +65 -0
- package/.agent/skills/react-pro/rules/performance.md +137 -0
- package/.agent/skills/react-pro/rules/react19-hooks.md +85 -0
- package/.agent/skills/react-pro/rules/state-management.md +90 -0
- package/.agent/skills/react-pro/rules/testing-patterns.md +52 -0
- package/.agent/skills/registry.json +1251 -0
- package/.agent/skills/security-scanner/AGENTS.md +851 -0
- package/.agent/skills/security-scanner/SKILL.md +182 -0
- package/.agent/skills/security-scanner/rules/_sections.md +15 -0
- package/.agent/skills/security-scanner/rules/_template.md +32 -0
- package/.agent/skills/security-scanner/rules/auth-patterns.md +281 -0
- package/.agent/skills/security-scanner/rules/checklists.md +186 -0
- package/.agent/skills/security-scanner/rules/engineering-spec.md +440 -0
- package/.agent/skills/security-scanner/scripts/security_scan.ts +513 -0
- package/.agent/skills/seo-optimizer/AGENTS.md +839 -0
- package/.agent/skills/seo-optimizer/SKILL.md +180 -0
- package/.agent/skills/seo-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/seo-optimizer/rules/_template.md +32 -0
- package/.agent/skills/seo-optimizer/rules/engineering-spec.md +433 -0
- package/.agent/skills/seo-optimizer/scripts/geo_checker.ts +109 -0
- package/.agent/skills/seo-optimizer/scripts/seo_checker.ts +308 -0
- package/.agent/skills/server-ops/AGENTS.md +643 -0
- package/.agent/skills/server-ops/SKILL.md +194 -0
- package/.agent/skills/server-ops/rules/_sections.md +15 -0
- package/.agent/skills/server-ops/rules/_template.md +32 -0
- package/.agent/skills/server-ops/rules/engineering-spec.md +450 -0
- package/.agent/skills/shell-script/AGENTS.md +499 -0
- package/.agent/skills/shell-script/SKILL.md +205 -0
- package/.agent/skills/shell-script/rules/_sections.md +15 -0
- package/.agent/skills/shell-script/rules/_template.md +32 -0
- package/.agent/skills/shell-script/rules/engineering-spec.md +463 -0
- package/.agent/skills/skill-generator/SKILL.md +147 -0
- package/.agent/skills/smart-router/SKILL.md +95 -0
- package/.agent/skills/studio/AGENTS.md +636 -0
- package/.agent/skills/studio/SKILL.md +178 -0
- package/.agent/skills/studio/data/charts.csv +26 -0
- package/.agent/skills/studio/data/colors.csv +97 -0
- package/.agent/skills/studio/data/icons.csv +101 -0
- package/.agent/skills/studio/data/landing.csv +31 -0
- package/.agent/skills/studio/data/products.csv +97 -0
- package/.agent/skills/studio/data/prompts.csv +24 -0
- package/.agent/skills/studio/data/react-performance.csv +45 -0
- package/.agent/skills/studio/data/stacks/flutter.csv +52 -0
- package/.agent/skills/studio/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/studio/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/skills/studio/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/studio/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/studio/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/studio/data/stacks/react-native.csv +52 -0
- package/.agent/skills/studio/data/stacks/react.csv +54 -0
- package/.agent/skills/studio/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/studio/data/stacks/svelte.csv +54 -0
- package/.agent/skills/studio/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/studio/data/stacks/vue.csv +50 -0
- package/.agent/skills/studio/data/styles.csv +59 -0
- package/.agent/skills/studio/data/typography.csv +58 -0
- package/.agent/skills/studio/data/ui-reasoning.csv +101 -0
- package/.agent/skills/studio/data/ux-guidelines.csv +100 -0
- package/.agent/skills/studio/data/web-interface.csv +31 -0
- package/.agent/skills/studio/rules/_sections.md +15 -0
- package/.agent/skills/studio/rules/_template.md +32 -0
- package/.agent/skills/studio/rules/engineering-spec.md +455 -0
- package/.agent/skills/studio/scripts/core.ts +345 -0
- package/.agent/skills/studio/scripts/design_system.ts +953 -0
- package/.agent/skills/studio/scripts/search.ts +197 -0
- package/.agent/skills/studio/scripts/types.ts +147 -0
- package/.agent/skills/studio/scripts/utils/component-specs.ts +154 -0
- package/.agent/skills/studio/scripts/utils/config-loader.ts +165 -0
- package/.agent/skills/studio/scripts/utils/css-templates.ts +169 -0
- package/.agent/skills/studio/scripts/utils/css-validator.ts +95 -0
- package/.agent/skills/studio/scripts/utils/csv-loader.ts +52 -0
- package/.agent/skills/studio/scripts/utils/intelligent-overrides.ts +129 -0
- package/.agent/skills/studio/scripts/utils/page-override-formatter.ts +143 -0
- package/.agent/skills/studio/scripts/utils/page-type-detector.ts +124 -0
- package/.agent/skills/studio/scripts/utils/search-cache.ts +165 -0
- package/.agent/skills/studio/scripts/utils/text-utils.ts +44 -0
- package/.agent/skills/system-design/AGENTS.md +597 -0
- package/.agent/skills/system-design/SKILL.md +153 -0
- package/.agent/skills/system-design/rules/_sections.md +15 -0
- package/.agent/skills/system-design/rules/_template.md +32 -0
- package/.agent/skills/system-design/rules/context-discovery.md +117 -0
- package/.agent/skills/system-design/rules/engineering-spec.md +437 -0
- package/.agent/skills/system-design/rules/examples.md +180 -0
- package/.agent/skills/system-design/rules/pattern-selection.md +130 -0
- package/.agent/skills/system-design/rules/patterns-reference.md +110 -0
- package/.agent/skills/system-design/rules/trade-off-analysis.md +169 -0
- package/.agent/skills/tailwind-kit/AGENTS.md +1135 -0
- package/.agent/skills/tailwind-kit/SKILL.md +171 -0
- package/.agent/skills/tailwind-kit/rules/_sections.md +20 -0
- package/.agent/skills/tailwind-kit/rules/_template.md +32 -0
- package/.agent/skills/tailwind-kit/rules/components.md +232 -0
- package/.agent/skills/tailwind-kit/rules/engineering-spec.md +435 -0
- package/.agent/skills/tailwind-kit/rules/responsive.md +221 -0
- package/.agent/skills/tailwind-kit/rules/v4-config.md +72 -0
- package/.agent/skills/test-architect/AGENTS.md +851 -0
- package/.agent/skills/test-architect/SKILL.md +176 -0
- package/.agent/skills/test-architect/rules/_sections.md +15 -0
- package/.agent/skills/test-architect/rules/_template.md +32 -0
- package/.agent/skills/test-architect/rules/engineering-spec.md +434 -0
- package/.agent/skills/test-architect/scripts/test_runner.ts +265 -0
- package/.agent/skills/typescript-expert/AGENTS.md +1045 -0
- package/.agent/skills/typescript-expert/SKILL.md +200 -0
- package/.agent/skills/typescript-expert/rules/_sections.md +20 -0
- package/.agent/skills/typescript-expert/rules/_template.md +32 -0
- package/.agent/skills/typescript-expert/rules/engineering-spec.md +433 -0
- package/.agent/skills/typescript-expert/rules/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/rules/typescript-cheatsheet.md +407 -0
- package/.agent/skills/typescript-expert/rules/utility-types.ts +264 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.ts +321 -0
- package/.agent/skills/vercel-deploy/AGENTS.md +490 -0
- package/.agent/skills/vercel-deploy/SKILL.md +175 -0
- package/.agent/skills/vercel-deploy/rules/_sections.md +15 -0
- package/.agent/skills/vercel-deploy/rules/_template.md +32 -0
- package/.agent/skills/vercel-deploy/rules/engineering-spec.md +463 -0
- package/.agent/skills/vercel-deploy/scripts/deploy.sh +310 -0
- package/.agent/workflows/api.md +377 -0
- package/.agent/workflows/autopilot.md +344 -0
- package/.agent/workflows/build.md +338 -0
- package/.agent/workflows/chronicle.md +279 -0
- package/.agent/workflows/cook.md +217 -0
- package/.agent/workflows/diagnose.md +302 -0
- package/.agent/workflows/fix.md +253 -0
- package/.agent/workflows/game.md +329 -0
- package/.agent/workflows/inspect.md +276 -0
- package/.agent/workflows/knowledge.md +212 -0
- package/.agent/workflows/launch.md +345 -0
- package/.agent/workflows/mobile.md +354 -0
- package/.agent/workflows/monitor.md +239 -0
- package/.agent/workflows/optimize.md +269 -0
- package/.agent/workflows/plan.md +278 -0
- package/.agent/workflows/stage.md +286 -0
- package/.agent/workflows/studio.md +276 -0
- package/.agent/workflows/think.md +262 -0
- package/.agent/workflows/validate.md +289 -0
- package/.agentignore +161 -0
- package/.gitattributes +16 -0
- package/CHANGELOG.md +198 -0
- package/LICENSE +40 -0
- package/README.md +173 -0
- package/docs/SKILL_DESIGN_GUIDE.md +561 -0
- package/docs/The-Complete-Guide-to-Building-Skills-for-Claude.md +1207 -0
- package/docs/WORKFLOW_DESIGN_GUIDE.md +325 -0
- package/package.json +33 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# 📜 Governance Doctrine Pack — CHANGELOG
|
|
2
|
+
|
|
3
|
+
All notable changes to the **Governance Doctrine Pack** are documented in this file.
|
|
4
|
+
|
|
5
|
+
This project follows **strict versioning and constitutional governance**.
|
|
6
|
+
Changes are **rare by design**.
|
|
7
|
+
|
|
8
|
+
Any modification without an entry here
|
|
9
|
+
is considered a **governance violation**.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## [v1.1.0] — 2026-01-24
|
|
14
|
+
### 🚀 PROGRESSIVE DISCLOSURE COMPLETE
|
|
15
|
+
|
|
16
|
+
This release completes the **100/100 PikaKit Compatibility Score**.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
### 🔧 Scripts Enhancement
|
|
21
|
+
- Added **audit_pr.ts** — Functional PR audit with pattern matching
|
|
22
|
+
- Doctrine violation detection
|
|
23
|
+
- JSON output support
|
|
24
|
+
- CI/CD integration ready
|
|
25
|
+
- Added **validate_doctrine.ts** — Single file/directory validator
|
|
26
|
+
- Multi-doctrine support
|
|
27
|
+
- Configurable severity levels
|
|
28
|
+
- Added **learn.ts** — Governance learning tool
|
|
29
|
+
- Pattern-based lesson recording
|
|
30
|
+
- YAML knowledge base management
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### 📂 Progressive Disclosure Expansion
|
|
35
|
+
- Added `metadata/` directory
|
|
36
|
+
- `precedence.yaml` — Authority resolution
|
|
37
|
+
- `scope-map.yaml` — Automatic doctrine routing
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
### 📚 Resources Enrichment
|
|
42
|
+
- Added `resources/AUTHORITY_MODEL.md`
|
|
43
|
+
- Decision precedence order, agent operating mode
|
|
44
|
+
- Added `resources/ENFORCEMENT_GUIDE.md`
|
|
45
|
+
- 4-level enforcement workflow, 3 examples
|
|
46
|
+
- Added `resources/LOAD_ORDER.md`
|
|
47
|
+
- Progressive disclosure, scenario-based loading
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### 📝 Examples Enhancement
|
|
52
|
+
- Added `examples/violation-backend-mutation/` — Law 1 violation before/after
|
|
53
|
+
- Added `examples/violation-chart-injection/` — Law 3+4 violation before/after
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### 📊 Compatibility Score
|
|
58
|
+
| Metric | v1.0.0 | v1.1.0 |
|
|
59
|
+
|--------|--------|--------|
|
|
60
|
+
| Overall Score | 85/100 | **100/100** |
|
|
61
|
+
| Scripts Functional | 60% | 100% |
|
|
62
|
+
| Progressive Disclosure | 80% | 100% |
|
|
63
|
+
| Resources Depth | 70% | 100% |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## [v1.0.0] — 2026-01-23
|
|
68
|
+
### 🎉 OFFICIAL INITIAL RELEASE
|
|
69
|
+
|
|
70
|
+
This release establishes the **foundational constitutional system** governing PikaKit.
|
|
71
|
+
|
|
72
|
+
It defines how PikaKit is:
|
|
73
|
+
- Designed
|
|
74
|
+
- Implemented
|
|
75
|
+
- Reviewed
|
|
76
|
+
- Scaled
|
|
77
|
+
- Governed (human + AI)
|
|
78
|
+
|
|
79
|
+
This version is declared **LOCKED**.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
### 👑 Supreme Constitution
|
|
84
|
+
- Added **PikaKit Master Constitution**
|
|
85
|
+
- Prime Directives
|
|
86
|
+
- System Laws
|
|
87
|
+
- Decision precedence
|
|
88
|
+
- Controlled self-improvement rules
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### 🏛️ Architecture & Data Truth
|
|
93
|
+
- Added **Architecture Doctrine**
|
|
94
|
+
- System boundaries
|
|
95
|
+
- Ownership rules
|
|
96
|
+
- Scalability invariants
|
|
97
|
+
- Added **Backend Data Engine Doctrine**
|
|
98
|
+
- Ingestion taxonomy
|
|
99
|
+
- Caching and cost control
|
|
100
|
+
- External dependency isolation
|
|
101
|
+
- Added **Chart Data Doctrine**
|
|
102
|
+
- Historical immutability
|
|
103
|
+
- Realtime separation
|
|
104
|
+
- Financial truth enforcement
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### 📱 Frontend & UX Systems
|
|
109
|
+
- Added **Frontend Mobile Doctrine**
|
|
110
|
+
- Mobile-first invariants
|
|
111
|
+
- Scroll ownership
|
|
112
|
+
- Structural hierarchy
|
|
113
|
+
- Added **Swipe Tabs Doctrine**
|
|
114
|
+
- Universal swipe implementation
|
|
115
|
+
- Gesture arbitration rules
|
|
116
|
+
- iOS-safe interaction guarantees
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### ⚡ Performance & Stability
|
|
121
|
+
- Added **Performance Doctrine**
|
|
122
|
+
- Cache-first rendering
|
|
123
|
+
- Background freshness
|
|
124
|
+
- Stability over freshness
|
|
125
|
+
- Perceived performance prioritization
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### 💼 Commercial & Enterprise Safety
|
|
130
|
+
- Added **Commercial Guardrails Doctrine**
|
|
131
|
+
- Breaking change policy
|
|
132
|
+
- Blast radius awareness
|
|
133
|
+
- Reversibility requirements
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### 🛡️ Review & Enforcement
|
|
138
|
+
- Added **Code Review Doctrine**
|
|
139
|
+
- Reviewer authority
|
|
140
|
+
- Mandatory rejection conditions
|
|
141
|
+
- Added **Frontend Gesture Review Checklist**
|
|
142
|
+
- Hard gate for swipe & scroll changes
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### 🤖 AI & Agent Governance
|
|
147
|
+
- Added **Learning Engine Doctrine**
|
|
148
|
+
- Controlled reasoning improvement
|
|
149
|
+
- Explicit learning boundaries
|
|
150
|
+
- Added **Agent Enforcement Protocol**
|
|
151
|
+
- Proposal-only AI operation
|
|
152
|
+
- Zero-trust agent model
|
|
153
|
+
- Added **Agent System Prompt**
|
|
154
|
+
- Constitutional binding for all agents
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### 🏷️ Controlled Evolution & Incident Handling
|
|
159
|
+
- Added **v1.1 Change Proposal Template**
|
|
160
|
+
- Formal process for future doctrine changes
|
|
161
|
+
- Added **Doctrine Violation Playbook**
|
|
162
|
+
- Severity levels (SEV-1 / SEV-2 / SEV-3)
|
|
163
|
+
- Incident response and remediation rules
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
### 🧠 PikaKit Skills Integration
|
|
168
|
+
- Added **SKILL.md** as single entry point
|
|
169
|
+
- Implemented **Progressive Disclosure architecture**
|
|
170
|
+
- Added **metadata/**
|
|
171
|
+
- `precedence.yaml` for authority resolution
|
|
172
|
+
- `scope-map.yaml` for automatic doctrine routing
|
|
173
|
+
- Packaged as **directory-based PikaKit Skill**
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
### 📦 Distribution
|
|
178
|
+
- Published **single bundled ZIP**
|
|
179
|
+
- `PikaKit-doctrine-pack-pikakit.zip`
|
|
180
|
+
- Supports:
|
|
181
|
+
- Workspace scope
|
|
182
|
+
- Global scope
|
|
183
|
+
- PikaKit / Gemini / Claude / GPT agents
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
### 🔒 Governance Status
|
|
188
|
+
- All doctrine files marked **LOCKED**
|
|
189
|
+
- All changes require:
|
|
190
|
+
- Explicit Change Proposal
|
|
191
|
+
- Constitutional review
|
|
192
|
+
- Version bump
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Versioning Policy
|
|
197
|
+
|
|
198
|
+
- **MAJOR** (v2.0): Constitutional or Prime Directive changes
|
|
199
|
+
- **MINOR** (v1.1): Doctrine evolution via approved proposal
|
|
200
|
+
- **PATCH** (v1.0.x): Clarifications only (no behavior change)
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Enforcement Notice
|
|
205
|
+
|
|
206
|
+
If a behavior exists in the system
|
|
207
|
+
that is not documented in this changelog,
|
|
208
|
+
it is considered **undefined and unsafe**.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
**End of Changelog**
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-constitution
|
|
3
|
+
description: >-
|
|
4
|
+
Constitutional governance for PikaKit: non-negotiable laws for correctness, trust, and durability.
|
|
5
|
+
Use when reviewing breaking changes, critical data operations, or governance violations.
|
|
6
|
+
NOT for general code review (use code-review) or security scanning (use security-scanner).
|
|
7
|
+
category: governance
|
|
8
|
+
triggers: ["architecture", "critical data", "breaking change", "governance", "doctrine"]
|
|
9
|
+
coordinates_with: ["code-review", "security-scanner", "code-craft"]
|
|
10
|
+
success_metrics: ["0 governance bypasses", "100% doctrine compliance"]
|
|
11
|
+
metadata:
|
|
12
|
+
author: pikakit
|
|
13
|
+
version: "3.9.134"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# PikaKit Governance — Code Constitution
|
|
17
|
+
|
|
18
|
+
> Supreme authority. Zero-trust agents. Fail-closed enforcement. Doctrine-first decisions.
|
|
19
|
+
|
|
20
|
+
**Status:** OFFICIAL · LOCKED | **Authority:** SUPREME | **Override:** NONE
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Prerequisites
|
|
25
|
+
|
|
26
|
+
**Required:** None — Code Constitution is a governance framework with no external dependencies.
|
|
27
|
+
|
|
28
|
+
**Doctrine library:** 16 rule files in `rules/` directory (required for evaluation).
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## When to Use
|
|
33
|
+
|
|
34
|
+
| Scope | Activation | Default |
|
|
35
|
+
|-------|-----------|---------|
|
|
36
|
+
| System architecture or boundaries | **Mandatory** — always load | — |
|
|
37
|
+
| Data ownership or persistence | **Mandatory** | — |
|
|
38
|
+
| Critical business logic | **Mandatory** | — |
|
|
39
|
+
| Breaking changes or commercial risk | **Mandatory** | — |
|
|
40
|
+
| AI agent behavior or autonomy | **Mandatory** | — |
|
|
41
|
+
| Ambiguous intent | **Mandatory** — load by default | Refuse |
|
|
42
|
+
| Architecture review, contracts, security | See `rules/engineering-spec.md` | — |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## System Boundaries
|
|
47
|
+
|
|
48
|
+
| Owned by This Skill | NOT Owned |
|
|
49
|
+
|---------------------|-----------|
|
|
50
|
+
| Agent operating mode (STRICT/PROPOSAL_ONLY/ZERO_TRUST) | Agent implementation |
|
|
51
|
+
| Doctrine library (16 rules in `rules/`) | Rule execution in other skills |
|
|
52
|
+
| Enforcement behavior (Stop → Cite → Refuse) | Automated remediation |
|
|
53
|
+
| Authority hierarchy definition | Skill priority in GEMINI.md |
|
|
54
|
+
| Change Proposal review | Proposal tooling |
|
|
55
|
+
|
|
56
|
+
**Pure decision skill:** Produces governance decisions (approve/refuse/escalate). Zero side effects.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Execution Model — 4-Phase Lifecycle
|
|
61
|
+
|
|
62
|
+
| Phase | Action | Output |
|
|
63
|
+
|-------|--------|--------|
|
|
64
|
+
| **Classify** | Validate request type, extract scope, identify risk level | Validated input or error |
|
|
65
|
+
| **Evaluate** | Load applicable doctrines from `rules/`, check each against context | Violation list (may be empty) |
|
|
66
|
+
| **Decide** | 0 violations → approve; ≥1 blocking → refuse; ambiguous → escalate | Decision + conditions/violations |
|
|
67
|
+
| **Emit** | Return structured output with enforcement action | Complete output schema |
|
|
68
|
+
|
|
69
|
+
All phases synchronous. Fail-closed: any phase failure defaults to "refuse."
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Authority Hierarchy
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
Code Constitution (SUPREME)
|
|
77
|
+
└── GEMINI.md (P0)
|
|
78
|
+
└── Agent .md files (P1)
|
|
79
|
+
└── Skill .md files (P2)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
No skill, agent, or workflow may override a constitutional decision.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Agent Operating Mode
|
|
87
|
+
|
|
88
|
+
| Setting | Value | Meaning |
|
|
89
|
+
|---------|-------|---------|
|
|
90
|
+
| POLICY_MODE | STRICT | All rules enforced without exception |
|
|
91
|
+
| AUTONOMY | PROPOSAL_ONLY | Agents propose; never self-approve |
|
|
92
|
+
| TRUST_LEVEL | ZERO | Agent declarations are inputs, not truth |
|
|
93
|
+
|
|
94
|
+
**Agents MAY:** Propose actions, explain trade-offs, identify risks, cite doctrines.
|
|
95
|
+
|
|
96
|
+
**Agents MUST NOT:** Approve without user consent, merge automatically, bypass enforcement.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Enforcement Behavior
|
|
101
|
+
|
|
102
|
+
When violation detected:
|
|
103
|
+
|
|
104
|
+
1. **Stop** execution immediately
|
|
105
|
+
2. **Cite** specific violated doctrine (file + rule)
|
|
106
|
+
3. **Explain** systemic risk of the violation
|
|
107
|
+
4. **Refuse** the request
|
|
108
|
+
|
|
109
|
+
**Fail-closed invariant:** Partial compliance = enforcement failure. Ambiguity = refuse or escalate.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Error Taxonomy
|
|
114
|
+
|
|
115
|
+
| Code | Recoverable | Default Action |
|
|
116
|
+
|------|-------------|----------------|
|
|
117
|
+
| `ERR_INVALID_REQUEST_TYPE` | No | Refuse |
|
|
118
|
+
| `ERR_MISSING_CONTEXT` | Yes | Refuse |
|
|
119
|
+
| `ERR_DOCTRINE_NOT_FOUND` | No | Refuse |
|
|
120
|
+
| `ERR_AMBIGUOUS_SCOPE` | Yes | Escalate |
|
|
121
|
+
| `ERR_TRUST_VIOLATION` | No | Refuse + restrict |
|
|
122
|
+
| `ERR_INVALID_PROPOSAL` | Yes | Refuse |
|
|
123
|
+
| `ERR_EVALUATION_FAILED` | No | Refuse |
|
|
124
|
+
|
|
125
|
+
**All failures default to refuse.** No silent approvals. Zero internal retries.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Quick Start
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
1. Agent proposes action with context (scope, files, change type, risk level)
|
|
133
|
+
2. Code Constitution validates against applicable doctrines in rules/
|
|
134
|
+
3. Decision returned: approve | refuse | escalate
|
|
135
|
+
4. If refused: Stop, cite violation, do NOT proceed
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Validation scripts: `scripts/validate_doctrine.ts` | PR audit: `scripts/audit_pr.ts`
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Anti-Patterns
|
|
143
|
+
|
|
144
|
+
| ❌ Don't | ✅ Do |
|
|
145
|
+
|---------|-------|
|
|
146
|
+
| Self-approve agent actions | Propose and wait for user consent |
|
|
147
|
+
| Ignore governance for "quick fix" | Load constitution; validate first |
|
|
148
|
+
| Override constitution from another skill | Respect authority hierarchy |
|
|
149
|
+
| Assume no violation = safe | Explicitly check applicable doctrines |
|
|
150
|
+
| Modify doctrines directly | Submit Change Proposal |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Troubleshooting
|
|
155
|
+
|
|
156
|
+
| Problem | Cause | Resolution |
|
|
157
|
+
|---------|-------|------------|
|
|
158
|
+
| Every action refused | Scope set to "critical" for minor changes | Set accurate `risk_level` and `scope` |
|
|
159
|
+
| Doctrine not found error | Skill installation incomplete | Verify `rules/doctrines/` contains all 8 domains |
|
|
160
|
+
| Escalation loop | Ambiguous scope keeps re-triggering | Provide explicit scope: architecture, data, security |
|
|
161
|
+
| Agent bypasses governance | Skill not loaded for the request type | Add trigger keywords to agent routing config |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 📑 Content Map
|
|
166
|
+
|
|
167
|
+
| Folder | Content | When to Read |
|
|
168
|
+
|--------|---------|--------------|
|
|
169
|
+
| [rules/](rules/) | 16 domain-specific governance rules | Doctrine evaluation |
|
|
170
|
+
| [rules/engineering-spec.md](rules/engineering-spec.md) | Full engineering spec: contracts, security, scalability | Architecture review |
|
|
171
|
+
| [metadata/](metadata/) | Routing & intent configuration | Skill routing |
|
|
172
|
+
| [resources/](resources/) | Templates & reference materials | Building governance artifacts |
|
|
173
|
+
| [scripts/](scripts/) | Validation & enforcement scripts | Automated checking |
|
|
174
|
+
| [examples/](examples/) | Governance usage examples | Learning patterns |
|
|
175
|
+
| [knowledge/](knowledge/) | Accumulated governance knowledge | Context building |
|
|
176
|
+
| [proposals/](proposals/) | Change Proposals for doctrine updates | Modifying constitution |
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## 🔗 Related
|
|
181
|
+
|
|
182
|
+
| Item | Type | Purpose |
|
|
183
|
+
|------|------|---------|
|
|
184
|
+
| `code-review` | Skill | Code quality review |
|
|
185
|
+
| `security-scanner` | Skill | Security vulnerability detection |
|
|
186
|
+
| `code-craft` | Skill | Code standards enforcement |
|
|
187
|
+
| `skill-generator` | Skill | Skill file validation |
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// ✅ CORRECT: Backend as source of truth
|
|
2
|
+
// Follows Law 1 (Truth Ownership)
|
|
3
|
+
|
|
4
|
+
import { useQuery } from '@tanstack/react-query';
|
|
5
|
+
import { api } from '@/lib/api';
|
|
6
|
+
|
|
7
|
+
export function CoinPriceCard({ coinId }) {
|
|
8
|
+
// ✅ Frontend only consumes backend data
|
|
9
|
+
const { data } = useQuery({
|
|
10
|
+
queryKey: ['coin', coinId, 'price'],
|
|
11
|
+
queryFn: () => api.getCoinPrice(coinId),
|
|
12
|
+
refetchInterval: 5000, // Backend controls refresh rate
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// ✅ NO local state for truth
|
|
16
|
+
// ✅ NO direct external API calls
|
|
17
|
+
// ✅ NO frontend calculations
|
|
18
|
+
// ✅ NO localStorage for financial data
|
|
19
|
+
|
|
20
|
+
if (!data) return <div>Loading...</div>;
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<div>
|
|
24
|
+
{/* ✅ Display backend-provided data only */}
|
|
25
|
+
<p>Price: ${data.currentPrice}</p>
|
|
26
|
+
<p>24h Avg: ${data.avg24h}</p>
|
|
27
|
+
|
|
28
|
+
{/* Backend metadata */}
|
|
29
|
+
<p className="text-xs text-gray-500">
|
|
30
|
+
Updated: {new Date(data.timestamp).toLocaleTimeString()}
|
|
31
|
+
</p>
|
|
32
|
+
</div>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// ✅ Backend API implementation (separate service)
|
|
37
|
+
// /api/coins/[coinId]/price.js
|
|
38
|
+
export async function GET(req, { params }) {
|
|
39
|
+
// ✅ Backend owns the truth
|
|
40
|
+
const price = await db.coinPrices.findFirst({
|
|
41
|
+
where: { coinId: params.coinId },
|
|
42
|
+
orderBy: { timestamp: 'desc' },
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// ✅ Backend calculates aggregates
|
|
46
|
+
const avg24h = await db.coinPrices.aggregate({
|
|
47
|
+
where: {
|
|
48
|
+
coinId: params.coinId,
|
|
49
|
+
timestamp: { gte: new Date(Date.now() - 24 * 60 * 60 * 1000) },
|
|
50
|
+
},
|
|
51
|
+
_avg: { price: true },
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
return Response.json({
|
|
55
|
+
currentPrice: price.price,
|
|
56
|
+
avg24h: avg24h._avg.price,
|
|
57
|
+
timestamp: price.timestamp,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// ❌ VIOLATION: Frontend mutating backend data
|
|
2
|
+
// This violates Law 1 (Truth Ownership)
|
|
3
|
+
|
|
4
|
+
import { useState, useEffect } from 'react';
|
|
5
|
+
|
|
6
|
+
export function CoinPriceCard({ coinId }) {
|
|
7
|
+
const [price, setPrice] = useState(0);
|
|
8
|
+
const [history, setHistory] = useState([]);
|
|
9
|
+
|
|
10
|
+
// VIOLATION: Frontend making truth decisions
|
|
11
|
+
const updatePrice = (newPrice) => {
|
|
12
|
+
// ❌ Directly mutating price state
|
|
13
|
+
setPrice(newPrice);
|
|
14
|
+
|
|
15
|
+
// ❌ CRITICAL VIOLATION: Frontend managing historical data
|
|
16
|
+
setHistory(prev => [...prev, newPrice]);
|
|
17
|
+
|
|
18
|
+
// ❌ Frontend calculating aggregates
|
|
19
|
+
const avg = history.reduce((a, b) => a + b, 0) / history.length;
|
|
20
|
+
|
|
21
|
+
// ❌ Frontend persisting to localStorage
|
|
22
|
+
localStorage.setItem(`coin_${coinId}_price`, newPrice.toString());
|
|
23
|
+
localStorage.setItem(`coin_${coinId}_history`, JSON.stringify(history));
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// ❌ Frontend calling external API directly
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
fetch(`https://api.coingecko.com/api/v3/coins/${coinId}`)
|
|
29
|
+
.then(res => res.json())
|
|
30
|
+
.then(data => {
|
|
31
|
+
// ❌ Frontend processing raw external data
|
|
32
|
+
updatePrice(data.market_data.current_price.usd);
|
|
33
|
+
});
|
|
34
|
+
}, [coinId]);
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<div>
|
|
38
|
+
<p>Price: ${price}</p>
|
|
39
|
+
<p>24h Avg: ${avg}</p>
|
|
40
|
+
</div>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Backend Mutation Violation Example
|
|
2
|
+
|
|
3
|
+
## Why This Matters
|
|
4
|
+
|
|
5
|
+
This example demonstrates **Law 1: Truth Ownership** from the Master Constitution.
|
|
6
|
+
|
|
7
|
+
### The Problem (before.tsx)
|
|
8
|
+
|
|
9
|
+
The frontend is:
|
|
10
|
+
1. ❌ Making truth decisions about prices
|
|
11
|
+
2. ❌ Managing historical data locally
|
|
12
|
+
3. ❌ Calculating financial aggregates
|
|
13
|
+
4. ❌ Persisting data to localStorage
|
|
14
|
+
5. ❌ Calling external APIs directly
|
|
15
|
+
|
|
16
|
+
### The Systemic Risks
|
|
17
|
+
|
|
18
|
+
1. **Data Inconsistency**
|
|
19
|
+
- Different users see different "truths"
|
|
20
|
+
- No single source of historical accuracy
|
|
21
|
+
- Aggregates vary by client state
|
|
22
|
+
|
|
23
|
+
2. **Correctness Failure**
|
|
24
|
+
- Frontend can be manipulated via DevTools
|
|
25
|
+
- localStorage can be corrupted
|
|
26
|
+
- No data validation or normalization
|
|
27
|
+
|
|
28
|
+
3. **Scalability Failure**
|
|
29
|
+
- Every client directly hammers external APIs
|
|
30
|
+
- No rate limiting or caching
|
|
31
|
+
- Amplification under load
|
|
32
|
+
|
|
33
|
+
4. **Commercial Risk**
|
|
34
|
+
- Users making financial decisions on unverified data
|
|
35
|
+
- Potential for data manipulation
|
|
36
|
+
- No audit trail
|
|
37
|
+
|
|
38
|
+
### The Solution (after.tsx)
|
|
39
|
+
|
|
40
|
+
The backend:
|
|
41
|
+
- ✅ Owns all truth
|
|
42
|
+
- ✅ Manages historical data
|
|
43
|
+
- ✅ Calculates aggregates
|
|
44
|
+
- ✅ Validates and normalizes external data
|
|
45
|
+
- ✅ Provides cacheable, rate-limited API
|
|
46
|
+
|
|
47
|
+
The frontend:
|
|
48
|
+
- ✅ Only displays backend-provided data
|
|
49
|
+
- ✅ Has no local truth
|
|
50
|
+
- ✅ Cannot manipulate financial data
|
|
51
|
+
- ✅ Stateless and predictable
|
|
52
|
+
|
|
53
|
+
## Constitutional Justification
|
|
54
|
+
|
|
55
|
+
> **Law 1 — Truth Ownership**
|
|
56
|
+
>
|
|
57
|
+
> The backend is the **single source of truth**.
|
|
58
|
+
>
|
|
59
|
+
> If the frontend can alter financial meaning, the system is architecturally broken.
|
|
60
|
+
|
|
61
|
+
From: Code Constitution — Master Laws
|
|
62
|
+
|
|
63
|
+
## Architecture Doctrine
|
|
64
|
+
|
|
65
|
+
> The frontend MUST NEVER:
|
|
66
|
+
> - Depend directly on external APIs (production)
|
|
67
|
+
> - Reconstruct backend meaning
|
|
68
|
+
> - Patch missing data
|
|
69
|
+
>
|
|
70
|
+
> If the frontend can "fix" backend data, the architecture is invalid.
|
|
71
|
+
|
|
72
|
+
From: Code Constitution — Architecture Doctrine
|
|
73
|
+
|
|
74
|
+
## When to Apply This Pattern
|
|
75
|
+
|
|
76
|
+
- Any financial data (prices, volumes, balances)
|
|
77
|
+
- Any historical data (charts, aggregates, trends)
|
|
78
|
+
- Any calculated data (averages, percentiles, rankings)
|
|
79
|
+
- Any persistent data (portfolios, watchlists, settings with financial impact)
|
|
80
|
+
|
|
81
|
+
## Key Takeaway
|
|
82
|
+
|
|
83
|
+
**The frontend is a VIEW, not a CALCULATOR.**
|
|
84
|
+
|
|
85
|
+
If you're writing `localStorage.setItem()` with financial data, or calculating aggregates in a React component, you're violating the Constitution.
|
|
86
|
+
|
|
87
|
+
Stop, redesign, and move the logic to the backend.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// ✅ CORRECT: Realtime and historical data strictly separated
|
|
2
|
+
// Follows Law 3 (Realtime Ephemerality) and Law 4 (Chart Truthfulness)
|
|
3
|
+
|
|
4
|
+
import { useEffect, useRef, useState } from 'react';
|
|
5
|
+
import { createChart } from 'lightweight-charts';
|
|
6
|
+
|
|
7
|
+
export function BitcoinChart() {
|
|
8
|
+
const chartRef = useRef(null);
|
|
9
|
+
const seriesRef = useRef(null);
|
|
10
|
+
|
|
11
|
+
// ✅ SEPARATE state for realtime display
|
|
12
|
+
const [realtimePrice, setRealtimePrice] = useState(null);
|
|
13
|
+
const [realtimeChange, setRealtimeChange] = useState(0);
|
|
14
|
+
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
const chart = createChart(chartRef.current, { width: 600, height: 400 });
|
|
17
|
+
const series = chart.addLineSeries();
|
|
18
|
+
|
|
19
|
+
// ✅ Load ONLY historical data into chart
|
|
20
|
+
fetch('/api/bitcoin/historical')
|
|
21
|
+
.then(res => res.json())
|
|
22
|
+
.then(data => {
|
|
23
|
+
series.setData(data); // Immutable historical record
|
|
24
|
+
|
|
25
|
+
// ✅ Use last historical point as baseline for realtime change
|
|
26
|
+
const lastPrice = data[data.length - 1].value;
|
|
27
|
+
setRealtimeChange(0); // Reset change against history
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// ✅ WebSocket for DISPLAY ONLY
|
|
31
|
+
const ws = new WebSocket('wss://stream.binance.com/ws/btcusdt@trade');
|
|
32
|
+
|
|
33
|
+
ws.onmessage = (event) => {
|
|
34
|
+
const tick = JSON.parse(event.data);
|
|
35
|
+
const price = parseFloat(tick.p);
|
|
36
|
+
|
|
37
|
+
// ✅ Update ephemeral display state ONLY
|
|
38
|
+
setRealtimePrice(price);
|
|
39
|
+
|
|
40
|
+
// ✅ Calculate change from last HISTORICAL close
|
|
41
|
+
const lastHistoricalPrice = series.data()[series.data().length - 1].value;
|
|
42
|
+
setRealtimeChange(((price - lastHistoricalPrice) / lastHistoricalPrice) * 100);
|
|
43
|
+
|
|
44
|
+
// ✅ NO modification to chart data
|
|
45
|
+
// ✅ NO persistence
|
|
46
|
+
// ✅ NO mixing historical and realtime
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
seriesRef.current = series;
|
|
50
|
+
|
|
51
|
+
return () => ws.close();
|
|
52
|
+
}, []);
|
|
53
|
+
|
|
54
|
+
return (
|
|
55
|
+
<div>
|
|
56
|
+
{/* ✅ Historical chart (immutable) */}
|
|
57
|
+
<div ref={chartRef} />
|
|
58
|
+
|
|
59
|
+
{/* ✅ Separate realtime display */}
|
|
60
|
+
<div className="realtime-ticker bg-gray-900 p-4 mt-2">
|
|
61
|
+
<p className="text-sm text-gray-400">Live Price (not in chart)</p>
|
|
62
|
+
<p className="text-2xl font-bold">
|
|
63
|
+
${realtimePrice?.toLocaleString() ?? '---'}
|
|
64
|
+
</p>
|
|
65
|
+
<p className={realtimeChange >= 0 ? 'text-green-500' : 'text-red-500'}>
|
|
66
|
+
{realtimeChange >= 0 ? '↑' : '↓'} {Math.abs(realtimeChange).toFixed(2)}%
|
|
67
|
+
</p>
|
|
68
|
+
<p className="text-xs text-gray-500 mt-1">
|
|
69
|
+
Since last close • Ephemeral • Not persisted
|
|
70
|
+
</p>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// ✅ Backend aggregates realtime into historical at fixed intervals
|
|
77
|
+
// /api/cron/aggregate-bitcoin-price.js (runs every 5 minutes)
|
|
78
|
+
export async function aggregateRealtimeToHistory() {
|
|
79
|
+
// ✅ Collect realtime ticks from last 5 minutes
|
|
80
|
+
const realtimeTicks = await redis.lrange('btc:ticks:last5m', 0, -1);
|
|
81
|
+
|
|
82
|
+
// ✅ Calculate OHLCV from ticks
|
|
83
|
+
const candle = calculateOHLCV(realtimeTicks);
|
|
84
|
+
|
|
85
|
+
// ✅ APPEND to historical data (immutable)
|
|
86
|
+
await db.bitcoinHistory.create({
|
|
87
|
+
data: {
|
|
88
|
+
timestamp: candle.timestamp,
|
|
89
|
+
open: candle.open,
|
|
90
|
+
high: candle.high,
|
|
91
|
+
low: candle.low,
|
|
92
|
+
close: candle.close,
|
|
93
|
+
volume: candle.volume,
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
// ✅ Clear realtime buffer
|
|
98
|
+
await redis.del('btc:ticks:last5m');
|
|
99
|
+
}
|