tribunal-kit 9.0.2 → 9.2.3
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/agents/backend-specialist.md +1 -1
- package/.agent/agents/code-archaeologist.md +1 -1
- package/.agent/agents/database-architect.md +1 -1
- package/.agent/agents/debugger.md +1 -1
- package/.agent/agents/devops-engineer.md +1 -1
- package/.agent/agents/documentation-writer.md +1 -1
- package/.agent/agents/explorer-agent.md +1 -1
- package/.agent/agents/game-developer.md +1 -1
- package/.agent/agents/minimalist-reviewer.md +1 -1
- package/.agent/agents/mobile-developer.md +1 -1
- package/.agent/agents/orchestrator.md +44 -2
- package/.agent/agents/penetration-tester.md +1 -1
- package/.agent/agents/performance-optimizer.md +1 -1
- package/.agent/agents/product-manager.md +1 -1
- package/.agent/agents/product-owner.md +1 -1
- package/.agent/agents/project-planner.md +1 -1
- package/.agent/agents/qa-automation-engineer.md +1 -1
- package/.agent/agents/seo-specialist.md +1 -1
- package/.agent/agents/test-engineer.md +1 -1
- package/.agent/config/claude.json +1 -1
- package/.agent/config/plugin.json +1 -1
- package/.agent/history/architecture-explorer.html +352 -0
- package/.agent/history/architecture-graph.yaml +181 -1
- package/.agent/history/graph-cache.json +323 -13
- package/.agent/history/integrity_manifest.json +3937 -299
- package/.agent/history/memory/.memory.idx +50 -50
- package/.agent/history/snapshots/.opencode__plugins__tribunal.js.json +12 -0
- package/.agent/history/snapshots/.pi__extensions__tribunal.ts.json +12 -0
- package/.agent/history/snapshots/bin__adapter-install.js.json +1 -1
- package/.agent/history/snapshots/bin__mcp-server.js.json +4 -2
- package/.agent/history/snapshots/bin__proxy-server.js.json +1 -1
- package/.agent/history/snapshots/bin__spawn-agent.js.json +1 -1
- package/.agent/history/snapshots/bin__wrapper.js.json +1 -1
- package/.agent/history/snapshots/eslint.config.js.json +1 -1
- package/.agent/history/snapshots/hooks__session-start.js.json +11 -0
- package/.agent/history/snapshots/scripts__apply-version.js.json +11 -0
- package/.agent/history/snapshots/scripts__audit_skill_sdo.js.json +11 -0
- package/.agent/history/snapshots/scripts__clean-pycache.js.json +11 -0
- package/.agent/history/snapshots/scripts__context_compiler.js.json +17 -0
- package/.agent/history/snapshots/scripts__modernize_skills.js.json +11 -0
- package/.agent/history/snapshots/scripts__package-cores.js.json +12 -0
- package/.agent/history/snapshots/scripts__skill_enhancement_engine.js.json +11 -0
- package/.agent/history/snapshots/scripts__sync-skills.js.json +11 -0
- package/.agent/history/snapshots/scripts__telemetry_gc.js.json +11 -0
- package/.agent/history/snapshots/scripts__validate-payload.js.json +1 -1
- package/.agent/history/snapshots/test__integration__browser_cli.test.js.json +12 -0
- package/.agent/history/snapshots/test__integration__sync_status.test.js.json +1 -1
- package/.agent/history/snapshots/test__unit__ast_context_loader.test.js.json +12 -0
- package/.agent/history/snapshots/test__unit__browser_case_bridge.test.js.json +11 -0
- package/.agent/history/snapshots/test__unit__browser_discovery.test.js.json +10 -0
- package/.agent/history/snapshots/test__unit__browser_idpi.test.js.json +10 -0
- package/.agent/history/snapshots/test__unit__browser_sentinel.test.js.json +11 -0
- package/.agent/history/snapshots/test__unit__browser_synapse.test.js.json +10 -0
- package/.agent/history/snapshots/test__unit__browser_trimmer.test.js.json +10 -0
- package/.agent/history/snapshots/test__unit__context_compiler.test.js.json +26 -0
- package/.agent/history/snapshots/test__unit__init.test.js.json +1 -1
- package/.agent/history/snapshots/test__unit__learn.test.js.json +1 -1
- package/.agent/history/snapshots/test__unit__mcp_server.test.js.json +1 -1
- package/.agent/history/snapshots/test__unit__platform_download_audit.test.js.json +11 -0
- package/.agent/history/snapshots/test__unit__prompt_compiler.test.js.json +10 -0
- package/.agent/history/snapshots/test__unit__sdd_integration.test.js.json +12 -0
- package/.agent/history/snapshots/test__unit__stress.test.js.json +1 -1
- package/.agent/history/snapshots/test__unit__token_budget_broker.test.js.json +10 -0
- package/.agent/history/snapshots/test__unit__tui.test.js.json +10 -0
- package/.agent/routing_index.json +266 -1531
- package/.agent/rules/kernel.md +86 -0
- package/.agent/scripts/_utils.js +78 -0
- package/.agent/scripts/browser_audit.js +13 -5
- package/.agent/scripts/bundle_analyzer.js +7 -3
- package/.agent/scripts/context_broker.js +0 -8
- package/.agent/scripts/context_compiler.js +1106 -3
- package/.agent/scripts/dependency_analyzer.js +16 -16
- package/.agent/scripts/guardrail_engine.js +48 -11
- package/.agent/scripts/inner_loop_validator.js +1 -1
- package/.agent/scripts/memory_engine.js +490 -329
- package/.agent/scripts/payload_schemas.js +18 -0
- package/.agent/scripts/pipeline_engine.js +29 -105
- package/.agent/scripts/schema_validator.js +2 -1
- package/.agent/scripts/swarm_dispatcher.js +148 -46
- package/.agent/scripts/test_runner.js +1 -2
- package/.agent/skill_topic_map.json +71 -22
- package/.agent/skills/12-principles-of-animation/SKILL.md +1 -76
- package/.agent/skills/60fps-animation/SKILL.md +4 -77
- package/.agent/skills/accessible-animation/SKILL.md +9 -86
- package/.agent/skills/adapt/SKILL.md +1 -76
- package/.agent/skills/advanced-rag-pipelines/SKILL.md +1 -76
- package/.agent/skills/agent-organizer/SKILL.md +1 -76
- package/.agent/skills/agentic-patterns/SKILL.md +1 -76
- package/.agent/skills/agentic-workflows-2026/SKILL.md +1 -75
- package/.agent/skills/ai-app-hardening/SKILL.md +1 -75
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +1 -76
- package/.agent/skills/animation-on-scroll/SKILL.md +16 -87
- package/.agent/skills/animation-systems/SKILL.md +15 -90
- package/.agent/skills/antfu-conventions/SKILL.md +0 -75
- package/.agent/skills/api-patterns/SKILL.md +1 -76
- package/.agent/skills/api-security-auditor/SKILL.md +1 -76
- package/.agent/skills/app-builder/SKILL.md +1 -76
- package/.agent/skills/appflow-wireframe/SKILL.md +1 -78
- package/.agent/skills/apple-design/SKILL.md +1 -76
- package/.agent/skills/architecture/SKILL.md +1 -76
- package/.agent/skills/audit-and-fix/SKILL.md +41 -77
- package/.agent/skills/authentication-best-practices/SKILL.md +1 -76
- package/.agent/skills/backend-security-expert/SKILL.md +1 -76
- package/.agent/skills/baseline-ui/SKILL.md +1 -76
- package/.agent/skills/bash-linux/SKILL.md +1 -76
- package/.agent/skills/behavioral-modes/SKILL.md +1 -76
- package/.agent/skills/better-colors/SKILL.md +1 -76
- package/.agent/skills/better-typography/SKILL.md +1 -75
- package/.agent/skills/better-ui/SKILL.md +18 -81
- package/.agent/skills/bolder/SKILL.md +1 -76
- package/.agent/skills/brainstorming/SKILL.md +1 -75
- package/.agent/skills/browser-audit/SKILL.md +15 -83
- package/.agent/skills/browser-native-ai/SKILL.md +1 -76
- package/.agent/skills/build-primitive/SKILL.md +1 -76
- package/.agent/skills/building-native-ui/SKILL.md +1 -76
- package/.agent/skills/cicd-pro/SKILL.md +1 -76
- package/.agent/skills/clarify/SKILL.md +1 -76
- package/.agent/skills/clean-code/SKILL.md +1 -76
- package/.agent/skills/cloud-architect/SKILL.md +1 -76
- package/.agent/skills/cobejs/SKILL.md +1 -76
- package/.agent/skills/code-review-checklist/SKILL.md +1 -76
- package/.agent/skills/codebase-design/SKILL.md +1 -76
- package/.agent/skills/colorize/SKILL.md +1 -76
- package/.agent/skills/compact-landing/SKILL.md +1 -76
- package/.agent/skills/company-logos/SKILL.md +1 -76
- package/.agent/skills/config-validator/SKILL.md +1 -76
- package/.agent/skills/containerization-pro/SKILL.md +1 -76
- package/.agent/skills/context-engineering-pro/SKILL.md +1 -75
- package/.agent/skills/create-design-md/SKILL.md +1 -76
- package/.agent/skills/critique/SKILL.md +1 -76
- package/.agent/skills/csharp-developer/SKILL.md +1 -76
- package/.agent/skills/data-validation-schemas/SKILL.md +1 -76
- package/.agent/skills/database-design/SKILL.md +1 -76
- package/.agent/skills/delight/SKILL.md +1 -76
- package/.agent/skills/deployment-procedures/SKILL.md +1 -76
- package/.agent/skills/design-lab/SKILL.md +0 -75
- package/.agent/skills/devops-engineer/SKILL.md +1 -76
- package/.agent/skills/devops-incident-responder/SKILL.md +1 -76
- package/.agent/skills/diagnosing-bugs/SKILL.md +0 -75
- package/.agent/skills/distill/SKILL.md +1 -76
- package/.agent/skills/documentation-templates/SKILL.md +1 -76
- package/.agent/skills/domain-modeling/SKILL.md +1 -76
- package/.agent/skills/duckdb-analytical-sql/SKILL.md +1 -75
- package/.agent/skills/edge-ai-mobile/SKILL.md +1 -75
- package/.agent/skills/edge-computing/SKILL.md +1 -76
- package/.agent/skills/emil-design-eng/SKILL.md +1 -76
- package/.agent/skills/error-resilience/SKILL.md +1 -76
- package/.agent/skills/expo-router-v4/SKILL.md +1 -75
- package/.agent/skills/extract-design-system/SKILL.md +1 -76
- package/.agent/skills/fabel-protocol/SKILL.md +1 -76
- package/.agent/skills/fixing-accessibility/SKILL.md +1 -76
- package/.agent/skills/fixing-metadata/SKILL.md +1 -76
- package/.agent/skills/fixing-motion-performance/SKILL.md +1 -76
- package/.agent/skills/framer-motion-expert/SKILL.md +1 -76
- package/.agent/skills/frontend-design/SKILL.md +1 -76
- package/.agent/skills/frontend-security-expert/SKILL.md +1 -76
- package/.agent/skills/game-design-expert/SKILL.md +1 -76
- package/.agent/skills/game-engineering-expert/SKILL.md +1 -76
- package/.agent/skills/generative-ui-expert/SKILL.md +1 -76
- package/.agent/skills/geo-fundamentals/SKILL.md +1 -76
- package/.agent/skills/git-pro/SKILL.md +1 -76
- package/.agent/skills/github-operations/SKILL.md +1 -76
- package/.agent/skills/gpt-taste/SKILL.md +1 -76
- package/.agent/skills/gsap-core/SKILL.md +1 -76
- package/.agent/skills/gsap-frameworks/SKILL.md +1 -76
- package/.agent/skills/gsap-performance/SKILL.md +1 -76
- package/.agent/skills/gsap-plugins/SKILL.md +1 -76
- package/.agent/skills/gsap-react/SKILL.md +1 -76
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +1 -76
- package/.agent/skills/gsap-timeline/SKILL.md +1 -76
- package/.agent/skills/gsap-utils/SKILL.md +1 -76
- package/.agent/skills/harden/SKILL.md +1 -76
- package/.agent/skills/harness-protocol/SKILL.md +1 -76
- package/.agent/skills/i18n-localization/SKILL.md +1 -76
- package/.agent/skills/impeccable/SKILL.md +1 -76
- package/.agent/skills/improve-codebase-architecture/SKILL.md +1 -76
- package/.agent/skills/improve-ui/SKILL.md +1 -76
- package/.agent/skills/intelligent-routing/SKILL.md +2 -87
- package/.agent/skills/knowledge-graph/SKILL.md +1 -76
- package/.agent/skills/landing-page/SKILL.md +1 -76
- package/.agent/skills/lint-and-validate/SKILL.md +1 -76
- package/.agent/skills/llm-engineering/SKILL.md +1 -76
- package/.agent/skills/local-first/SKILL.md +1 -76
- package/.agent/skills/local-first-architecture/SKILL.md +1 -76
- package/.agent/skills/lottie-animation/SKILL.md +1 -76
- package/.agent/skills/marquee-loop/SKILL.md +1 -76
- package/.agent/skills/masked-reveal/SKILL.md +1 -76
- package/.agent/skills/mcp-builder/SKILL.md +1 -76
- package/.agent/skills/micro-interaction/SKILL.md +19 -87
- package/.agent/skills/mobile-design/SKILL.md +1 -76
- package/.agent/skills/monorepo-management/SKILL.md +1 -76
- package/.agent/skills/morphing-icons/SKILL.md +1 -76
- package/.agent/skills/motion-engineering/SKILL.md +1 -76
- package/.agent/skills/nextjs-react-expert/SKILL.md +1 -76
- package/.agent/skills/nodejs-best-practices/SKILL.md +1 -76
- package/.agent/skills/observability/SKILL.md +1 -76
- package/.agent/skills/opentelemetry-observability/SKILL.md +1 -75
- package/.agent/skills/page-transition-animation/SKILL.md +1 -76
- package/.agent/skills/parallel-agents/SKILL.md +1 -76
- package/.agent/skills/performance-profiling/SKILL.md +1 -76
- package/.agent/skills/plan-writing/SKILL.md +1 -76
- package/.agent/skills/platform-engineer/SKILL.md +1 -76
- package/.agent/skills/platform-engineering-opentofu/SKILL.md +1 -75
- package/.agent/skills/playwright-ai-e2e/SKILL.md +1 -75
- package/.agent/skills/playwright-best-practices/SKILL.md +1 -76
- package/.agent/skills/polish/SKILL.md +1 -76
- package/.agent/skills/powershell-windows/SKILL.md +1 -76
- package/.agent/skills/pricing-page/SKILL.md +1 -76
- package/.agent/skills/product-aware-heuristics/SKILL.md +1 -76
- package/.agent/skills/progressive-blur/SKILL.md +1 -76
- package/.agent/skills/project-idioms/SKILL.md +1 -76
- package/.agent/skills/property-based-testing/SKILL.md +1 -75
- package/.agent/skills/python-patterns/SKILL.md +1 -76
- package/.agent/skills/python-pro/SKILL.md +1 -76
- package/.agent/skills/quieter/SKILL.md +1 -76
- package/.agent/skills/react-doctor/SKILL.md +1 -76
- package/.agent/skills/react-specialist/SKILL.md +1 -76
- package/.agent/skills/readme-builder/SKILL.md +1 -76
- package/.agent/skills/realtime-patterns/SKILL.md +1 -76
- package/.agent/skills/red-team-tactics/SKILL.md +1 -76
- package/.agent/skills/redesign-skill/SKILL.md +1 -76
- package/.agent/skills/review-animations/SKILL.md +1 -76
- package/.agent/skills/rust-pro/SKILL.md +1 -76
- package/.agent/skills/seo-fundamentals/SKILL.md +1 -76
- package/.agent/skills/server-management/SKILL.md +1 -76
- package/.agent/skills/shadcn-ui-expert/SKILL.md +1 -76
- package/.agent/skills/shape/SKILL.md +1 -76
- package/.agent/skills/skill-creator/SKILL.md +127 -86
- package/.agent/skills/soft-skill/SKILL.md +1 -76
- package/.agent/skills/sounds-on-the-web/SKILL.md +1 -76
- package/.agent/skills/sql-pro/SKILL.md +1 -76
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +1 -76
- package/.agent/skills/svg-animation/SKILL.md +1 -76
- package/.agent/skills/swiftui-expert/SKILL.md +1 -76
- package/.agent/skills/swiss-design/SKILL.md +1 -76
- package/.agent/skills/system-design-pro/SKILL.md +1 -76
- package/.agent/skills/systematic-debugging/SKILL.md +2 -76
- package/.agent/skills/systematic-debugging/condition-based-waiting.md +14 -9
- package/.agent/skills/systematic-debugging/defense-in-depth.md +9 -3
- package/.agent/skills/systematic-debugging/root-cause-tracing.md +14 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +1 -76
- package/.agent/skills/taste-skill/SKILL.md +1 -76
- package/.agent/skills/tdd-workflow/SKILL.md +8 -82
- package/.agent/skills/test-result-analyzer/SKILL.md +1 -76
- package/.agent/skills/testing-patterns/SKILL.md +1 -76
- package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +1 -76
- package/.agent/skills/thinking-protocol/SKILL.md +1 -77
- package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +1 -76
- package/.agent/skills/transitions-dev/SKILL.md +1 -76
- package/.agent/skills/trend-researcher/SKILL.md +1 -76
- package/.agent/skills/typescript-advanced/SKILL.md +1 -76
- package/.agent/skills/typeset/SKILL.md +1 -76
- package/.agent/skills/ui-reasoning-engine/SKILL.md +1 -76
- package/.agent/skills/ui-skill-packs/SKILL.md +1 -76
- package/.agent/skills/ui-skills-root/SKILL.md +1 -76
- package/.agent/skills/ui-ux-pro-max/SKILL.md +1 -76
- package/.agent/skills/ui-ux-researcher/SKILL.md +1 -76
- package/.agent/skills/vector-search-pgvector/SKILL.md +1 -75
- package/.agent/skills/verification-before-completion/SKILL.md +20 -91
- package/.agent/skills/vue-expert/SKILL.md +1 -76
- package/.agent/skills/vulnerability-scanner/SKILL.md +1 -76
- package/.agent/skills/web-accessibility-auditor/SKILL.md +1 -76
- package/.agent/skills/web-design-guidelines/SKILL.md +1 -76
- package/.agent/skills/web-quality-audit/SKILL.md +1 -76
- package/.agent/skills/webapp-testing/SKILL.md +1 -76
- package/.agent/skills/webgpu-performance/SKILL.md +1 -76
- package/.agent/skills/whimsy-injector/SKILL.md +1 -76
- package/.agent/skills/workflow-optimizer/SKILL.md +1 -76
- package/.agent/skills/zero-trust-passkeys/SKILL.md +1 -75
- package/.agent/templates/DESIGN.md +312 -290
- package/.agent/templates/sdd/task-reviewer-prompt.md +2 -2
- package/.agent/workflows/audit-live.md +4 -3
- package/.agent/workflows/brainstorm.md +1 -0
- package/.agent/workflows/context.md +9 -7
- package/.agent/workflows/generate.md +1 -1
- package/.agent/workflows/minimal.md +3 -2
- package/.agent/workflows/orchestrate.md +1 -1
- package/.agent/workflows/plan.md +1 -1
- package/.agent/workflows/review-ai.md +1 -1
- package/.agent/workflows/sdd.md +15 -0
- package/.agent/workflows/skill-enhancement-engine.md +17 -21
- package/.agent/workflows/super-prompt.md +25 -24
- package/.agent/workflows/swarm.md +1 -1
- package/.agent/workflows/tribunal-backend.md +1 -1
- package/.agent/workflows/tribunal-cicd.md +1 -1
- package/.agent/workflows/tribunal-database.md +1 -1
- package/.agent/workflows/tribunal-frontend.md +1 -1
- package/.agent/workflows/tribunal-full.md +9 -9
- package/.agent/workflows/tribunal-mobile.md +1 -1
- package/.agent/workflows/tribunal-speed.md +1 -1
- package/.agent/workflows/tribunal-ui.md +1 -1
- package/.agents/skills/12-principles-of-animation/SKILL.md +1 -76
- package/.agents/skills/60fps-animation/SKILL.md +4 -77
- package/.agents/skills/accessible-animation/SKILL.md +9 -86
- package/.agents/skills/adapt/SKILL.md +1 -76
- package/.agents/skills/advanced-rag-pipelines/SKILL.md +1 -76
- package/.agents/skills/agent-organizer/SKILL.md +1 -76
- package/.agents/skills/agentic-patterns/SKILL.md +1 -76
- package/.agents/skills/agentic-workflows-2026/SKILL.md +1 -75
- package/.agents/skills/ai-app-hardening/SKILL.md +1 -75
- package/.agents/skills/ai-prompt-injection-defense/SKILL.md +1 -76
- package/.agents/skills/animation-on-scroll/SKILL.md +16 -87
- package/.agents/skills/animation-systems/SKILL.md +15 -90
- package/.agents/skills/antfu-conventions/SKILL.md +0 -75
- package/.agents/skills/api-patterns/SKILL.md +1 -76
- package/.agents/skills/api-security-auditor/SKILL.md +1 -76
- package/.agents/skills/app-builder/SKILL.md +1 -76
- package/.agents/skills/appflow-wireframe/SKILL.md +1 -78
- package/.agents/skills/apple-design/SKILL.md +1 -76
- package/.agents/skills/architecture/SKILL.md +1 -76
- package/.agents/skills/audit-and-fix/SKILL.md +41 -77
- package/.agents/skills/authentication-best-practices/SKILL.md +1 -76
- package/.agents/skills/backend-security-expert/SKILL.md +1 -76
- package/.agents/skills/baseline-ui/SKILL.md +1 -76
- package/.agents/skills/bash-linux/SKILL.md +1 -76
- package/.agents/skills/behavioral-modes/SKILL.md +1 -76
- package/.agents/skills/better-colors/SKILL.md +1 -76
- package/.agents/skills/better-typography/SKILL.md +1 -75
- package/.agents/skills/better-ui/SKILL.md +18 -81
- package/.agents/skills/bolder/SKILL.md +1 -76
- package/.agents/skills/brainstorming/SKILL.md +1 -75
- package/.agents/skills/browser-audit/SKILL.md +15 -83
- package/.agents/skills/browser-native-ai/SKILL.md +1 -76
- package/.agents/skills/build-primitive/SKILL.md +1 -76
- package/.agents/skills/building-native-ui/SKILL.md +1 -76
- package/.agents/skills/cicd-pro/SKILL.md +1 -76
- package/.agents/skills/clarify/SKILL.md +1 -76
- package/.agents/skills/clean-code/SKILL.md +1 -76
- package/.agents/skills/cloud-architect/SKILL.md +1 -76
- package/.agents/skills/cobejs/SKILL.md +1 -76
- package/.agents/skills/code-review-checklist/SKILL.md +1 -76
- package/.agents/skills/codebase-design/SKILL.md +1 -76
- package/.agents/skills/colorize/SKILL.md +1 -76
- package/.agents/skills/compact-landing/SKILL.md +1 -76
- package/.agents/skills/company-logos/SKILL.md +1 -76
- package/.agents/skills/config-validator/SKILL.md +1 -76
- package/.agents/skills/containerization-pro/SKILL.md +1 -76
- package/.agents/skills/context-engineering-pro/SKILL.md +1 -75
- package/.agents/skills/create-design-md/SKILL.md +1 -76
- package/.agents/skills/critique/SKILL.md +1 -76
- package/.agents/skills/csharp-developer/SKILL.md +1 -76
- package/.agents/skills/data-validation-schemas/SKILL.md +1 -76
- package/.agents/skills/database-design/SKILL.md +1 -76
- package/.agents/skills/delight/SKILL.md +1 -76
- package/.agents/skills/deployment-procedures/SKILL.md +1 -76
- package/.agents/skills/design-lab/SKILL.md +0 -75
- package/.agents/skills/devops-engineer/SKILL.md +1 -76
- package/.agents/skills/devops-incident-responder/SKILL.md +1 -76
- package/.agents/skills/diagnosing-bugs/SKILL.md +0 -75
- package/.agents/skills/distill/SKILL.md +1 -76
- package/.agents/skills/documentation-templates/SKILL.md +1 -76
- package/.agents/skills/domain-modeling/SKILL.md +1 -76
- package/.agents/skills/duckdb-analytical-sql/SKILL.md +1 -75
- package/.agents/skills/edge-ai-mobile/SKILL.md +1 -75
- package/.agents/skills/edge-computing/SKILL.md +1 -76
- package/.agents/skills/emil-design-eng/SKILL.md +1 -76
- package/.agents/skills/error-resilience/SKILL.md +1 -76
- package/.agents/skills/expo-router-v4/SKILL.md +1 -75
- package/.agents/skills/extract-design-system/SKILL.md +1 -76
- package/.agents/skills/fabel-protocol/SKILL.md +1 -76
- package/.agents/skills/fixing-accessibility/SKILL.md +1 -76
- package/.agents/skills/fixing-metadata/SKILL.md +1 -76
- package/.agents/skills/fixing-motion-performance/SKILL.md +1 -76
- package/.agents/skills/framer-motion-expert/SKILL.md +1 -76
- package/.agents/skills/frontend-design/SKILL.md +1 -76
- package/.agents/skills/frontend-security-expert/SKILL.md +1 -76
- package/.agents/skills/game-design-expert/SKILL.md +1 -76
- package/.agents/skills/game-engineering-expert/SKILL.md +1 -76
- package/.agents/skills/generative-ui-expert/SKILL.md +1 -76
- package/.agents/skills/geo-fundamentals/SKILL.md +1 -76
- package/.agents/skills/git-pro/SKILL.md +1 -76
- package/.agents/skills/github-operations/SKILL.md +1 -76
- package/.agents/skills/gpt-taste/SKILL.md +1 -76
- package/.agents/skills/gsap-core/SKILL.md +1 -76
- package/.agents/skills/gsap-frameworks/SKILL.md +1 -76
- package/.agents/skills/gsap-performance/SKILL.md +1 -76
- package/.agents/skills/gsap-plugins/SKILL.md +1 -76
- package/.agents/skills/gsap-react/SKILL.md +1 -76
- package/.agents/skills/gsap-scrolltrigger/SKILL.md +1 -76
- package/.agents/skills/gsap-timeline/SKILL.md +1 -76
- package/.agents/skills/gsap-utils/SKILL.md +1 -76
- package/.agents/skills/harden/SKILL.md +1 -76
- package/.agents/skills/harness-protocol/SKILL.md +1 -76
- package/.agents/skills/i18n-localization/SKILL.md +1 -76
- package/.agents/skills/impeccable/SKILL.md +1 -76
- package/.agents/skills/improve-codebase-architecture/SKILL.md +1 -76
- package/.agents/skills/improve-ui/SKILL.md +1 -76
- package/.agents/skills/intelligent-routing/SKILL.md +2 -87
- package/.agents/skills/knowledge-graph/SKILL.md +1 -76
- package/.agents/skills/landing-page/SKILL.md +1 -76
- package/.agents/skills/lint-and-validate/SKILL.md +1 -76
- package/.agents/skills/llm-engineering/SKILL.md +1 -76
- package/.agents/skills/local-first/SKILL.md +1 -76
- package/.agents/skills/local-first-architecture/SKILL.md +1 -76
- package/.agents/skills/lottie-animation/SKILL.md +1 -76
- package/.agents/skills/marquee-loop/SKILL.md +1 -76
- package/.agents/skills/masked-reveal/SKILL.md +1 -76
- package/.agents/skills/mcp-builder/SKILL.md +1 -76
- package/.agents/skills/micro-interaction/SKILL.md +19 -87
- package/.agents/skills/mobile-design/SKILL.md +1 -76
- package/.agents/skills/monorepo-management/SKILL.md +1 -76
- package/.agents/skills/morphing-icons/SKILL.md +1 -76
- package/.agents/skills/motion-engineering/SKILL.md +1 -76
- package/.agents/skills/nextjs-react-expert/SKILL.md +1 -76
- package/.agents/skills/nodejs-best-practices/SKILL.md +1 -76
- package/.agents/skills/observability/SKILL.md +1 -76
- package/.agents/skills/opentelemetry-observability/SKILL.md +1 -75
- package/.agents/skills/page-transition-animation/SKILL.md +1 -76
- package/.agents/skills/parallel-agents/SKILL.md +1 -76
- package/.agents/skills/performance-profiling/SKILL.md +1 -76
- package/.agents/skills/plan-writing/SKILL.md +1 -76
- package/.agents/skills/platform-engineer/SKILL.md +1 -76
- package/.agents/skills/platform-engineering-opentofu/SKILL.md +1 -75
- package/.agents/skills/playwright-ai-e2e/SKILL.md +1 -75
- package/.agents/skills/playwright-best-practices/SKILL.md +1 -76
- package/.agents/skills/polish/SKILL.md +1 -76
- package/.agents/skills/powershell-windows/SKILL.md +1 -76
- package/.agents/skills/pricing-page/SKILL.md +1 -76
- package/.agents/skills/product-aware-heuristics/SKILL.md +1 -76
- package/.agents/skills/progressive-blur/SKILL.md +1 -76
- package/.agents/skills/project-idioms/SKILL.md +1 -76
- package/.agents/skills/property-based-testing/SKILL.md +1 -75
- package/.agents/skills/python-patterns/SKILL.md +1 -76
- package/.agents/skills/python-pro/SKILL.md +1 -76
- package/.agents/skills/quieter/SKILL.md +1 -76
- package/.agents/skills/react-doctor/SKILL.md +1 -76
- package/.agents/skills/react-specialist/SKILL.md +1 -76
- package/.agents/skills/readme-builder/SKILL.md +1 -76
- package/.agents/skills/realtime-patterns/SKILL.md +1 -76
- package/.agents/skills/red-team-tactics/SKILL.md +1 -76
- package/.agents/skills/redesign-skill/SKILL.md +1 -76
- package/.agents/skills/review-animations/SKILL.md +1 -76
- package/.agents/skills/rust-pro/SKILL.md +1 -76
- package/.agents/skills/seo-fundamentals/SKILL.md +1 -76
- package/.agents/skills/server-management/SKILL.md +1 -76
- package/.agents/skills/shadcn-ui-expert/SKILL.md +1 -76
- package/.agents/skills/shape/SKILL.md +1 -76
- package/.agents/skills/skill-creator/SKILL.md +127 -86
- package/.agents/skills/soft-skill/SKILL.md +1 -76
- package/.agents/skills/sounds-on-the-web/SKILL.md +1 -76
- package/.agents/skills/sql-pro/SKILL.md +1 -76
- package/.agents/skills/supabase-postgres-best-practices/SKILL.md +1 -76
- package/.agents/skills/svg-animation/SKILL.md +1 -76
- package/.agents/skills/swiftui-expert/SKILL.md +1 -76
- package/.agents/skills/swiss-design/SKILL.md +1 -76
- package/.agents/skills/system-design-pro/SKILL.md +1 -76
- package/.agents/skills/systematic-debugging/SKILL.md +2 -76
- package/.agents/skills/systematic-debugging/condition-based-waiting.md +14 -9
- package/.agents/skills/systematic-debugging/defense-in-depth.md +9 -3
- package/.agents/skills/systematic-debugging/root-cause-tracing.md +14 -0
- package/.agents/skills/tailwind-patterns/SKILL.md +1 -76
- package/.agents/skills/taste-skill/SKILL.md +1 -76
- package/.agents/skills/tdd-workflow/SKILL.md +8 -82
- package/.agents/skills/test-result-analyzer/SKILL.md +1 -76
- package/.agents/skills/testing-patterns/SKILL.md +1 -76
- package/.agents/skills/thermo-nuclear-code-quality-review/SKILL.md +1 -76
- package/.agents/skills/thinking-protocol/SKILL.md +1 -77
- package/.agents/skills/to-spring-or-not-to-spring/SKILL.md +1 -76
- package/.agents/skills/transitions-dev/SKILL.md +1 -76
- package/.agents/skills/trend-researcher/SKILL.md +1 -76
- package/.agents/skills/typescript-advanced/SKILL.md +1 -76
- package/.agents/skills/typeset/SKILL.md +1 -76
- package/.agents/skills/ui-reasoning-engine/SKILL.md +1 -76
- package/.agents/skills/ui-skill-packs/SKILL.md +1 -76
- package/.agents/skills/ui-skills-root/SKILL.md +1 -76
- package/.agents/skills/ui-ux-pro-max/SKILL.md +1 -76
- package/.agents/skills/ui-ux-researcher/SKILL.md +1 -76
- package/.agents/skills/vector-search-pgvector/SKILL.md +1 -75
- package/.agents/skills/verification-before-completion/SKILL.md +20 -91
- package/.agents/skills/vue-expert/SKILL.md +1 -76
- package/.agents/skills/vulnerability-scanner/SKILL.md +1 -76
- package/.agents/skills/web-accessibility-auditor/SKILL.md +1 -76
- package/.agents/skills/web-design-guidelines/SKILL.md +1 -76
- package/.agents/skills/web-quality-audit/SKILL.md +1 -76
- package/.agents/skills/webapp-testing/SKILL.md +1 -76
- package/.agents/skills/webgpu-performance/SKILL.md +1 -76
- package/.agents/skills/whimsy-injector/SKILL.md +1 -76
- package/.agents/skills/workflow-optimizer/SKILL.md +1 -76
- package/.agents/skills/zero-trust-passkeys/SKILL.md +1 -75
- package/.codex-plugin/plugin.json +1 -5
- package/.kimi-plugin/plugin.json +1 -5
- package/.opencode/INSTALL.md +1 -0
- package/.opencode/plugins/tribunal.js +15 -6
- package/.pi/extensions/tribunal.ts +26 -29
- package/AGENTS.md +15 -13
- package/CLAUDE.md +3 -1
- package/README.md +23 -16
- package/bin/adapter-install.js +1 -1
- package/bin/mcp-server.js +88 -58
- package/bin/wrapper.js +22 -2
- package/dist/commands/init.js +25 -11
- package/dist/tui/banner.js +77 -77
- package/gemini-extension.json +1 -1
- package/package.json +13 -10
- package/plugin.json +1 -1
- package/scripts/apply-version.js +2 -2
- package/scripts/audit_skill_sdo.js +6 -4
- package/scripts/context_compiler.js +256 -83
- package/scripts/modernize_skills.js +25 -11
- package/scripts/package-cores.js +4 -1
- package/scripts/skill_enhancement_engine.js +212 -77
- package/scripts/telemetry_gc.js +156 -0
- package/scripts/validate-payload.js +1 -6
- package/skills/12-principles-of-animation/SKILL.md +1 -76
- package/skills/60fps-animation/SKILL.md +4 -77
- package/skills/accessible-animation/SKILL.md +9 -86
- package/skills/adapt/SKILL.md +1 -76
- package/skills/advanced-rag-pipelines/SKILL.md +1 -76
- package/skills/agent-organizer/SKILL.md +1 -76
- package/skills/agentic-patterns/SKILL.md +1 -76
- package/skills/agentic-workflows-2026/SKILL.md +1 -75
- package/skills/ai-app-hardening/SKILL.md +1 -75
- package/skills/ai-prompt-injection-defense/SKILL.md +1 -76
- package/skills/animation-on-scroll/SKILL.md +16 -87
- package/skills/animation-systems/SKILL.md +15 -90
- package/skills/antfu-conventions/SKILL.md +0 -75
- package/skills/api-patterns/SKILL.md +1 -76
- package/skills/api-security-auditor/SKILL.md +1 -76
- package/skills/app-builder/SKILL.md +1 -76
- package/skills/appflow-wireframe/SKILL.md +1 -78
- package/skills/apple-design/SKILL.md +1 -76
- package/skills/architecture/SKILL.md +1 -76
- package/skills/audit-and-fix/SKILL.md +41 -77
- package/skills/authentication-best-practices/SKILL.md +1 -76
- package/skills/backend-security-expert/SKILL.md +1 -76
- package/skills/baseline-ui/SKILL.md +1 -76
- package/skills/bash-linux/SKILL.md +1 -76
- package/skills/behavioral-modes/SKILL.md +1 -76
- package/skills/better-colors/SKILL.md +1 -76
- package/skills/better-typography/SKILL.md +1 -75
- package/skills/better-ui/SKILL.md +18 -81
- package/skills/bolder/SKILL.md +1 -76
- package/skills/brainstorming/SKILL.md +1 -75
- package/skills/browser-audit/SKILL.md +15 -83
- package/skills/browser-native-ai/SKILL.md +1 -76
- package/skills/build-primitive/SKILL.md +1 -76
- package/skills/building-native-ui/SKILL.md +1 -76
- package/skills/cicd-pro/SKILL.md +1 -76
- package/skills/clarify/SKILL.md +1 -76
- package/skills/clean-code/SKILL.md +1 -76
- package/skills/cloud-architect/SKILL.md +1 -76
- package/skills/cobejs/SKILL.md +1 -76
- package/skills/code-review-checklist/SKILL.md +1 -76
- package/skills/codebase-design/SKILL.md +1 -76
- package/skills/colorize/SKILL.md +1 -76
- package/skills/compact-landing/SKILL.md +1 -76
- package/skills/company-logos/SKILL.md +1 -76
- package/skills/config-validator/SKILL.md +1 -76
- package/skills/containerization-pro/SKILL.md +1 -76
- package/skills/context-engineering-pro/SKILL.md +1 -75
- package/skills/create-design-md/SKILL.md +1 -76
- package/skills/critique/SKILL.md +1 -76
- package/skills/csharp-developer/SKILL.md +1 -76
- package/skills/data-validation-schemas/SKILL.md +1 -76
- package/skills/database-design/SKILL.md +1 -76
- package/skills/delight/SKILL.md +1 -76
- package/skills/deployment-procedures/SKILL.md +1 -76
- package/skills/design-lab/SKILL.md +0 -75
- package/skills/devops-engineer/SKILL.md +1 -76
- package/skills/devops-incident-responder/SKILL.md +1 -76
- package/skills/diagnosing-bugs/SKILL.md +0 -75
- package/skills/distill/SKILL.md +1 -76
- package/skills/documentation-templates/SKILL.md +1 -76
- package/skills/domain-modeling/SKILL.md +1 -76
- package/skills/duckdb-analytical-sql/SKILL.md +1 -75
- package/skills/edge-ai-mobile/SKILL.md +1 -75
- package/skills/edge-computing/SKILL.md +1 -76
- package/skills/emil-design-eng/SKILL.md +1 -76
- package/skills/error-resilience/SKILL.md +1 -76
- package/skills/expo-router-v4/SKILL.md +1 -75
- package/skills/extract-design-system/SKILL.md +1 -76
- package/skills/fabel-protocol/SKILL.md +1 -76
- package/skills/fixing-accessibility/SKILL.md +1 -76
- package/skills/fixing-metadata/SKILL.md +1 -76
- package/skills/fixing-motion-performance/SKILL.md +1 -76
- package/skills/framer-motion-expert/SKILL.md +1 -76
- package/skills/frontend-design/SKILL.md +1 -76
- package/skills/frontend-security-expert/SKILL.md +1 -76
- package/skills/game-design-expert/SKILL.md +1 -76
- package/skills/game-engineering-expert/SKILL.md +1 -76
- package/skills/generative-ui-expert/SKILL.md +1 -76
- package/skills/geo-fundamentals/SKILL.md +1 -76
- package/skills/git-pro/SKILL.md +1 -76
- package/skills/github-operations/SKILL.md +1 -76
- package/skills/gpt-taste/SKILL.md +1 -76
- package/skills/gsap-core/SKILL.md +1 -76
- package/skills/gsap-frameworks/SKILL.md +1 -76
- package/skills/gsap-performance/SKILL.md +1 -76
- package/skills/gsap-plugins/SKILL.md +1 -76
- package/skills/gsap-react/SKILL.md +1 -76
- package/skills/gsap-scrolltrigger/SKILL.md +1 -76
- package/skills/gsap-timeline/SKILL.md +1 -76
- package/skills/gsap-utils/SKILL.md +1 -76
- package/skills/harden/SKILL.md +1 -76
- package/skills/harness-protocol/SKILL.md +1 -76
- package/skills/i18n-localization/SKILL.md +1 -76
- package/skills/impeccable/SKILL.md +1 -76
- package/skills/improve-codebase-architecture/SKILL.md +1 -76
- package/skills/improve-ui/SKILL.md +1 -76
- package/skills/intelligent-routing/SKILL.md +2 -87
- package/skills/knowledge-graph/SKILL.md +1 -76
- package/skills/landing-page/SKILL.md +1 -76
- package/skills/lint-and-validate/SKILL.md +1 -76
- package/skills/llm-engineering/SKILL.md +1 -76
- package/skills/local-first/SKILL.md +1 -76
- package/skills/local-first-architecture/SKILL.md +1 -76
- package/skills/lottie-animation/SKILL.md +1 -76
- package/skills/marquee-loop/SKILL.md +1 -76
- package/skills/masked-reveal/SKILL.md +1 -76
- package/skills/mcp-builder/SKILL.md +1 -76
- package/skills/micro-interaction/SKILL.md +19 -87
- package/skills/mobile-design/SKILL.md +1 -76
- package/skills/monorepo-management/SKILL.md +1 -76
- package/skills/morphing-icons/SKILL.md +1 -76
- package/skills/motion-engineering/SKILL.md +1 -76
- package/skills/nextjs-react-expert/SKILL.md +1 -76
- package/skills/nodejs-best-practices/SKILL.md +1 -76
- package/skills/observability/SKILL.md +1 -76
- package/skills/opentelemetry-observability/SKILL.md +1 -75
- package/skills/page-transition-animation/SKILL.md +1 -76
- package/skills/parallel-agents/SKILL.md +1 -76
- package/skills/performance-profiling/SKILL.md +1 -76
- package/skills/plan-writing/SKILL.md +1 -76
- package/skills/platform-engineer/SKILL.md +1 -76
- package/skills/platform-engineering-opentofu/SKILL.md +1 -75
- package/skills/playwright-ai-e2e/SKILL.md +1 -75
- package/skills/playwright-best-practices/SKILL.md +1 -76
- package/skills/polish/SKILL.md +1 -76
- package/skills/powershell-windows/SKILL.md +1 -76
- package/skills/pricing-page/SKILL.md +1 -76
- package/skills/product-aware-heuristics/SKILL.md +1 -76
- package/skills/progressive-blur/SKILL.md +1 -76
- package/skills/project-idioms/SKILL.md +1 -76
- package/skills/property-based-testing/SKILL.md +1 -75
- package/skills/python-patterns/SKILL.md +1 -76
- package/skills/python-pro/SKILL.md +1 -76
- package/skills/quieter/SKILL.md +1 -76
- package/skills/react-doctor/SKILL.md +1 -76
- package/skills/react-specialist/SKILL.md +1 -76
- package/skills/readme-builder/SKILL.md +1 -76
- package/skills/realtime-patterns/SKILL.md +1 -76
- package/skills/red-team-tactics/SKILL.md +1 -76
- package/skills/redesign-skill/SKILL.md +1 -76
- package/skills/review-animations/SKILL.md +1 -76
- package/skills/rust-pro/SKILL.md +1 -76
- package/skills/seo-fundamentals/SKILL.md +1 -76
- package/skills/server-management/SKILL.md +1 -76
- package/skills/shadcn-ui-expert/SKILL.md +1 -76
- package/skills/shape/SKILL.md +1 -76
- package/skills/skill-creator/SKILL.md +127 -86
- package/skills/soft-skill/SKILL.md +1 -76
- package/skills/sounds-on-the-web/SKILL.md +1 -76
- package/skills/sql-pro/SKILL.md +1 -76
- package/skills/supabase-postgres-best-practices/SKILL.md +1 -76
- package/skills/svg-animation/SKILL.md +1 -76
- package/skills/swiftui-expert/SKILL.md +1 -76
- package/skills/swiss-design/SKILL.md +1 -76
- package/skills/system-design-pro/SKILL.md +1 -76
- package/skills/systematic-debugging/SKILL.md +2 -76
- package/skills/systematic-debugging/condition-based-waiting.md +14 -9
- package/skills/systematic-debugging/defense-in-depth.md +9 -3
- package/skills/systematic-debugging/root-cause-tracing.md +14 -0
- package/skills/tailwind-patterns/SKILL.md +1 -76
- package/skills/taste-skill/SKILL.md +1 -76
- package/skills/tdd-workflow/SKILL.md +8 -82
- package/skills/test-result-analyzer/SKILL.md +1 -76
- package/skills/testing-patterns/SKILL.md +1 -76
- package/skills/thermo-nuclear-code-quality-review/SKILL.md +1 -76
- package/skills/thinking-protocol/SKILL.md +1 -77
- package/skills/to-spring-or-not-to-spring/SKILL.md +1 -76
- package/skills/transitions-dev/SKILL.md +1 -76
- package/skills/trend-researcher/SKILL.md +1 -76
- package/skills/typescript-advanced/SKILL.md +1 -76
- package/skills/typeset/SKILL.md +1 -76
- package/skills/ui-reasoning-engine/SKILL.md +1 -76
- package/skills/ui-skill-packs/SKILL.md +1 -76
- package/skills/ui-skills-root/SKILL.md +1 -76
- package/skills/ui-ux-pro-max/SKILL.md +1 -76
- package/skills/ui-ux-researcher/SKILL.md +1 -76
- package/skills/vector-search-pgvector/SKILL.md +1 -75
- package/skills/verification-before-completion/SKILL.md +20 -91
- package/skills/vue-expert/SKILL.md +1 -76
- package/skills/vulnerability-scanner/SKILL.md +1 -76
- package/skills/web-accessibility-auditor/SKILL.md +1 -76
- package/skills/web-design-guidelines/SKILL.md +1 -76
- package/skills/web-quality-audit/SKILL.md +1 -76
- package/skills/webapp-testing/SKILL.md +1 -76
- package/skills/webgpu-performance/SKILL.md +1 -76
- package/skills/whimsy-injector/SKILL.md +1 -76
- package/skills/workflow-optimizer/SKILL.md +1 -76
- package/skills/zero-trust-passkeys/SKILL.md +1 -75
|
@@ -3186,8 +3186,8 @@
|
|
|
3186
3186
|
"auto-learned"
|
|
3187
3187
|
],
|
|
3188
3188
|
"created_at": "1785138690Z",
|
|
3189
|
-
"last_accessed": "
|
|
3190
|
-
"access_count":
|
|
3189
|
+
"last_accessed": "1789829130Z",
|
|
3190
|
+
"access_count": 1,
|
|
3191
3191
|
"token_estimate": 12,
|
|
3192
3192
|
"source": "manual",
|
|
3193
3193
|
"session_id": null
|
|
@@ -3338,8 +3338,8 @@
|
|
|
3338
3338
|
"auto-learned"
|
|
3339
3339
|
],
|
|
3340
3340
|
"created_at": "1785138696Z",
|
|
3341
|
-
"last_accessed": "
|
|
3342
|
-
"access_count":
|
|
3341
|
+
"last_accessed": "1789829130Z",
|
|
3342
|
+
"access_count": 1,
|
|
3343
3343
|
"token_estimate": 12,
|
|
3344
3344
|
"source": "manual",
|
|
3345
3345
|
"session_id": null
|
|
@@ -3490,8 +3490,8 @@
|
|
|
3490
3490
|
"auto-learned"
|
|
3491
3491
|
],
|
|
3492
3492
|
"created_at": "1785318448Z",
|
|
3493
|
-
"last_accessed": "
|
|
3494
|
-
"access_count":
|
|
3493
|
+
"last_accessed": "1789829130Z",
|
|
3494
|
+
"access_count": 1,
|
|
3495
3495
|
"token_estimate": 12,
|
|
3496
3496
|
"source": "manual",
|
|
3497
3497
|
"session_id": null
|
|
@@ -3672,8 +3672,8 @@
|
|
|
3672
3672
|
"auto-learned"
|
|
3673
3673
|
],
|
|
3674
3674
|
"created_at": "1785398352Z",
|
|
3675
|
-
"last_accessed": "
|
|
3676
|
-
"access_count":
|
|
3675
|
+
"last_accessed": "1789829130Z",
|
|
3676
|
+
"access_count": 1,
|
|
3677
3677
|
"token_estimate": 12,
|
|
3678
3678
|
"source": "manual",
|
|
3679
3679
|
"session_id": null
|
|
@@ -3854,8 +3854,8 @@
|
|
|
3854
3854
|
"auto-learned"
|
|
3855
3855
|
],
|
|
3856
3856
|
"created_at": "1785398394Z",
|
|
3857
|
-
"last_accessed": "
|
|
3858
|
-
"access_count":
|
|
3857
|
+
"last_accessed": "1789829130Z",
|
|
3858
|
+
"access_count": 1,
|
|
3859
3859
|
"token_estimate": 12,
|
|
3860
3860
|
"source": "manual",
|
|
3861
3861
|
"session_id": null
|
|
@@ -4036,8 +4036,8 @@
|
|
|
4036
4036
|
"auto-learned"
|
|
4037
4037
|
],
|
|
4038
4038
|
"created_at": "1785913104Z",
|
|
4039
|
-
"last_accessed": "
|
|
4040
|
-
"access_count":
|
|
4039
|
+
"last_accessed": "1789829130Z",
|
|
4040
|
+
"access_count": 1,
|
|
4041
4041
|
"token_estimate": 12,
|
|
4042
4042
|
"source": "manual",
|
|
4043
4043
|
"session_id": null
|
|
@@ -4218,8 +4218,8 @@
|
|
|
4218
4218
|
"auto-learned"
|
|
4219
4219
|
],
|
|
4220
4220
|
"created_at": "1785913108Z",
|
|
4221
|
-
"last_accessed": "
|
|
4222
|
-
"access_count":
|
|
4221
|
+
"last_accessed": "1789829130Z",
|
|
4222
|
+
"access_count": 1,
|
|
4223
4223
|
"token_estimate": 12,
|
|
4224
4224
|
"source": "manual",
|
|
4225
4225
|
"session_id": null
|
|
@@ -4400,8 +4400,8 @@
|
|
|
4400
4400
|
"auto-learned"
|
|
4401
4401
|
],
|
|
4402
4402
|
"created_at": "1785913488Z",
|
|
4403
|
-
"last_accessed": "
|
|
4404
|
-
"access_count":
|
|
4403
|
+
"last_accessed": "1789829130Z",
|
|
4404
|
+
"access_count": 1,
|
|
4405
4405
|
"token_estimate": 12,
|
|
4406
4406
|
"source": "manual",
|
|
4407
4407
|
"session_id": null
|
|
@@ -4582,8 +4582,8 @@
|
|
|
4582
4582
|
"auto-learned"
|
|
4583
4583
|
],
|
|
4584
4584
|
"created_at": "1785913493Z",
|
|
4585
|
-
"last_accessed": "
|
|
4586
|
-
"access_count":
|
|
4585
|
+
"last_accessed": "1789829130Z",
|
|
4586
|
+
"access_count": 1,
|
|
4587
4587
|
"token_estimate": 12,
|
|
4588
4588
|
"source": "manual",
|
|
4589
4589
|
"session_id": null
|
|
@@ -4764,8 +4764,8 @@
|
|
|
4764
4764
|
"auto-learned"
|
|
4765
4765
|
],
|
|
4766
4766
|
"created_at": "1785914253Z",
|
|
4767
|
-
"last_accessed": "
|
|
4768
|
-
"access_count":
|
|
4767
|
+
"last_accessed": "1789829130Z",
|
|
4768
|
+
"access_count": 1,
|
|
4769
4769
|
"token_estimate": 12,
|
|
4770
4770
|
"source": "manual",
|
|
4771
4771
|
"session_id": null
|
|
@@ -4946,8 +4946,8 @@
|
|
|
4946
4946
|
"auto-learned"
|
|
4947
4947
|
],
|
|
4948
4948
|
"created_at": "1785914415Z",
|
|
4949
|
-
"last_accessed": "
|
|
4950
|
-
"access_count":
|
|
4949
|
+
"last_accessed": "1789829130Z",
|
|
4950
|
+
"access_count": 1,
|
|
4951
4951
|
"token_estimate": 12,
|
|
4952
4952
|
"source": "manual",
|
|
4953
4953
|
"session_id": null
|
|
@@ -5128,8 +5128,8 @@
|
|
|
5128
5128
|
"auto-learned"
|
|
5129
5129
|
],
|
|
5130
5130
|
"created_at": "1786101727Z",
|
|
5131
|
-
"last_accessed": "
|
|
5132
|
-
"access_count":
|
|
5131
|
+
"last_accessed": "1789829130Z",
|
|
5132
|
+
"access_count": 1,
|
|
5133
5133
|
"token_estimate": 12,
|
|
5134
5134
|
"source": "manual",
|
|
5135
5135
|
"session_id": null
|
|
@@ -5310,8 +5310,8 @@
|
|
|
5310
5310
|
"auto-learned"
|
|
5311
5311
|
],
|
|
5312
5312
|
"created_at": "1786101799Z",
|
|
5313
|
-
"last_accessed": "
|
|
5314
|
-
"access_count":
|
|
5313
|
+
"last_accessed": "1789829130Z",
|
|
5314
|
+
"access_count": 1,
|
|
5315
5315
|
"token_estimate": 12,
|
|
5316
5316
|
"source": "manual",
|
|
5317
5317
|
"session_id": null
|
|
@@ -5492,8 +5492,8 @@
|
|
|
5492
5492
|
"auto-learned"
|
|
5493
5493
|
],
|
|
5494
5494
|
"created_at": "1786101825Z",
|
|
5495
|
-
"last_accessed": "
|
|
5496
|
-
"access_count":
|
|
5495
|
+
"last_accessed": "1789829130Z",
|
|
5496
|
+
"access_count": 1,
|
|
5497
5497
|
"token_estimate": 12,
|
|
5498
5498
|
"source": "manual",
|
|
5499
5499
|
"session_id": null
|
|
@@ -5674,8 +5674,8 @@
|
|
|
5674
5674
|
"auto-learned"
|
|
5675
5675
|
],
|
|
5676
5676
|
"created_at": "1786101950Z",
|
|
5677
|
-
"last_accessed": "
|
|
5678
|
-
"access_count":
|
|
5677
|
+
"last_accessed": "1789829130Z",
|
|
5678
|
+
"access_count": 1,
|
|
5679
5679
|
"token_estimate": 12,
|
|
5680
5680
|
"source": "manual",
|
|
5681
5681
|
"session_id": null
|
|
@@ -5856,8 +5856,8 @@
|
|
|
5856
5856
|
"auto-learned"
|
|
5857
5857
|
],
|
|
5858
5858
|
"created_at": "1786102236Z",
|
|
5859
|
-
"last_accessed": "
|
|
5860
|
-
"access_count":
|
|
5859
|
+
"last_accessed": "1789829130Z",
|
|
5860
|
+
"access_count": 1,
|
|
5861
5861
|
"token_estimate": 12,
|
|
5862
5862
|
"source": "manual",
|
|
5863
5863
|
"session_id": null
|
|
@@ -6038,8 +6038,8 @@
|
|
|
6038
6038
|
"auto-learned"
|
|
6039
6039
|
],
|
|
6040
6040
|
"created_at": "1786102579Z",
|
|
6041
|
-
"last_accessed": "
|
|
6042
|
-
"access_count":
|
|
6041
|
+
"last_accessed": "1789829130Z",
|
|
6042
|
+
"access_count": 1,
|
|
6043
6043
|
"token_estimate": 12,
|
|
6044
6044
|
"source": "manual",
|
|
6045
6045
|
"session_id": null
|
|
@@ -6220,8 +6220,8 @@
|
|
|
6220
6220
|
"auto-learned"
|
|
6221
6221
|
],
|
|
6222
6222
|
"created_at": "1786103000Z",
|
|
6223
|
-
"last_accessed": "
|
|
6224
|
-
"access_count":
|
|
6223
|
+
"last_accessed": "1789829130Z",
|
|
6224
|
+
"access_count": 1,
|
|
6225
6225
|
"token_estimate": 12,
|
|
6226
6226
|
"source": "manual",
|
|
6227
6227
|
"session_id": null
|
|
@@ -6402,8 +6402,8 @@
|
|
|
6402
6402
|
"auto-learned"
|
|
6403
6403
|
],
|
|
6404
6404
|
"created_at": "1786103675Z",
|
|
6405
|
-
"last_accessed": "
|
|
6406
|
-
"access_count":
|
|
6405
|
+
"last_accessed": "1789829130Z",
|
|
6406
|
+
"access_count": 1,
|
|
6407
6407
|
"token_estimate": 12,
|
|
6408
6408
|
"source": "manual",
|
|
6409
6409
|
"session_id": null
|
|
@@ -6584,8 +6584,8 @@
|
|
|
6584
6584
|
"auto-learned"
|
|
6585
6585
|
],
|
|
6586
6586
|
"created_at": "1786103753Z",
|
|
6587
|
-
"last_accessed": "
|
|
6588
|
-
"access_count":
|
|
6587
|
+
"last_accessed": "1789829130Z",
|
|
6588
|
+
"access_count": 1,
|
|
6589
6589
|
"token_estimate": 12,
|
|
6590
6590
|
"source": "manual",
|
|
6591
6591
|
"session_id": null
|
|
@@ -6766,8 +6766,8 @@
|
|
|
6766
6766
|
"auto-learned"
|
|
6767
6767
|
],
|
|
6768
6768
|
"created_at": "1786275827Z",
|
|
6769
|
-
"last_accessed": "
|
|
6770
|
-
"access_count":
|
|
6769
|
+
"last_accessed": "1789829130Z",
|
|
6770
|
+
"access_count": 1,
|
|
6771
6771
|
"token_estimate": 12,
|
|
6772
6772
|
"source": "manual",
|
|
6773
6773
|
"session_id": null
|
|
@@ -6948,8 +6948,8 @@
|
|
|
6948
6948
|
"auto-learned"
|
|
6949
6949
|
],
|
|
6950
6950
|
"created_at": "1786275973Z",
|
|
6951
|
-
"last_accessed": "
|
|
6952
|
-
"access_count":
|
|
6951
|
+
"last_accessed": "1789829130Z",
|
|
6952
|
+
"access_count": 1,
|
|
6953
6953
|
"token_estimate": 12,
|
|
6954
6954
|
"source": "manual",
|
|
6955
6955
|
"session_id": null
|
|
@@ -7130,8 +7130,8 @@
|
|
|
7130
7130
|
"auto-learned"
|
|
7131
7131
|
],
|
|
7132
7132
|
"created_at": "1786691306Z",
|
|
7133
|
-
"last_accessed": "
|
|
7134
|
-
"access_count":
|
|
7133
|
+
"last_accessed": "1789829130Z",
|
|
7134
|
+
"access_count": 1,
|
|
7135
7135
|
"token_estimate": 12,
|
|
7136
7136
|
"source": "manual",
|
|
7137
7137
|
"session_id": null
|
|
@@ -7312,8 +7312,8 @@
|
|
|
7312
7312
|
"auto-learned"
|
|
7313
7313
|
],
|
|
7314
7314
|
"created_at": "1786691977Z",
|
|
7315
|
-
"last_accessed": "
|
|
7316
|
-
"access_count":
|
|
7315
|
+
"last_accessed": "1789829130Z",
|
|
7316
|
+
"access_count": 1,
|
|
7317
7317
|
"token_estimate": 12,
|
|
7318
7318
|
"source": "manual",
|
|
7319
7319
|
"session_id": null
|
|
@@ -7494,8 +7494,8 @@
|
|
|
7494
7494
|
"auto-learned"
|
|
7495
7495
|
],
|
|
7496
7496
|
"created_at": "1786692149Z",
|
|
7497
|
-
"last_accessed": "
|
|
7498
|
-
"access_count":
|
|
7497
|
+
"last_accessed": "1789829130Z",
|
|
7498
|
+
"access_count": 1,
|
|
7499
7499
|
"token_estimate": 12,
|
|
7500
7500
|
"source": "manual",
|
|
7501
7501
|
"session_id": null
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"file": ".opencode/plugins/tribunal.js",
|
|
3
|
+
"riskScore": "Low",
|
|
4
|
+
"blastRadius": 0,
|
|
5
|
+
"imports": {
|
|
6
|
+
"path": [],
|
|
7
|
+
"fs": [],
|
|
8
|
+
"url": []
|
|
9
|
+
},
|
|
10
|
+
"dependents": [],
|
|
11
|
+
"content": "/**\n * Tribunal Kit plugin for OpenCode.ai\n *\n * Injects Tribunal Master Governance bootstrap context via message transform.\n * Auto-registers skills directory via config hook (no symlinks needed).\n */\n\nimport path from 'path';\nimport fs from 'fs';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst extractAndStripFrontmatter = content => {\n const match = content.match(/^---\\n([\\s\\S]*?)\\n---\\n([\\s\\S]*)$/);\n if (!match) return { frontmatter: {}, content };\n\n const frontmatterStr = match[1];\n const body = match[2];\n const frontmatter = {};\n\n for (const line of frontmatterStr.split('\\n')) {\n const colonIdx = line.indexOf(':');\n if (colonIdx > 0) {\n const key = line.slice(0, colonIdx).trim();\n const value = line\n .slice(colonIdx + 1)\n .trim()\n .replace(/^[\"']|[\"']$/g, '');\n frontmatter[key] = value;\n }\n }\n\n return { frontmatter, content: body };\n};\n\nlet _bootstrapCache = undefined;\n\nexport const TribunalPlugin = async ({ client: _client, directory: _directory } = {}) => {\n const packageRoot = path.resolve(__dirname, '../..');\n const tribunalSkillsDir = path.join(packageRoot, '.agent', 'skills');\n const rulesPath = path.join(packageRoot, '.agent', 'rules', 'GEMINI.md');\n\n const getBootstrapContent = () => {\n if (_bootstrapCache !== undefined) return _bootstrapCache;\n\n let rulesContent = '';\n if (fs.existsSync(rulesPath)) {\n const raw = fs.readFileSync(rulesPath, 'utf8');\n const { content } = extractAndStripFrontmatter(raw);\n rulesContent = content;\n } else {\n rulesContent =\n '# Tribunal Kit Master Governance Active\\nEnforce strict TDD, out-of-band reviews, and 28-specialist waves.';\n }\n\n const toolMapping = `**Tool Mapping for OpenCode:**\nWhen skills or tribunal workflows request actions, map them to OpenCode tools:\n- Create or update tasks/todos → \\`todowrite\\`\n- Subagent dispatches → \\`task\\` with \\`subagent_type: \"general\"\\` (or \\`\"explore\"\\` for read-only exploration)\n- Invoke a skill → OpenCode's native \\`skill\\` tool\n- Read files → \\`read\\`\n- Create, edit, or delete files → \\`apply_patch\\`\n- Run shell commands → \\`bash\\`\n- Search files → \\`grep\\`, \\`glob\\`\n- Fetch a URL → \\`webfetch\\`\n- Tribunal SDD commands → run via \\`bash\\` (\\`tk sdd brief\\`, \\`tk sdd diff\\`)`;\n\n _bootstrapCache = `<EXTREMELY_IMPORTANT>\nTribunal Kit Master Governance is active.\n\n**IMPORTANT: The master governance rules and verification protocols are loaded for this session. Follow them strictly.**\n\n${rulesContent}\n\n${toolMapping}\n</EXTREMELY_IMPORTANT>`;\n\n return _bootstrapCache;\n };\n\n return {\n config: async config => {\n config.skills = config.skills || {};\n config.skills.paths = config.skills.paths || [];\n if (!config.skills.paths.includes(tribunalSkillsDir)) {\n config.skills.paths.push(tribunalSkillsDir);\n }\n },\n\n 'experimental.chat.messages.transform': async (_input, output) => {\n const bootstrap = getBootstrapContent();\n if (!bootstrap || !output.messages || !output.messages.length) return;\n const firstUser = output.messages.find(m => m.info && m.info.role === 'user');\n if (!firstUser || !firstUser.parts || !firstUser.parts.length) return;\n\n if (\n firstUser.parts.some(\n p => p.type === 'text' && p.text && p.text.includes('EXTREMELY_IMPORTANT'),\n )\n )\n return;\n\n const ref = firstUser.parts[0];\n firstUser.parts.unshift({ ...ref, type: 'text', text: bootstrap });\n },\n };\n};\n\nexport default TribunalPlugin;\n"
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"file": ".pi/extensions/tribunal.ts",
|
|
3
|
+
"riskScore": "Low",
|
|
4
|
+
"blastRadius": 0,
|
|
5
|
+
"imports": {
|
|
6
|
+
"node:fs": [],
|
|
7
|
+
"node:path": [],
|
|
8
|
+
"node:url": []
|
|
9
|
+
},
|
|
10
|
+
"dependents": [],
|
|
11
|
+
"content": "import { readFileSync, existsSync } from 'node:fs';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nexport interface ExtensionAPI {\n on(event: string, handler: (payload?: any) => Promise<any> | any): void;\n}\n\nconst EXTREMELY_IMPORTANT_MARKER = '<EXTREMELY_IMPORTANT>';\nconst BOOTSTRAP_MARKER = 'tribunal-kit:master-governance bootstrap for pi';\n\nconst extensionDir = dirname(fileURLToPath(import.meta.url));\nconst packageRoot = resolve(extensionDir, '../..');\nconst skillsDir = resolve(packageRoot, '.agent', 'skills');\nconst rulesPath = resolve(packageRoot, '.agent', 'rules', 'GEMINI.md');\n\nlet cachedBootstrap: string | null | undefined;\n\nexport default function tribunalPiExtension(pi: ExtensionAPI) {\n let injectBootstrap = true;\n\n pi.on('resources_discover', async () => ({\n skillPaths: [skillsDir],\n }));\n\n pi.on('session_start', async () => {\n injectBootstrap = true;\n });\n\n pi.on('session_compact', async () => {\n injectBootstrap = true;\n });\n\n pi.on('agent_end', async () => {\n injectBootstrap = false;\n });\n\n pi.on('context', async (event: any) => {\n if (!injectBootstrap) return;\n if (event?.messages?.some(messageContainsBootstrap)) return;\n\n const bootstrap = getBootstrapContent();\n if (!bootstrap) return;\n\n const bootstrapMessage = {\n role: 'user' as const,\n content: [{ type: 'text' as const, text: bootstrap }],\n timestamp: Date.now(),\n };\n\n const messages = event?.messages || [];\n const insertAt = firstNonCompactionSummaryIndex(messages);\n\n return {\n messages: [...messages.slice(0, insertAt), bootstrapMessage, ...messages.slice(insertAt)],\n };\n });\n}\n\nfunction getBootstrapContent(): string | null {\n if (cachedBootstrap !== undefined) return cachedBootstrap;\n\n try {\n let body = '';\n if (existsSync(rulesPath)) {\n const raw = readFileSync(rulesPath, 'utf8');\n body = stripFrontmatter(raw);\n } else {\n body =\n '# Tribunal Kit Master Governance Active\\nEnforce strict TDD and 28-specialist reviewer waves.';\n }\n\n cachedBootstrap = `${EXTREMELY_IMPORTANT_MARKER}\n${BOOTSTRAP_MARKER}\n\nTribunal Agent Kit Master Governance is active.\n\nThe master rules and verification protocols are loaded for this Pi session. Follow them now.\n\n${body}\n\n${piToolMapping()}\n</EXTREMELY_IMPORTANT>`;\n return cachedBootstrap;\n } catch {\n cachedBootstrap = null;\n return null;\n }\n}\n\nfunction stripFrontmatter(content: string): string {\n const match = content.match(/^---\\n[\\s\\S]*?\\n---\\n([\\s\\S]*)$/);\n return (match ? match[1] : content).trim();\n}\n\nfunction piToolMapping(): string {\n return `## Pi Tool Mapping for Tribunal Kit\n\nPi has native skills support. When a Tribunal rule or skill applies, load the relevant \\`SKILL.md\\` with \\`read\\`, or let a user invoke \\`/skill:name\\` explicitly.\n\nPi's built-in coding tools are lowercase: \\`read\\`, \\`write\\`, \\`edit\\`, \\`bash\\`, plus optional \\`grep\\`, \\`find\\`, and \\`ls\\`. Use those for the corresponding actions: read a file, create or edit files, run shell commands, search file contents, find files by name, and list directories.\n\nSubagent-Driven Development (SDD):\n- To run SDD preparation: use \\`bash\\` to invoke \\`tk sdd brief <plan-path> <task-number>\\`.\n- To generate review diffs: use \\`bash\\` to invoke \\`tk sdd diff <plan-path> <base-sha> <head-sha>\\`.\n- When delegating to subagents via \\`pi-subagents\\` or similar tools, supply the generated \\`task-<N>-brief.md\\` out-of-band and enforce the Iron Law of TDD.`;\n}\n\nfunction messageContainsBootstrap(message: unknown): boolean {\n const content = (message as { content?: unknown })?.content;\n if (typeof content === 'string') return content.includes(BOOTSTRAP_MARKER);\n if (!Array.isArray(content)) return false;\n return content.some(part => {\n return (\n part &&\n typeof part === 'object' &&\n (part as { type?: unknown }).type === 'text' &&\n typeof (part as { text?: unknown }).text === 'string' &&\n (part as { text: string }).text.includes(BOOTSTRAP_MARKER)\n );\n });\n}\n\nfunction firstNonCompactionSummaryIndex(messages: unknown[]): number {\n let index = 0;\n while ((messages[index] as { role?: unknown } | undefined)?.role === 'compactionSummary') {\n index += 1;\n }\n return index;\n}\n"
|
|
12
|
+
}
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
"child_process": []
|
|
10
10
|
},
|
|
11
11
|
"dependents": [],
|
|
12
|
-
"content": "#!/usr/bin/env node\n\n/**\n * Tribunal Kit — Universal CLI Agent Adapter\n *\n * Auto-detects installed CLI agents and configures Tribunal Kit\n * for each one. Supports Claude Code, Aider, Codex, Gemini CLI,\n * OpenCode, Copilot CLI, Cursor, Windsurf, and Cline.\n *\n * Usage:\n * node bin/adapter-install.js # Auto-detect and install all\n * node bin/adapter-install.js claude # Install for Claude Code only\n * node bin/adapter-install.js --global # Install to ~/.tribunal-kit/\n */\n\nconst fs = require('fs');\nconst path = require('path');\nconst os = require('os');\nconst { execSync } = require('child_process');\n\nconst ADAPTERS = {\n 'claude-code': {\n detect: () => commandExists('claude'),\n rulesFile: '.claude/CLAUDE.md',\n description: 'Claude Code CLI',\n setup: (projectRoot, _globalMode) => {\n const rulesDir = path.join(projectRoot, '.claude');\n ensureDir(rulesDir);\n const source = path.join(__dirname, '..', '.claude', 'CLAUDE.md');\n const target = path.join(rulesDir, 'CLAUDE.md');\n if (fs.existsSync(source)) {\n fs.copyFileSync(source, target);\n }\n // Also install MCP server config\n installMcpConfig(projectRoot, 'claude');\n },\n },\n\n aider: {\n detect: () => commandExists('aider'),\n rulesFile: '.aider.conf.yml',\n description: 'Aider CLI',\n setup: projectRoot => {\n const conventionsPath = path.join(projectRoot, 'CONVENTIONS.md');\n const systemPrompt = fs.readFileSync(path.join(__dirname, '..', 'system-prompt.md')
|
|
12
|
+
"content": "#!/usr/bin/env node\n\n/**\n * Tribunal Kit — Universal CLI Agent Adapter\n *\n * Auto-detects installed CLI agents and configures Tribunal Kit\n * for each one. Supports Claude Code, Aider, Codex, Gemini CLI,\n * OpenCode, Copilot CLI, Cursor, Windsurf, and Cline.\n *\n * Usage:\n * node bin/adapter-install.js # Auto-detect and install all\n * node bin/adapter-install.js claude # Install for Claude Code only\n * node bin/adapter-install.js --global # Install to ~/.tribunal-kit/\n */\n\nconst fs = require('fs');\nconst path = require('path');\nconst os = require('os');\nconst { execSync } = require('child_process');\n\nconst ADAPTERS = {\n 'claude-code': {\n detect: () => commandExists('claude'),\n rulesFile: '.claude/CLAUDE.md',\n description: 'Claude Code CLI',\n setup: (projectRoot, _globalMode) => {\n const rulesDir = path.join(projectRoot, '.claude');\n ensureDir(rulesDir);\n const source = path.join(__dirname, '..', '.claude', 'CLAUDE.md');\n const target = path.join(rulesDir, 'CLAUDE.md');\n if (fs.existsSync(source)) {\n fs.copyFileSync(source, target);\n }\n const rootTarget = path.join(projectRoot, 'CLAUDE.md');\n if (fs.existsSync(source) && !fs.existsSync(rootTarget)) {\n fs.copyFileSync(source, rootTarget);\n }\n // Also install MCP server config\n installMcpConfig(projectRoot, 'claude');\n },\n },\n\n aider: {\n detect: () => commandExists('aider'),\n rulesFile: '.aider.conf.yml',\n description: 'Aider CLI',\n setup: projectRoot => {\n const conventionsPath = path.join(projectRoot, 'CONVENTIONS.md');\n const systemPrompt = fs.readFileSync(\n path.join(__dirname, '..', '.agent', 'config', 'system-prompt.md'),\n 'utf8',\n );\n fs.writeFileSync(conventionsPath, systemPrompt);\n console.log(` ✓ Wrote ${conventionsPath}`);\n },\n },\n\n codex: {\n detect: () => commandExists('codex'),\n rulesFile: 'AGENTS.md',\n description: 'OpenAI Codex CLI',\n setup: projectRoot => {\n const agentsPath = path.join(projectRoot, 'AGENTS.md');\n const rootAgentsSource = path.join(__dirname, '..', 'AGENTS.md');\n let systemPrompt = '';\n if (fs.existsSync(rootAgentsSource)) {\n systemPrompt = fs.readFileSync(rootAgentsSource, 'utf8');\n } else {\n systemPrompt = fs.readFileSync(\n path.join(__dirname, '..', '.agent', 'config', 'system-prompt.md'),\n 'utf8',\n );\n }\n fs.writeFileSync(agentsPath, systemPrompt);\n console.log(` ✓ Wrote ${agentsPath}`);\n },\n },\n\n 'gemini-cli': {\n detect: () => commandExists('gemini'),\n rulesFile: '.gemini/rules/GEMINI.md',\n description: 'Google Gemini CLI',\n setup: projectRoot => {\n const geminiDir = path.join(projectRoot, '.gemini', 'rules');\n ensureDir(geminiDir);\n const systemPrompt = fs.readFileSync(\n path.join(__dirname, '..', '.agent', 'config', 'system-prompt.md'),\n 'utf8',\n );\n fs.writeFileSync(path.join(geminiDir, 'GEMINI.md'), systemPrompt);\n console.log(` ✓ Wrote ${path.join(geminiDir, 'GEMINI.md')}`);\n // Also install MCP config\n installMcpConfig(projectRoot, 'gemini');\n },\n },\n\n opencode: {\n detect: () => commandExists('opencode'),\n rulesFile: '.opencode/rules.md',\n description: 'OpenCode CLI',\n setup: projectRoot => {\n const opencodeDir = path.join(projectRoot, '.opencode');\n ensureDir(opencodeDir);\n const systemPrompt = fs.readFileSync(\n path.join(__dirname, '..', '.agent', 'config', 'system-prompt.md'),\n 'utf8',\n );\n fs.writeFileSync(path.join(opencodeDir, 'rules.md'), systemPrompt);\n console.log(` ✓ Wrote ${path.join(opencodeDir, 'rules.md')}`);\n },\n },\n\n 'copilot-cli': {\n detect: () => commandExists('gh') && hasGhExtension('copilot'),\n rulesFile: '.github/copilot-instructions.md',\n description: 'GitHub Copilot CLI',\n setup: projectRoot => {\n const ghDir = path.join(projectRoot, '.github');\n ensureDir(ghDir);\n const systemPrompt = fs.readFileSync(\n path.join(__dirname, '..', '.agent', 'config', 'system-prompt.md'),\n 'utf8',\n );\n fs.writeFileSync(path.join(ghDir, 'copilot-instructions.md'), systemPrompt);\n console.log(` ✓ Wrote ${path.join(ghDir, 'copilot-instructions.md')}`);\n },\n },\n};\n\n// --- Utility Functions ---\n\nfunction commandExists(cmd) {\n try {\n const isWin = os.platform() === 'win32';\n const check = isWin ? `where ${cmd}` : `which ${cmd}`;\n execSync(check, { stdio: 'ignore' });\n return true;\n } catch {\n return false;\n }\n}\n\nfunction hasGhExtension(ext) {\n try {\n const output = execSync('gh extension list', { encoding: 'utf8' });\n return output.includes(ext);\n } catch {\n return false;\n }\n}\n\nfunction ensureDir(dirPath) {\n if (!fs.existsSync(dirPath)) {\n fs.mkdirSync(dirPath, { recursive: true });\n }\n}\n\nfunction installMcpConfig(projectRoot, target) {\n let configPath;\n if (target === 'claude') {\n configPath = path.join(projectRoot, '.claude', 'mcp.json');\n } else if (target === 'gemini') {\n configPath = path.join(projectRoot, '.gemini', 'settings.json');\n } else {\n configPath = path.join(projectRoot, 'mcp_config.json');\n }\n\n ensureDir(path.dirname(configPath));\n\n let existing = {};\n if (fs.existsSync(configPath)) {\n try {\n existing = JSON.parse(fs.readFileSync(configPath, 'utf8'));\n } catch {\n existing = {};\n }\n }\n\n if (!existing || typeof existing !== 'object') {\n existing = {};\n }\n if (!existing.mcpServers || typeof existing.mcpServers !== 'object') {\n existing.mcpServers = {};\n }\n\n existing.mcpServers['tribunal-kit'] = {\n command: 'node',\n args: [path.join(__dirname, '..', 'bin', 'mcp-server.js')],\n env: { NODE_ENV: 'production' },\n };\n\n fs.writeFileSync(configPath, JSON.stringify(existing, null, 2));\n console.log(` ✓ MCP server registered at ${configPath}`);\n}\n\n// --- Main ---\n\nfunction main() {\n const args = process.argv.slice(2);\n const globalMode = args.includes('--global');\n const targetAgent = args.find(a => !a.startsWith('-'));\n const projectRoot = globalMode ? path.join(os.homedir(), '.tribunal-kit') : process.cwd();\n\n console.log('');\n console.log('┌─────────────────────────────────────────────┐');\n console.log('│ 🔱 Tribunal Kit — Universal Agent Adapter │');\n console.log('│ v9.2.1 · 52 specialists · 185 skills │');\n console.log('└─────────────────────────────────────────────┘');\n console.log('');\n\n if (globalMode) {\n ensureDir(projectRoot);\n console.log(`📁 Global mode: Installing to ${projectRoot}`);\n } else {\n console.log(`📁 Project mode: Installing to ${projectRoot}`);\n }\n console.log('');\n\n let installed = 0;\n let detected = 0;\n\n for (const [name, adapter] of Object.entries(ADAPTERS)) {\n if (targetAgent && name !== targetAgent) continue;\n\n const isDetected = adapter.detect();\n if (isDetected) detected++;\n\n if (targetAgent || isDetected) {\n console.log(`⚡ ${adapter.description} ${isDetected ? '(detected)' : '(manual)'}`);\n try {\n adapter.setup(projectRoot, globalMode);\n installed++;\n console.log(` ✅ Tribunal Kit configured for ${adapter.description}`);\n } catch (err) {\n console.error(` ❌ Failed: ${err.message}`);\n }\n console.log('');\n }\n }\n\n if (installed === 0 && !targetAgent) {\n console.log('⚠️ No CLI agents detected on this machine.');\n console.log('');\n console.log(' Supported agents:');\n for (const [name, adapter] of Object.entries(ADAPTERS)) {\n console.log(` • ${name.padEnd(15)} → ${adapter.description}`);\n }\n console.log('');\n console.log(' Install one, then run this command again.');\n console.log(' Or specify manually: node bin/adapter-install.js claude-code');\n } else {\n console.log('─────────────────────────────────────────────');\n console.log(`✅ Configured ${installed} agent(s) (${detected} auto-detected)`);\n console.log('');\n console.log(' Next steps:');\n console.log(' 1. Open your CLI agent normally');\n console.log(' 2. The Tribunal rules are now enforced automatically');\n console.log(' 3. Use /tribunal, /summon, /audit, /debug commands');\n }\n\n console.log('');\n}\n\nmain();\n"
|
|
13
13
|
}
|