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,422 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doc-templates-engineering-spec
|
|
3
|
+
description: Full 21-section engineering spec — contracts, deterministic design, compliance matrix
|
|
4
|
+
title: "Doc Templates --” Engineering Specification"
|
|
5
|
+
impact: MEDIUM
|
|
6
|
+
impactDescription: "Moderate improvement to quality or maintainability"
|
|
7
|
+
tags: engineering, spec
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Doc Templates — Engineering Specification
|
|
11
|
+
|
|
12
|
+
> Production-grade specification for documentation template selection and structure guidelines at FAANG scale.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. Overview
|
|
17
|
+
|
|
18
|
+
Doc Templates provides deterministic template selection for project documentation: README structure, API endpoint docs, Architecture Decision Records (ADR), changelog format, llms.txt for AI context, and code comment guidelines. The skill operates as an expert knowledge base that produces document structures and templates — it does not create files, write documentation content, or execute tooling.
|
|
19
|
+
|
|
20
|
+
**Contract Version:** 2.0.0
|
|
21
|
+
**Backward Compatibility:** breaking (first hardened version)
|
|
22
|
+
**Breaking Changes:** None — new spec for first hardening
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 2. Problem Statement
|
|
27
|
+
|
|
28
|
+
Documentation at scale faces four quantified problems:
|
|
29
|
+
|
|
30
|
+
| Problem | Measurement | Impact |
|
|
31
|
+
|---------|-------------|--------|
|
|
32
|
+
| No standard README structure | 50% of projects lack Quick Start section | Slow onboarding; increased support requests |
|
|
33
|
+
| Inconsistent API docs | 40% of endpoints undocumented or partially documented | Integration errors |
|
|
34
|
+
| Missing ADRs | 70% of architecture decisions have no written record | Context lost when team members leave |
|
|
35
|
+
| Over-commenting code | 30% of inline comments describe the "what" not the "why" | Noise; comments become stale |
|
|
36
|
+
|
|
37
|
+
Doc Templates eliminates these with fixed templates per document type and structured comment guidelines.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 3. Design Goals
|
|
42
|
+
|
|
43
|
+
| ID | Goal | Measurable Constraint |
|
|
44
|
+
|----|------|-----------------------|
|
|
45
|
+
| G1 | Standard README | 6 required sections: name, Quick Start, Features, Configuration, Documentation, License |
|
|
46
|
+
| G2 | Complete API docs | Every endpoint has: method, path, parameters, response codes |
|
|
47
|
+
| G3 | ADR compliance | Every ADR has: Status, Context, Decision, Consequences |
|
|
48
|
+
| G4 | Comment quality | Comments explain "why" (business logic, algorithms), never "what" |
|
|
49
|
+
| G5 | Template selection | Deterministic: document type → template |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 4. Non-Goals
|
|
54
|
+
|
|
55
|
+
| ID | Excluded | Rationale |
|
|
56
|
+
|----|----------|-----------|
|
|
57
|
+
| NG1 | Auto-documentation generation | Owned by `/chronicle` workflow |
|
|
58
|
+
| NG2 | Project structure planning | Owned by `project-planner` skill |
|
|
59
|
+
| NG3 | Code quality review | Owned by `code-craft` skill |
|
|
60
|
+
| NG4 | OpenAPI/Swagger generation | Tooling-specific concern |
|
|
61
|
+
| NG5 | Documentation hosting/deployment | Infrastructure concern |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 5. System Boundaries
|
|
66
|
+
|
|
67
|
+
| Boundary | Owned | Not Owned |
|
|
68
|
+
|----------|-------|-----------|
|
|
69
|
+
| README template (6 sections) | Structure definition | Content writing |
|
|
70
|
+
| API doc template (method/path/params/response) | Template definition | Endpoint discovery |
|
|
71
|
+
| ADR template (Status/Context/Decision/Consequences) | Structure definition | Decision authoring |
|
|
72
|
+
| Changelog template | Format specification | Release management |
|
|
73
|
+
| llms.txt template | AI context format | AI model integration |
|
|
74
|
+
| Comment guidelines (why vs what) | Guidelines definition | Comment enforcement tooling |
|
|
75
|
+
|
|
76
|
+
**Side-effect boundary:** Doc Templates produces document templates and structural guidance. It does not create files, write content, or execute documentation generators.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 6. Integration Model
|
|
81
|
+
|
|
82
|
+
### 6.1 Agent Contract
|
|
83
|
+
|
|
84
|
+
#### Input Schema
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
Request_Type: string # "readme" | "api-doc" | "adr" | "changelog" | "llms-txt" |
|
|
88
|
+
# "comment-guide" | "full-catalog"
|
|
89
|
+
Context: {
|
|
90
|
+
project_name: string | null # Project name for README
|
|
91
|
+
api_method: string | null # HTTP method for API doc
|
|
92
|
+
api_path: string | null # Endpoint path for API doc
|
|
93
|
+
adr_number: number | null # ADR sequence number
|
|
94
|
+
adr_title: string | null # ADR title
|
|
95
|
+
}
|
|
96
|
+
contract_version: string # "2.0.0"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### Output Schema
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Status: "success" | "error"
|
|
103
|
+
Data: {
|
|
104
|
+
template: {
|
|
105
|
+
type: string # Template type name
|
|
106
|
+
structure: Array<{
|
|
107
|
+
section: string # Section name
|
|
108
|
+
required: boolean
|
|
109
|
+
description: string
|
|
110
|
+
example: string | null
|
|
111
|
+
}>
|
|
112
|
+
markdown: string # Complete template in markdown
|
|
113
|
+
} | null
|
|
114
|
+
comment_guidelines: {
|
|
115
|
+
do_comment: Array<string> # What to comment (why, algorithms, contracts)
|
|
116
|
+
dont_comment: Array<string> # What not to comment (obvious, every line)
|
|
117
|
+
} | null
|
|
118
|
+
metadata: {
|
|
119
|
+
contract_version: string
|
|
120
|
+
backward_compatibility: string
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
Error: ErrorSchema | null
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
#### Error Schema
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
Code: string # From Error Taxonomy (Section 11)
|
|
130
|
+
Message: string
|
|
131
|
+
Request_Type: string
|
|
132
|
+
Recoverable: boolean
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
#### Deterministic Guarantees
|
|
136
|
+
|
|
137
|
+
- Same `Request_Type` = identical template structure.
|
|
138
|
+
- README always has 6 sections in fixed order.
|
|
139
|
+
- API doc always has: method, path, parameters table, response codes.
|
|
140
|
+
- ADR always has: Status, Context, Decision, Consequences.
|
|
141
|
+
- Comment guidelines are fixed: 3 "do" items, 3 "don't" items.
|
|
142
|
+
- No randomization, no content generation.
|
|
143
|
+
|
|
144
|
+
#### What Agents May Assume
|
|
145
|
+
|
|
146
|
+
- Template structure is complete and ready to fill.
|
|
147
|
+
- Section order is intentional and should be preserved.
|
|
148
|
+
- Required sections must not be omitted.
|
|
149
|
+
- Comment guidelines are universal (not language-specific).
|
|
150
|
+
|
|
151
|
+
#### What Agents Must NOT Assume
|
|
152
|
+
|
|
153
|
+
- The skill populates template content (agent fills in content).
|
|
154
|
+
- Templates cover framework-specific documentation needs.
|
|
155
|
+
- The skill creates files on disk.
|
|
156
|
+
- ADR numbers are tracked or deduplicated by this skill.
|
|
157
|
+
|
|
158
|
+
#### Side-Effect Boundaries
|
|
159
|
+
|
|
160
|
+
| Operation | Side Effects |
|
|
161
|
+
|-----------|-------------|
|
|
162
|
+
| README template | None; markdown output |
|
|
163
|
+
| API doc template | None; markdown output |
|
|
164
|
+
| ADR template | None; markdown output |
|
|
165
|
+
| Changelog template | None; markdown output |
|
|
166
|
+
| llms.txt template | None; text output |
|
|
167
|
+
| Comment guidelines | None; guidance output |
|
|
168
|
+
|
|
169
|
+
### 6.2 Workflow Contract
|
|
170
|
+
|
|
171
|
+
#### Invocation Pattern
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
1. Determine document type needed
|
|
175
|
+
2. Invoke doc-templates with appropriate request type
|
|
176
|
+
3. Receive template structure
|
|
177
|
+
4. Fill in template content (caller's responsibility)
|
|
178
|
+
5. Save to file (caller's responsibility)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### Execution Guarantees
|
|
182
|
+
|
|
183
|
+
- Each invocation produces a complete, self-contained template.
|
|
184
|
+
- Templates are markdown-formatted and ready to use.
|
|
185
|
+
- No background processes, no deferred execution.
|
|
186
|
+
|
|
187
|
+
#### Failure Propagation Model
|
|
188
|
+
|
|
189
|
+
| Failure Severity | Propagation | Workflow Action |
|
|
190
|
+
|-----------------|-------------|-----------------|
|
|
191
|
+
| Invalid request type | Return error to caller | Use supported type |
|
|
192
|
+
| Missing project name for README | Return template with blank name | Supply name |
|
|
193
|
+
| Missing ADR number | Return template with blank number | Supply number |
|
|
194
|
+
|
|
195
|
+
#### Retry Boundaries
|
|
196
|
+
|
|
197
|
+
- Zero internal retries. Deterministic output.
|
|
198
|
+
|
|
199
|
+
#### Isolation Model
|
|
200
|
+
|
|
201
|
+
- Each invocation is stateless and independent.
|
|
202
|
+
|
|
203
|
+
#### Idempotency Expectations
|
|
204
|
+
|
|
205
|
+
| Operation | Idempotent | Notes |
|
|
206
|
+
|-----------|-----------|-------|
|
|
207
|
+
| README template | Yes | Same request = same template |
|
|
208
|
+
| API doc template | Yes | Same method/path = same template |
|
|
209
|
+
| ADR template | Yes | Same number/title = same template |
|
|
210
|
+
| Changelog template | Yes | Fixed format |
|
|
211
|
+
| llms.txt template | Yes | Fixed format |
|
|
212
|
+
| Comment guidelines | Yes | Fixed guidelines |
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 7. Execution Model
|
|
217
|
+
|
|
218
|
+
### 2-Phase Lifecycle
|
|
219
|
+
|
|
220
|
+
| Phase | Action | Output |
|
|
221
|
+
|-------|--------|--------|
|
|
222
|
+
| **Parse** | Validate request type | Validated input or error |
|
|
223
|
+
| **Emit** | Return template for request type | Complete template |
|
|
224
|
+
|
|
225
|
+
All phases synchronous. No evaluation phase needed — templates are static.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## 8. Deterministic Design Principles
|
|
230
|
+
|
|
231
|
+
| Principle | Enforcement |
|
|
232
|
+
|-----------|-------------|
|
|
233
|
+
| Fixed template per type | 5 document types → 5 fixed templates |
|
|
234
|
+
| Fixed section order | Sections always appear in defined order |
|
|
235
|
+
| Fixed comment guidelines | 3 do + 3 don't items |
|
|
236
|
+
| No content generation | Templates are structural; agent fills content |
|
|
237
|
+
| No external calls | Templates embedded in skill |
|
|
238
|
+
| No ambient state | Each invocation operates solely on explicit inputs |
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## 9. State & Idempotency Model
|
|
243
|
+
|
|
244
|
+
Stateless. Fully idempotent. No persistent state.
|
|
245
|
+
|
|
246
|
+
Each invocation produces an identical template for identical inputs. No session, no template history.
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 10. Failure Handling Strategy
|
|
251
|
+
|
|
252
|
+
| Failure Class | Behavior | Caller Recovery |
|
|
253
|
+
|---------------|----------|-----------------|
|
|
254
|
+
| Unknown request type | Return `ERR_INVALID_REQUEST_TYPE` | Use supported type |
|
|
255
|
+
| Reference file missing | Return `ERR_REFERENCE_NOT_FOUND` | Verify skill installation |
|
|
256
|
+
|
|
257
|
+
**Invariant:** Every failure returns a structured error. No silent fallback.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## 11. Error Taxonomy
|
|
262
|
+
|
|
263
|
+
| Code | Category | Recoverable | Description |
|
|
264
|
+
|------|----------|-------------|-------------|
|
|
265
|
+
| `ERR_INVALID_REQUEST_TYPE` | Validation | No | Request type not one of the 7 supported |
|
|
266
|
+
| `ERR_REFERENCE_NOT_FOUND` | Infrastructure | No | Reference file missing from rules/ |
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## 12. Timeout & Retry Policy
|
|
271
|
+
|
|
272
|
+
| Parameter | Default | Maximum | Rationale |
|
|
273
|
+
|-----------|---------|---------|-----------|
|
|
274
|
+
| Template generation timeout | N/A | N/A | Synchronous; < 10ms |
|
|
275
|
+
| Internal retries | Zero | Zero | Deterministic output |
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 13. Observability & Logging Schema
|
|
280
|
+
|
|
281
|
+
### Log Entry Format
|
|
282
|
+
|
|
283
|
+
```json
|
|
284
|
+
{
|
|
285
|
+
"trace_id": "uuid",
|
|
286
|
+
"skill_name": "doc-templates",
|
|
287
|
+
"contract_version": "2.0.0",
|
|
288
|
+
"execution_id": "uuid",
|
|
289
|
+
"timestamp": "ISO-8601",
|
|
290
|
+
"request_type": "string",
|
|
291
|
+
"template_type": "string",
|
|
292
|
+
"status": "success|error",
|
|
293
|
+
"error_code": "string|null",
|
|
294
|
+
"duration_ms": "number"
|
|
295
|
+
}
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Required Log Points
|
|
299
|
+
|
|
300
|
+
| Event | Log Level | Fields |
|
|
301
|
+
|-------|-----------|--------|
|
|
302
|
+
| Template generated | INFO | template_type, request_type |
|
|
303
|
+
| Request failed | ERROR | error_code, message |
|
|
304
|
+
|
|
305
|
+
### Metrics
|
|
306
|
+
|
|
307
|
+
| Metric | Type | Unit |
|
|
308
|
+
|--------|------|------|
|
|
309
|
+
| `doctemplates.generation.duration` | Histogram | ms |
|
|
310
|
+
| `doctemplates.template_type.distribution` | Counter | per template type |
|
|
311
|
+
| `doctemplates.error.count` | Counter | per error code |
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## 14. Security & Trust Model
|
|
316
|
+
|
|
317
|
+
### Data Handling
|
|
318
|
+
|
|
319
|
+
- Templates contain only structural guidance with no sensitive data.
|
|
320
|
+
- Project names and ADR titles are used for template population; never persisted.
|
|
321
|
+
- No code execution, no file system access, no network calls.
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## 15. Scalability Model
|
|
326
|
+
|
|
327
|
+
| Dimension | Constraint | Mitigation |
|
|
328
|
+
|-----------|-----------|------------|
|
|
329
|
+
| Throughput | CPU-bound template selection | < 10ms; scales linearly |
|
|
330
|
+
| Concurrency | Stateless invocations | Unlimited parallel |
|
|
331
|
+
| Template storage | 5 templates (~3 KB total) | Static; no growth |
|
|
332
|
+
| Memory per invocation | < 1 MB | No accumulation |
|
|
333
|
+
| Network | Zero network calls | No external dependency |
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## 16. Concurrency Model
|
|
338
|
+
|
|
339
|
+
Fully parallel. No shared state. No coordination required.
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## 17. Resource Lifecycle Management
|
|
344
|
+
|
|
345
|
+
All resources scoped to invocation. No persistent handles.
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## 18. Performance Constraints
|
|
350
|
+
|
|
351
|
+
| Operation | P50 Target | P99 Target | Hard Limit |
|
|
352
|
+
|-----------|-----------|-----------|------------|
|
|
353
|
+
| Template selection | < 2 ms | < 5 ms | 10 ms |
|
|
354
|
+
| Full catalog | < 5 ms | < 10 ms | 20 ms |
|
|
355
|
+
| Output size | ≤ 500 chars | ≤ 2,000 chars | 5,000 chars |
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
## 19. Operational Risks
|
|
360
|
+
|
|
361
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
362
|
+
|------|-----------|--------|------------|
|
|
363
|
+
| Templates too generic | Medium | Missing project-specific sections | Templates cover universal needs; agents extend |
|
|
364
|
+
| ADR numbering conflicts | Low | Duplicate ADR numbers | ADR numbering is caller's responsibility |
|
|
365
|
+
| Template drift between projects | Medium | Inconsistent documentation | Fixed templates enforce consistency |
|
|
366
|
+
| Comment guidelines ignored | Medium | Over/under-commenting | Guidelines are advisory; code-review enforces |
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## 20. Compliance with skill-design-guide.md
|
|
371
|
+
|
|
372
|
+
| Requirement | Status | Evidence |
|
|
373
|
+
|-------------|--------|----------|
|
|
374
|
+
| YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
|
|
375
|
+
| SKILL.md < 200 lines | ✅ | Entry point under 200 lines |
|
|
376
|
+
| Prerequisites documented | ✅ | No external dependencies |
|
|
377
|
+
| When to Use section | ✅ | Document-type decision table |
|
|
378
|
+
| Core content matches skill type | ✅ | Expert type: fixed templates, deterministic selection |
|
|
379
|
+
| Troubleshooting section | ✅ | Anti-patterns table |
|
|
380
|
+
| Related section | ✅ | Cross-links to /chronicle, project-planner, code-craft |
|
|
381
|
+
| Content Map for multi-file | ✅ | Links to doc.md + engineering-spec.md |
|
|
382
|
+
| Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
|
|
383
|
+
| Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## 21. Production Readiness Checklist
|
|
388
|
+
|
|
389
|
+
| Category | Check | Status |
|
|
390
|
+
|----------|-------|--------|
|
|
391
|
+
| **Functionality** | 5 document templates (README, API, ADR, changelog, llms.txt) | ✅ |
|
|
392
|
+
| **Functionality** | Comment guidelines (3 do + 3 don't) | ✅ |
|
|
393
|
+
| **Functionality** | Fixed section order per template | ✅ |
|
|
394
|
+
| **Contracts** | Input/output/error schemas in pseudo-schema format | ✅ |
|
|
395
|
+
| **Contracts** | Contract versioning with semver | ✅ |
|
|
396
|
+
| **Failure** | Error taxonomy with 2 categorized codes | ✅ |
|
|
397
|
+
| **Failure** | No silent fallback | ✅ |
|
|
398
|
+
| **Failure** | Zero internal retries | ✅ |
|
|
399
|
+
| **Determinism** | Fixed templates per document type | ✅ |
|
|
400
|
+
| **Security** | No file access; no persistent data | ✅ |
|
|
401
|
+
| **Observability** | Structured log schema with 5 mandatory fields + 2 log points | ✅ |
|
|
402
|
+
| **Observability** | 3 metrics defined | ✅ |
|
|
403
|
+
| **Performance** | P50/P99 targets for all operations | ✅ |
|
|
404
|
+
| **Scalability** | Stateless; unlimited parallel invocations | ✅ |
|
|
405
|
+
| **Compliance** | All skill-design-guide.md sections mapped with evidence | ✅ |
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## 🔗 Related
|
|
414
|
+
|
|
415
|
+
| File | When to Read |
|
|
416
|
+
|------|-------------|
|
|
417
|
+
| [doc.md](doc.md) | Full templates with examples |
|
|
418
|
+
| [../SKILL.md](../SKILL.md) | Quick reference and anti-patterns |
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
422
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* Mermaid Diagram Editor Server
|
|
4
|
+
* Live-editing server for Mermaid diagrams with hot-reload preview.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* npx tsx editor-server.ts --open # Open empty editor
|
|
8
|
+
* npx tsx editor-server.ts --file diagram.mmd # Edit existing file
|
|
9
|
+
* npx tsx editor-server.ts --stop # Stop all servers
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import * as http from 'node:http';
|
|
13
|
+
import * as fs from 'node:fs';
|
|
14
|
+
import * as path from 'node:path';
|
|
15
|
+
import { execSync } from 'node:child_process';
|
|
16
|
+
|
|
17
|
+
const DEFAULT_PORT = 3457;
|
|
18
|
+
|
|
19
|
+
interface ServerOptions {
|
|
20
|
+
file?: string;
|
|
21
|
+
port: number;
|
|
22
|
+
open: boolean;
|
|
23
|
+
stop: boolean;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function parseArgs(): ServerOptions {
|
|
27
|
+
const args = process.argv.slice(2);
|
|
28
|
+
const opts: ServerOptions = { port: DEFAULT_PORT, open: false, stop: false };
|
|
29
|
+
|
|
30
|
+
for (let i = 0; i < args.length; i++) {
|
|
31
|
+
switch (args[i]) {
|
|
32
|
+
case '--file': opts.file = args[++i]; break;
|
|
33
|
+
case '--port': opts.port = parseInt(args[++i], 10); break;
|
|
34
|
+
case '--open': opts.open = true; break;
|
|
35
|
+
case '--stop': opts.stop = true; break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return opts;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function getMermaidContent(filePath?: string): string {
|
|
42
|
+
if (filePath && fs.existsSync(filePath)) {
|
|
43
|
+
return fs.readFileSync(filePath, 'utf-8');
|
|
44
|
+
}
|
|
45
|
+
return `flowchart LR
|
|
46
|
+
A[Start] --> B{Decision}
|
|
47
|
+
B -->|Yes| C[Action]
|
|
48
|
+
B -->|No| D[End]`;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function buildEditorHtml(content: string, filePath?: string): string {
|
|
52
|
+
return `<!DOCTYPE html>
|
|
53
|
+
<html lang="en">
|
|
54
|
+
<head>
|
|
55
|
+
<meta charset="UTF-8">
|
|
56
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
57
|
+
<title>Mermaid Editor — PikaKit</title>
|
|
58
|
+
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
|
|
59
|
+
<style>
|
|
60
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
61
|
+
body { font-family: 'Inter', system-ui, sans-serif; background: #0f172a; color: #e2e8f0; display: flex; height: 100vh; }
|
|
62
|
+
.editor { width: 50%; display: flex; flex-direction: column; border-right: 1px solid #334155; }
|
|
63
|
+
.preview { width: 50%; display: flex; flex-direction: column; }
|
|
64
|
+
.toolbar { padding: 8px 16px; background: #1e293b; border-bottom: 1px solid #334155; display: flex; align-items: center; gap: 12px; }
|
|
65
|
+
.toolbar h2 { font-size: 14px; font-weight: 600; color: #94a3b8; }
|
|
66
|
+
.toolbar button { background: #3b82f6; color: white; border: none; padding: 4px 12px; border-radius: 4px; cursor: pointer; font-size: 12px; }
|
|
67
|
+
.toolbar button:hover { background: #2563eb; }
|
|
68
|
+
textarea { flex: 1; background: #1e293b; color: #e2e8f0; border: none; padding: 16px; font-family: 'JetBrains Mono', monospace; font-size: 14px; resize: none; outline: none; }
|
|
69
|
+
#preview-area { flex: 1; padding: 16px; overflow: auto; display: flex; align-items: center; justify-content: center; background: #f8fafc; }
|
|
70
|
+
#preview-area svg { max-width: 100%; }
|
|
71
|
+
.status { padding: 4px 16px; background: #1e293b; border-top: 1px solid #334155; font-size: 11px; color: #64748b; }
|
|
72
|
+
</style>
|
|
73
|
+
</head>
|
|
74
|
+
<body>
|
|
75
|
+
<div class="editor">
|
|
76
|
+
<div class="toolbar"><h2>✏️ Editor</h2><button onclick="renderDiagram()">Render</button></div>
|
|
77
|
+
<textarea id="code" spellcheck="false">${content}</textarea>
|
|
78
|
+
<div class="status">File: ${filePath || '(new)'} | Port: ${DEFAULT_PORT}</div>
|
|
79
|
+
</div>
|
|
80
|
+
<div class="preview">
|
|
81
|
+
<div class="toolbar"><h2>👁️ Preview</h2><button onclick="saveDiagram()">Save</button></div>
|
|
82
|
+
<div id="preview-area"></div>
|
|
83
|
+
<div class="status">⚡ PikaKit Mermaid Editor</div>
|
|
84
|
+
</div>
|
|
85
|
+
<script>
|
|
86
|
+
mermaid.initialize({ startOnLoad: false, theme: 'default' });
|
|
87
|
+
async function renderDiagram() {
|
|
88
|
+
const code = document.getElementById('code').value;
|
|
89
|
+
const el = document.getElementById('preview-area');
|
|
90
|
+
try {
|
|
91
|
+
const { svg } = await mermaid.render('preview', code);
|
|
92
|
+
el.innerHTML = svg;
|
|
93
|
+
} catch (e) { el.innerHTML = '<pre style="color:red">' + e.message + '</pre>'; }
|
|
94
|
+
}
|
|
95
|
+
async function saveDiagram() {
|
|
96
|
+
const code = document.getElementById('code').value;
|
|
97
|
+
await fetch('/save', { method: 'POST', headers: {'Content-Type': 'text/plain'}, body: code });
|
|
98
|
+
}
|
|
99
|
+
renderDiagram();
|
|
100
|
+
document.getElementById('code').addEventListener('input', () => { clearTimeout(window._t); window._t = setTimeout(renderDiagram, 500); });
|
|
101
|
+
</script>
|
|
102
|
+
</body>
|
|
103
|
+
</html>`;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function openBrowser(url: string): void {
|
|
107
|
+
try {
|
|
108
|
+
const cmd = process.platform === 'win32' ? `start ${url}` : process.platform === 'darwin' ? `open ${url}` : `xdg-open ${url}`;
|
|
109
|
+
execSync(cmd, { stdio: 'ignore' });
|
|
110
|
+
} catch { /* ignore */ }
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function stopServers(): void {
|
|
114
|
+
console.log(JSON.stringify({ status: 'success', data: { message: 'Stop signal sent. Kill processes on port ' + DEFAULT_PORT + ' manually if needed.' } }));
|
|
115
|
+
process.exit(0);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function main(): void {
|
|
119
|
+
const opts = parseArgs();
|
|
120
|
+
|
|
121
|
+
if (opts.stop) { stopServers(); return; }
|
|
122
|
+
|
|
123
|
+
const content = getMermaidContent(opts.file);
|
|
124
|
+
const html = buildEditorHtml(content, opts.file);
|
|
125
|
+
|
|
126
|
+
const server = http.createServer((req, res) => {
|
|
127
|
+
if (req.method === 'POST' && req.url === '/save') {
|
|
128
|
+
let body = '';
|
|
129
|
+
req.on('data', (chunk) => { body += chunk; });
|
|
130
|
+
req.on('end', () => {
|
|
131
|
+
if (opts.file) {
|
|
132
|
+
fs.writeFileSync(opts.file, body, 'utf-8');
|
|
133
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
134
|
+
res.end(JSON.stringify({ saved: opts.file }));
|
|
135
|
+
} else {
|
|
136
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
137
|
+
res.end(JSON.stringify({ error: 'No file specified. Use --file to enable saving.' }));
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
143
|
+
res.end(html);
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
server.listen(opts.port, () => {
|
|
147
|
+
const url = `http://localhost:${opts.port}`;
|
|
148
|
+
console.log(JSON.stringify({ status: 'success', data: { url, port: opts.port, file: opts.file || null } }));
|
|
149
|
+
if (opts.open) openBrowser(url);
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
server.on('error', (err: NodeJS.ErrnoException) => {
|
|
153
|
+
if (err.code === 'EADDRINUSE') {
|
|
154
|
+
console.error(JSON.stringify({ status: 'error', error: { code: 'ERR_PORT_UNAVAILABLE', message: `Port ${opts.port} in use`, recoverable: true } }));
|
|
155
|
+
} else {
|
|
156
|
+
console.error(JSON.stringify({ status: 'error', error: { code: 'ERR_SERVER_FAILED', message: err.message, recoverable: false } }));
|
|
157
|
+
}
|
|
158
|
+
process.exit(1);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
main();
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
|
|
4
|
+
const specPath = path.join(__dirname, 'rules', 'engineering-spec.md');
|
|
5
|
+
let content = fs.readFileSync(specPath, 'utf8');
|
|
6
|
+
|
|
7
|
+
if (!content.includes('OpenTelemetry Observability')) {
|
|
8
|
+
const injection = `## OpenTelemetry Observability (MANDATORY)
|
|
9
|
+
|
|
10
|
+
- **Render Telemetry**: EVERY time a Preview Server or Mermaid Editor server is launched, the Agent MUST emit an OpenTelemetry Span recording \`render_time_ms\` and memory footprint.
|
|
11
|
+
- **Template Compliance Events**: If an Agent attempts to generate or save a documentation file (e.g., README.md) that lacks the REQUIRED mandatory sections (e.g. Quick Start), it MUST trigger a \`TEMPLATE_COMPLIANCE_FAILURE\` OTel Event for audit logging before gracefully recovering.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
`;
|
|
16
|
+
|
|
17
|
+
content = content.replace('PikaKit v3.9.109', injection + 'PikaKit v3.9.109');
|
|
18
|
+
fs.writeFileSync(specPath, content);
|
|
19
|
+
console.log('Successfully injected OpenTelemetry into engineering-spec.md');
|
|
20
|
+
} else {
|
|
21
|
+
console.log('OpenTelemetry already injected.');
|
|
22
|
+
}
|