tribunal-kit 9.2.6 → 9.2.8
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/ARCHITECTURE.md +4 -4
- package/.agent/data/skill_certification_ledger.jsonl +40 -0
- package/.agent/data/skill_ontology.json +138 -0
- package/.agent/history/architecture-intelligence.html +1487 -401
- package/.agent/history/architecture-model.json +16130 -5802
- package/.agent/history/architecture-verification.json +6 -6
- package/.agent/routing_index.json +656 -1566
- package/.agent/rules/GEMINI.md +1 -1
- package/.agent/scripts/adaptive_execution.js +704 -0
- package/.agent/scripts/architecture_diff.js +60 -17
- package/.agent/scripts/architecture_extractor.js +60 -21
- package/.agent/scripts/architecture_health.js +58 -21
- package/.agent/scripts/architecture_intelligence.js +3100 -0
- package/.agent/scripts/architecture_verifier.js +46 -13
- package/.agent/scripts/architecture_visualizer.js +1536 -421
- package/.agent/scripts/blast_radius_engine.js +64 -24
- package/.agent/scripts/capability_evolution.js +555 -0
- package/.agent/scripts/concept_extractor.js +240 -0
- package/.agent/scripts/consideration_engine.js +284 -0
- package/.agent/scripts/context_broker.js +397 -31
- package/.agent/scripts/corpus_certification_orchestrator.js +502 -0
- package/.agent/scripts/corpus_validation_engine.js +311 -0
- package/.agent/scripts/coverage_engine.js +102 -0
- package/.agent/scripts/cross_domain_engine.js +1883 -0
- package/.agent/scripts/engineering_memory.js +1442 -0
- package/.agent/scripts/final_corpus_validation_engine.js +405 -0
- package/.agent/scripts/integrity_manifest.js +1 -5
- package/.agent/scripts/intent_extractor.js +130 -0
- package/.agent/scripts/judgment_engine.js +790 -0
- package/.agent/scripts/materiality_engine.js +251 -0
- package/.agent/scripts/outcome_engine.js +639 -0
- package/.agent/scripts/outcome_optimization_engine.js +1632 -0
- package/.agent/scripts/routing_evaluation_engine.js +184 -0
- package/.agent/scripts/simulation_engine.js +1478 -0
- package/.agent/scripts/skill_behavior_classifier.js +90 -0
- package/.agent/scripts/skill_behavior_harness.js +105 -0
- package/.agent/scripts/skill_certification_engine.js +586 -0
- package/.agent/scripts/skill_contract_engine.js +424 -0
- package/.agent/scripts/skill_coverage_expansion_engine.js +505 -0
- package/.agent/scripts/skill_evidence_acquisition_engine.js +535 -0
- package/.agent/scripts/skill_evidence_engine.js +83 -0
- package/.agent/scripts/skill_expectation_engine.js +38 -0
- package/.agent/scripts/skill_fixture_engine.js +24 -0
- package/.agent/scripts/skill_human_validation.js +32 -0
- package/.agent/scripts/skill_intelligence.js +1300 -0
- package/.agent/scripts/skill_observation_engine.js +25 -0
- package/.agent/scripts/skill_ontology_engine.js +83 -0
- package/.agent/scripts/skill_quality_engine.js +343 -0
- package/.agent/scripts/skill_reconstruction_engine.js +164 -0
- package/.agent/scripts/skill_remediation_engine.js +326 -0
- package/.agent/scripts/skill_scenario_engine.js +108 -0
- package/.agent/scripts/skill_test_authoring_engine.js +1011 -0
- package/.agent/scripts/verification_auditor.js +346 -0
- package/.agent/skill-intelligence/taxonomy/engineering-concepts.json +555 -0
- package/.agent/skill_topic_map.json +15 -55
- package/.agent/skills/12-principles-of-animation/SKILL.md +9 -0
- package/.agent/skills/60fps-animation/SKILL.md +14 -0
- package/.agent/skills/accessible-animation/SKILL.md +9 -0
- package/.agent/skills/adapt/SKILL.md +8 -0
- package/.agent/skills/adr-generation/SKILL.md +9 -0
- package/.agent/skills/advanced-rag-pipelines/SKILL.md +9 -0
- package/.agent/skills/agent-organizer/SKILL.md +8 -0
- package/.agent/skills/agent-syscall-guidelines/SKILL.md +10 -0
- package/.agent/skills/agentic-patterns/SKILL.md +9 -0
- package/.agent/skills/agentic-workflows-2026/SKILL.md +8 -0
- package/.agent/skills/agentshield-security/SKILL.md +16 -0
- package/.agent/skills/ai-app-hardening/SKILL.md +7 -0
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +9 -0
- package/.agent/skills/animation-on-scroll/SKILL.md +9 -0
- package/.agent/skills/animation-systems/SKILL.md +8 -0
- package/.agent/skills/antfu-conventions/SKILL.md +9 -0
- package/.agent/skills/anti-slop-enforcement/SKILL.md +11 -0
- package/.agent/skills/api-patterns/SKILL.md +9 -0
- package/.agent/skills/api-security-auditor/SKILL.md +10 -0
- package/.agent/skills/app-builder/SKILL.md +8 -0
- package/.agent/skills/appflow-wireframe/SKILL.md +9 -0
- package/.agent/skills/apple-design/SKILL.md +8 -0
- package/.agent/skills/architecture/SKILL.md +8 -0
- package/.agent/skills/architecture-drift/SKILL.md +9 -0
- package/.agent/skills/architecture-intelligence/SKILL.md +17 -0
- package/.agent/skills/audit-and-fix/SKILL.md +8 -0
- package/.agent/skills/authentication-best-practices/SKILL.md +10 -0
- package/.agent/skills/autonomous-execution/SKILL.md +9 -0
- package/.agent/skills/backend-alembic/SKILL.md +16 -0
- package/.agent/skills/backend-architecture-auditor/SKILL.md +16 -0
- package/.agent/skills/backend-mongodb/SKILL.md +10 -0
- package/.agent/skills/backend-mysql/SKILL.md +16 -0
- package/.agent/skills/backend-performance-auditor/SKILL.md +10 -0
- package/.agent/skills/backend-postgresql/SKILL.md +10 -0
- package/.agent/skills/backend-redis/SKILL.md +10 -0
- package/.agent/skills/backend-security-expert/SKILL.md +10 -0
- package/.agent/skills/backend-sqlalchemy/SKILL.md +10 -0
- package/.agent/skills/backend-sqlite/SKILL.md +10 -0
- package/.agent/skills/backend-testing-auditor/SKILL.md +15 -0
- package/.agent/skills/baseline-ui/SKILL.md +8 -0
- package/.agent/skills/bash-linux/SKILL.md +9 -0
- package/.agent/skills/behavioral-modes/SKILL.md +9 -0
- package/.agent/skills/better-colors/SKILL.md +9 -0
- package/.agent/skills/better-typography/SKILL.md +9 -0
- package/.agent/skills/better-ui/SKILL.md +8 -0
- package/.agent/skills/bolder/SKILL.md +8 -0
- package/.agent/skills/brainstorming/SKILL.md +8 -0
- package/.agent/skills/browser-audit/SKILL.md +9 -0
- package/.agent/skills/browser-native-ai/SKILL.md +8 -0
- package/.agent/skills/build-primitive/SKILL.md +8 -0
- package/.agent/skills/building-native-ui/SKILL.md +7 -0
- package/.agent/skills/cicd-pro/SKILL.md +9 -0
- package/.agent/skills/clarify/SKILL.md +8 -0
- package/.agent/skills/clean-code/SKILL.md +8 -0
- package/.agent/skills/cloud-architect/SKILL.md +8 -0
- package/.agent/skills/cobejs/SKILL.md +8 -0
- package/.agent/skills/code-review-checklist/SKILL.md +9 -0
- package/.agent/skills/codebase-design/SKILL.md +14 -0
- package/.agent/skills/colorize/SKILL.md +8 -0
- package/.agent/skills/compact-landing/SKILL.md +9 -0
- package/.agent/skills/company-logos/SKILL.md +9 -0
- package/.agent/skills/config-validator/SKILL.md +9 -0
- package/.agent/skills/containerization-pro/SKILL.md +9 -0
- package/.agent/skills/context-engineering-pro/SKILL.md +10 -0
- package/.agent/skills/create-design-md/SKILL.md +7 -0
- package/.agent/skills/critique/SKILL.md +8 -0
- package/.agent/skills/csharp-developer/SKILL.md +9 -0
- package/.agent/skills/data-validation-schemas/SKILL.md +8 -0
- package/.agent/skills/database-design/SKILL.md +8 -0
- package/.agent/skills/delight/SKILL.md +8 -0
- package/.agent/skills/deployment-procedures/SKILL.md +9 -0
- package/.agent/skills/design-lab/SKILL.md +8 -0
- package/.agent/skills/devops-engineer/SKILL.md +9 -0
- package/.agent/skills/devops-incident-responder/SKILL.md +16 -0
- package/.agent/skills/diagnosing-bugs/SKILL.md +9 -0
- package/.agent/skills/distill/SKILL.md +8 -0
- package/.agent/skills/documentation-templates/SKILL.md +9 -0
- package/.agent/skills/domain-modeling/SKILL.md +9 -0
- package/.agent/skills/duckdb-analytical-sql/SKILL.md +10 -0
- package/.agent/skills/edge-ai-mobile/SKILL.md +8 -0
- package/.agent/skills/edge-computing/SKILL.md +9 -0
- package/.agent/skills/emil-design-eng/SKILL.md +9 -0
- package/.agent/skills/error-resilience/SKILL.md +8 -0
- package/.agent/skills/expo-router-v4/SKILL.md +9 -0
- package/.agent/skills/extract-design-system/SKILL.md +9 -0
- package/.agent/skills/fabel-protocol/SKILL.md +9 -0
- package/.agent/skills/failure-mode-analysis/SKILL.md +10 -0
- package/.agent/skills/fastapi-pro/SKILL.md +9 -0
- package/.agent/skills/fixing-accessibility/SKILL.md +9 -0
- package/.agent/skills/fixing-metadata/SKILL.md +9 -0
- package/.agent/skills/fixing-motion-performance/SKILL.md +9 -0
- package/.agent/skills/framer-motion-expert/SKILL.md +9 -0
- package/.agent/skills/frontend-design/SKILL.md +7 -0
- package/.agent/skills/frontend-security-expert/SKILL.md +9 -0
- package/.agent/skills/game-design-expert/SKILL.md +9 -0
- package/.agent/skills/game-engineering-expert/SKILL.md +16 -0
- package/.agent/skills/generative-ui-expert/SKILL.md +9 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +9 -0
- package/.agent/skills/git-pro/SKILL.md +9 -0
- package/.agent/skills/github-operations/SKILL.md +9 -0
- package/.agent/skills/gpt-taste/SKILL.md +9 -0
- package/.agent/skills/graph-engineering/SKILL.md +16 -0
- package/.agent/skills/gsap-core/SKILL.md +9 -0
- package/.agent/skills/gsap-frameworks/SKILL.md +9 -0
- package/.agent/skills/gsap-performance/SKILL.md +9 -0
- package/.agent/skills/gsap-plugins/SKILL.md +9 -0
- package/.agent/skills/gsap-react/SKILL.md +9 -0
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +9 -0
- package/.agent/skills/gsap-timeline/SKILL.md +9 -0
- package/.agent/skills/gsap-utils/SKILL.md +9 -0
- package/.agent/skills/harden/SKILL.md +8 -0
- package/.agent/skills/harness-protocol/SKILL.md +9 -0
- package/.agent/skills/hf-cli/SKILL.md +11 -0
- package/.agent/skills/hf-cloud-aws-context-discovery/SKILL.md +10 -0
- package/.agent/skills/hf-cloud-python-env-setup/SKILL.md +10 -0
- package/.agent/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +10 -0
- package/.agent/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +10 -0
- package/.agent/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +10 -0
- package/.agent/skills/hf-cloud-serving-image-selection/SKILL.md +10 -0
- package/.agent/skills/hf-mem/SKILL.md +11 -0
- package/.agent/skills/huggingface-best/SKILL.md +9 -0
- package/.agent/skills/huggingface-community-evals/SKILL.md +11 -0
- package/.agent/skills/huggingface-datasets/SKILL.md +10 -0
- package/.agent/skills/huggingface-gradio/SKILL.md +10 -0
- package/.agent/skills/huggingface-llm-trainer/SKILL.md +10 -0
- package/.agent/skills/huggingface-local-models/SKILL.md +10 -0
- package/.agent/skills/huggingface-lora-space-builder/SKILL.md +11 -0
- package/.agent/skills/huggingface-paper-publisher/SKILL.md +11 -0
- package/.agent/skills/huggingface-papers/SKILL.md +11 -0
- package/.agent/skills/huggingface-spaces/SKILL.md +10 -0
- package/.agent/skills/huggingface-tool-builder/SKILL.md +11 -0
- package/.agent/skills/huggingface-trackio/SKILL.md +11 -0
- package/.agent/skills/huggingface-vision-trainer/SKILL.md +11 -0
- package/.agent/skills/huggingface-zerogpu/SKILL.md +11 -0
- package/.agent/skills/human-gate-negotiation/SKILL.md +11 -0
- package/.agent/skills/i18n-localization/SKILL.md +9 -0
- package/.agent/skills/impeccable/SKILL.md +8 -0
- package/.agent/skills/improve-codebase-architecture/SKILL.md +10 -0
- package/.agent/skills/improve-ui/SKILL.md +8 -0
- package/.agent/skills/intelligent-routing/SKILL.md +9 -0
- package/.agent/skills/knowledge-graph/SKILL.md +9 -0
- package/.agent/skills/landing-page/SKILL.md +9 -0
- package/.agent/skills/lint-and-validate/SKILL.md +9 -0
- package/.agent/skills/llm-engineering/SKILL.md +9 -0
- package/.agent/skills/local-first/SKILL.md +10 -0
- package/.agent/skills/lottie-animation/SKILL.md +9 -0
- package/.agent/skills/marquee-loop/SKILL.md +9 -0
- package/.agent/skills/masked-reveal/SKILL.md +9 -0
- package/.agent/skills/mcp-builder/SKILL.md +9 -0
- package/.agent/skills/micro-interaction/SKILL.md +9 -0
- package/.agent/skills/mobile-design/SKILL.md +7 -0
- package/.agent/skills/monorepo-management/SKILL.md +9 -0
- package/.agent/skills/morphing-icons/SKILL.md +9 -0
- package/.agent/skills/motion-engineering/SKILL.md +8 -0
- package/.agent/skills/nextjs-react-expert/SKILL.md +10 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +16 -0
- package/.agent/skills/observability/SKILL.md +8 -0
- package/.agent/skills/opentelemetry-observability/SKILL.md +9 -0
- package/.agent/skills/page-transition-animation/SKILL.md +10 -0
- package/.agent/skills/parallel-agents/SKILL.md +15 -0
- package/.agent/skills/performance-profiling/SKILL.md +9 -0
- package/.agent/skills/plan-writing/SKILL.md +8 -0
- package/.agent/skills/platform-engineer/SKILL.md +9 -0
- package/.agent/skills/platform-engineering-opentofu/SKILL.md +10 -0
- package/.agent/skills/playwright-ai-e2e/SKILL.md +9 -0
- package/.agent/skills/playwright-best-practices/SKILL.md +16 -0
- package/.agent/skills/polish/SKILL.md +8 -0
- package/.agent/skills/powershell-windows/SKILL.md +9 -0
- package/.agent/skills/pricing-page/SKILL.md +9 -0
- package/.agent/skills/product-aware-heuristics/SKILL.md +10 -0
- package/.agent/skills/progressive-blur/SKILL.md +9 -0
- package/.agent/skills/project-idioms/SKILL.md +8 -0
- package/.agent/skills/property-based-testing/SKILL.md +9 -0
- package/.agent/skills/python-patterns/SKILL.md +9 -0
- package/.agent/skills/python-pro/SKILL.md +9 -0
- package/.agent/skills/quieter/SKILL.md +8 -0
- package/.agent/skills/react-doctor/SKILL.md +9 -0
- package/.agent/skills/react-specialist/SKILL.md +9 -0
- package/.agent/skills/readme-builder/SKILL.md +9 -0
- package/.agent/skills/realtime-patterns/SKILL.md +9 -0
- package/.agent/skills/red-team-tactics/SKILL.md +16 -0
- package/.agent/skills/redesign-skill/SKILL.md +9 -0
- package/.agent/skills/review-animations/SKILL.md +8 -0
- package/.agent/skills/rust-pro/SKILL.md +9 -0
- package/.agent/skills/semantic-filesystem-navigation/SKILL.md +11 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +9 -0
- package/.agent/skills/server-management/SKILL.md +8 -0
- package/.agent/skills/session-log-interrogation/SKILL.md +11 -0
- package/.agent/skills/shadcn-ui-expert/SKILL.md +9 -0
- package/.agent/skills/shape/SKILL.md +8 -0
- package/.agent/skills/skill-creator/SKILL.md +9 -0
- package/.agent/skills/soft-skill/SKILL.md +9 -0
- package/.agent/skills/sounds-on-the-web/SKILL.md +9 -0
- package/.agent/skills/sql-pro/SKILL.md +9 -0
- package/.agent/skills/subagent-driven-development/SKILL.md +11 -0
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +17 -0
- package/.agent/skills/svg-animation/SKILL.md +9 -0
- package/.agent/skills/swiftui-expert/SKILL.md +9 -0
- package/.agent/skills/swiss-design/SKILL.md +8 -0
- package/.agent/skills/system-design-pro/SKILL.md +9 -0
- package/.agent/skills/systematic-debugging/SKILL.md +14 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +9 -0
- package/.agent/skills/taste-skill/SKILL.md +9 -0
- package/.agent/skills/tdd-workflow/SKILL.md +9 -0
- package/.agent/skills/test-result-analyzer/SKILL.md +9 -0
- package/.agent/skills/testing-patterns/SKILL.md +8 -0
- package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +11 -0
- package/.agent/skills/thinking-protocol/SKILL.md +10 -0
- package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +9 -0
- package/.agent/skills/train-sentence-transformers/SKILL.md +10 -0
- package/.agent/skills/transformers-js/SKILL.md +8 -0
- package/.agent/skills/transitions-dev/SKILL.md +8 -0
- package/.agent/skills/trend-researcher/SKILL.md +9 -0
- package/.agent/skills/tribunal-instincts-memory/SKILL.md +11 -0
- package/.agent/skills/trl-training/SKILL.md +9 -0
- package/.agent/skills/typescript-advanced/SKILL.md +9 -0
- package/.agent/skills/typeset/SKILL.md +8 -0
- package/.agent/skills/ui-reasoning-engine/SKILL.md +9 -0
- package/.agent/skills/ui-skill-packs/SKILL.md +9 -0
- package/.agent/skills/ui-skills-root/SKILL.md +9 -0
- package/.agent/skills/ui-ux-pro-max/SKILL.md +9 -0
- package/.agent/skills/ui-ux-researcher/SKILL.md +8 -0
- package/.agent/skills/vector-search-pgvector/SKILL.md +10 -0
- package/.agent/skills/verification-before-completion/SKILL.md +9 -0
- package/.agent/skills/vue-expert/SKILL.md +9 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +9 -0
- package/.agent/skills/web-accessibility-auditor/SKILL.md +16 -0
- package/.agent/skills/web-design-guidelines/SKILL.md +9 -0
- package/.agent/skills/web-quality-audit/SKILL.md +10 -0
- package/.agent/skills/webapp-testing/SKILL.md +8 -0
- package/.agent/skills/webgpu-performance/SKILL.md +9 -0
- package/.agent/skills/whimsy-injector/SKILL.md +9 -0
- package/.agent/skills/workflow-optimizer/SKILL.md +9 -0
- package/.agent/skills/zero-trust-passkeys/SKILL.md +10 -0
- package/.agent/skills_inventory.json +502 -3167
- package/.agent/workflows/arch.md +96 -80
- package/.agent/workflows/skill-intelligence.md +216 -0
- package/.agents/skills/12-principles-of-animation/SKILL.md +9 -0
- package/.agents/skills/60fps-animation/SKILL.md +14 -0
- package/.agents/skills/accessible-animation/SKILL.md +9 -0
- package/.agents/skills/adapt/SKILL.md +8 -0
- package/.agents/skills/adr-generation/SKILL.md +9 -0
- package/.agents/skills/advanced-rag-pipelines/SKILL.md +9 -0
- package/.agents/skills/agent-organizer/SKILL.md +8 -0
- package/.agents/skills/agent-syscall-guidelines/SKILL.md +10 -0
- package/.agents/skills/agentic-patterns/SKILL.md +9 -0
- package/.agents/skills/agentic-workflows-2026/SKILL.md +8 -0
- package/.agents/skills/agentshield-security/SKILL.md +16 -0
- package/.agents/skills/ai-app-hardening/SKILL.md +7 -0
- package/.agents/skills/ai-prompt-injection-defense/SKILL.md +9 -0
- package/.agents/skills/animation-on-scroll/SKILL.md +9 -0
- package/.agents/skills/animation-systems/SKILL.md +8 -0
- package/.agents/skills/antfu-conventions/SKILL.md +9 -0
- package/.agents/skills/anti-slop-enforcement/SKILL.md +11 -0
- package/.agents/skills/api-patterns/SKILL.md +9 -0
- package/.agents/skills/api-security-auditor/SKILL.md +10 -0
- package/.agents/skills/app-builder/SKILL.md +8 -0
- package/.agents/skills/appflow-wireframe/SKILL.md +9 -0
- package/.agents/skills/apple-design/SKILL.md +8 -0
- package/.agents/skills/architecture/SKILL.md +8 -0
- package/.agents/skills/architecture-drift/SKILL.md +9 -0
- package/.agents/skills/architecture-intelligence/SKILL.md +17 -0
- package/.agents/skills/audit-and-fix/SKILL.md +8 -0
- package/.agents/skills/authentication-best-practices/SKILL.md +10 -0
- package/.agents/skills/autonomous-execution/SKILL.md +9 -0
- package/.agents/skills/backend-alembic/SKILL.md +16 -0
- package/.agents/skills/backend-architecture-auditor/SKILL.md +16 -0
- package/.agents/skills/backend-mongodb/SKILL.md +10 -0
- package/.agents/skills/backend-mysql/SKILL.md +16 -0
- package/.agents/skills/backend-performance-auditor/SKILL.md +10 -0
- package/.agents/skills/backend-postgresql/SKILL.md +10 -0
- package/.agents/skills/backend-redis/SKILL.md +10 -0
- package/.agents/skills/backend-security-expert/SKILL.md +10 -0
- package/.agents/skills/backend-sqlalchemy/SKILL.md +10 -0
- package/.agents/skills/backend-sqlite/SKILL.md +10 -0
- package/.agents/skills/backend-testing-auditor/SKILL.md +15 -0
- package/.agents/skills/baseline-ui/SKILL.md +8 -0
- package/.agents/skills/bash-linux/SKILL.md +9 -0
- package/.agents/skills/behavioral-modes/SKILL.md +9 -0
- package/.agents/skills/better-colors/SKILL.md +9 -0
- package/.agents/skills/better-typography/SKILL.md +9 -0
- package/.agents/skills/better-ui/SKILL.md +8 -0
- package/.agents/skills/bolder/SKILL.md +8 -0
- package/.agents/skills/brainstorming/SKILL.md +8 -0
- package/.agents/skills/browser-audit/SKILL.md +9 -0
- package/.agents/skills/browser-native-ai/SKILL.md +8 -0
- package/.agents/skills/build-primitive/SKILL.md +8 -0
- package/.agents/skills/building-native-ui/SKILL.md +7 -0
- package/.agents/skills/cicd-pro/SKILL.md +9 -0
- package/.agents/skills/clarify/SKILL.md +8 -0
- package/.agents/skills/clean-code/SKILL.md +8 -0
- package/.agents/skills/cloud-architect/SKILL.md +8 -0
- package/.agents/skills/cobejs/SKILL.md +8 -0
- package/.agents/skills/code-review-checklist/SKILL.md +9 -0
- package/.agents/skills/codebase-design/SKILL.md +14 -0
- package/.agents/skills/colorize/SKILL.md +8 -0
- package/.agents/skills/compact-landing/SKILL.md +9 -0
- package/.agents/skills/company-logos/SKILL.md +9 -0
- package/.agents/skills/config-validator/SKILL.md +9 -0
- package/.agents/skills/containerization-pro/SKILL.md +9 -0
- package/.agents/skills/context-engineering-pro/SKILL.md +10 -0
- package/.agents/skills/create-design-md/SKILL.md +7 -0
- package/.agents/skills/critique/SKILL.md +8 -0
- package/.agents/skills/csharp-developer/SKILL.md +9 -0
- package/.agents/skills/data-validation-schemas/SKILL.md +8 -0
- package/.agents/skills/database-design/SKILL.md +8 -0
- package/.agents/skills/delight/SKILL.md +8 -0
- package/.agents/skills/deployment-procedures/SKILL.md +9 -0
- package/.agents/skills/design-lab/SKILL.md +8 -0
- package/.agents/skills/devops-engineer/SKILL.md +9 -0
- package/.agents/skills/devops-incident-responder/SKILL.md +16 -0
- package/.agents/skills/diagnosing-bugs/SKILL.md +9 -0
- package/.agents/skills/distill/SKILL.md +8 -0
- package/.agents/skills/documentation-templates/SKILL.md +9 -0
- package/.agents/skills/domain-modeling/SKILL.md +9 -0
- package/.agents/skills/duckdb-analytical-sql/SKILL.md +10 -0
- package/.agents/skills/edge-ai-mobile/SKILL.md +8 -0
- package/.agents/skills/edge-computing/SKILL.md +9 -0
- package/.agents/skills/emil-design-eng/SKILL.md +9 -0
- package/.agents/skills/error-resilience/SKILL.md +8 -0
- package/.agents/skills/expo-router-v4/SKILL.md +9 -0
- package/.agents/skills/extract-design-system/SKILL.md +9 -0
- package/.agents/skills/fabel-protocol/SKILL.md +9 -0
- package/.agents/skills/failure-mode-analysis/SKILL.md +10 -0
- package/.agents/skills/fastapi-pro/SKILL.md +9 -0
- package/.agents/skills/fixing-accessibility/SKILL.md +9 -0
- package/.agents/skills/fixing-metadata/SKILL.md +9 -0
- package/.agents/skills/fixing-motion-performance/SKILL.md +9 -0
- package/.agents/skills/framer-motion-expert/SKILL.md +9 -0
- package/.agents/skills/frontend-design/SKILL.md +7 -0
- package/.agents/skills/frontend-security-expert/SKILL.md +9 -0
- package/.agents/skills/game-design-expert/SKILL.md +9 -0
- package/.agents/skills/game-engineering-expert/SKILL.md +16 -0
- package/.agents/skills/generative-ui-expert/SKILL.md +9 -0
- package/.agents/skills/geo-fundamentals/SKILL.md +9 -0
- package/.agents/skills/git-pro/SKILL.md +9 -0
- package/.agents/skills/github-operations/SKILL.md +9 -0
- package/.agents/skills/gpt-taste/SKILL.md +9 -0
- package/.agents/skills/graph-engineering/SKILL.md +16 -0
- package/.agents/skills/gsap-core/SKILL.md +9 -0
- package/.agents/skills/gsap-frameworks/SKILL.md +9 -0
- package/.agents/skills/gsap-performance/SKILL.md +9 -0
- package/.agents/skills/gsap-plugins/SKILL.md +9 -0
- package/.agents/skills/gsap-react/SKILL.md +9 -0
- package/.agents/skills/gsap-scrolltrigger/SKILL.md +9 -0
- package/.agents/skills/gsap-timeline/SKILL.md +9 -0
- package/.agents/skills/gsap-utils/SKILL.md +9 -0
- package/.agents/skills/harden/SKILL.md +8 -0
- package/.agents/skills/harness-protocol/SKILL.md +9 -0
- package/.agents/skills/hf-cli/SKILL.md +11 -0
- package/.agents/skills/hf-cloud-aws-context-discovery/SKILL.md +10 -0
- package/.agents/skills/hf-cloud-python-env-setup/SKILL.md +10 -0
- package/.agents/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +10 -0
- package/.agents/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +10 -0
- package/.agents/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +10 -0
- package/.agents/skills/hf-cloud-serving-image-selection/SKILL.md +10 -0
- package/.agents/skills/hf-mem/SKILL.md +11 -0
- package/.agents/skills/huggingface-best/SKILL.md +9 -0
- package/.agents/skills/huggingface-community-evals/SKILL.md +11 -0
- package/.agents/skills/huggingface-datasets/SKILL.md +10 -0
- package/.agents/skills/huggingface-gradio/SKILL.md +10 -0
- package/.agents/skills/huggingface-llm-trainer/SKILL.md +10 -0
- package/.agents/skills/huggingface-local-models/SKILL.md +10 -0
- package/.agents/skills/huggingface-lora-space-builder/SKILL.md +11 -0
- package/.agents/skills/huggingface-paper-publisher/SKILL.md +11 -0
- package/.agents/skills/huggingface-papers/SKILL.md +11 -0
- package/.agents/skills/huggingface-spaces/SKILL.md +10 -0
- package/.agents/skills/huggingface-tool-builder/SKILL.md +11 -0
- package/.agents/skills/huggingface-trackio/SKILL.md +11 -0
- package/.agents/skills/huggingface-vision-trainer/SKILL.md +11 -0
- package/.agents/skills/huggingface-zerogpu/SKILL.md +11 -0
- package/.agents/skills/human-gate-negotiation/SKILL.md +11 -0
- package/.agents/skills/i18n-localization/SKILL.md +9 -0
- package/.agents/skills/impeccable/SKILL.md +8 -0
- package/.agents/skills/improve-codebase-architecture/SKILL.md +10 -0
- package/.agents/skills/improve-ui/SKILL.md +8 -0
- package/.agents/skills/intelligent-routing/SKILL.md +9 -0
- package/.agents/skills/knowledge-graph/SKILL.md +9 -0
- package/.agents/skills/landing-page/SKILL.md +9 -0
- package/.agents/skills/lint-and-validate/SKILL.md +9 -0
- package/.agents/skills/llm-engineering/SKILL.md +9 -0
- package/.agents/skills/local-first/SKILL.md +10 -0
- package/.agents/skills/lottie-animation/SKILL.md +9 -0
- package/.agents/skills/marquee-loop/SKILL.md +9 -0
- package/.agents/skills/masked-reveal/SKILL.md +9 -0
- package/.agents/skills/mcp-builder/SKILL.md +9 -0
- package/.agents/skills/micro-interaction/SKILL.md +9 -0
- package/.agents/skills/mobile-design/SKILL.md +7 -0
- package/.agents/skills/monorepo-management/SKILL.md +9 -0
- package/.agents/skills/morphing-icons/SKILL.md +9 -0
- package/.agents/skills/motion-engineering/SKILL.md +8 -0
- package/.agents/skills/nextjs-react-expert/SKILL.md +10 -0
- package/.agents/skills/nodejs-best-practices/SKILL.md +16 -0
- package/.agents/skills/observability/SKILL.md +8 -0
- package/.agents/skills/opentelemetry-observability/SKILL.md +9 -0
- package/.agents/skills/page-transition-animation/SKILL.md +10 -0
- package/.agents/skills/parallel-agents/SKILL.md +15 -0
- package/.agents/skills/performance-profiling/SKILL.md +9 -0
- package/.agents/skills/plan-writing/SKILL.md +8 -0
- package/.agents/skills/platform-engineer/SKILL.md +9 -0
- package/.agents/skills/platform-engineering-opentofu/SKILL.md +10 -0
- package/.agents/skills/playwright-ai-e2e/SKILL.md +9 -0
- package/.agents/skills/playwright-best-practices/SKILL.md +16 -0
- package/.agents/skills/polish/SKILL.md +8 -0
- package/.agents/skills/powershell-windows/SKILL.md +9 -0
- package/.agents/skills/pricing-page/SKILL.md +9 -0
- package/.agents/skills/product-aware-heuristics/SKILL.md +10 -0
- package/.agents/skills/progressive-blur/SKILL.md +9 -0
- package/.agents/skills/project-idioms/SKILL.md +8 -0
- package/.agents/skills/property-based-testing/SKILL.md +9 -0
- package/.agents/skills/python-patterns/SKILL.md +9 -0
- package/.agents/skills/python-pro/SKILL.md +9 -0
- package/.agents/skills/quieter/SKILL.md +8 -0
- package/.agents/skills/react-doctor/SKILL.md +9 -0
- package/.agents/skills/react-specialist/SKILL.md +9 -0
- package/.agents/skills/readme-builder/SKILL.md +9 -0
- package/.agents/skills/realtime-patterns/SKILL.md +9 -0
- package/.agents/skills/red-team-tactics/SKILL.md +16 -0
- package/.agents/skills/redesign-skill/SKILL.md +9 -0
- package/.agents/skills/review-animations/SKILL.md +8 -0
- package/.agents/skills/rust-pro/SKILL.md +9 -0
- package/.agents/skills/semantic-filesystem-navigation/SKILL.md +11 -0
- package/.agents/skills/seo-fundamentals/SKILL.md +9 -0
- package/.agents/skills/server-management/SKILL.md +8 -0
- package/.agents/skills/session-log-interrogation/SKILL.md +11 -0
- package/.agents/skills/shadcn-ui-expert/SKILL.md +9 -0
- package/.agents/skills/shape/SKILL.md +8 -0
- package/.agents/skills/skill-creator/SKILL.md +9 -0
- package/.agents/skills/soft-skill/SKILL.md +9 -0
- package/.agents/skills/sounds-on-the-web/SKILL.md +9 -0
- package/.agents/skills/sql-pro/SKILL.md +9 -0
- package/.agents/skills/subagent-driven-development/SKILL.md +11 -0
- package/.agents/skills/supabase-postgres-best-practices/SKILL.md +17 -0
- package/.agents/skills/svg-animation/SKILL.md +9 -0
- package/.agents/skills/swiftui-expert/SKILL.md +9 -0
- package/.agents/skills/swiss-design/SKILL.md +8 -0
- package/.agents/skills/system-design-pro/SKILL.md +9 -0
- package/.agents/skills/systematic-debugging/SKILL.md +14 -0
- package/.agents/skills/tailwind-patterns/SKILL.md +9 -0
- package/.agents/skills/taste-skill/SKILL.md +9 -0
- package/.agents/skills/tdd-workflow/SKILL.md +9 -0
- package/.agents/skills/test-result-analyzer/SKILL.md +9 -0
- package/.agents/skills/testing-patterns/SKILL.md +8 -0
- package/.agents/skills/thermo-nuclear-code-quality-review/SKILL.md +11 -0
- package/.agents/skills/thinking-protocol/SKILL.md +10 -0
- package/.agents/skills/to-spring-or-not-to-spring/SKILL.md +9 -0
- package/.agents/skills/train-sentence-transformers/SKILL.md +10 -0
- package/.agents/skills/transformers-js/SKILL.md +8 -0
- package/.agents/skills/transitions-dev/SKILL.md +8 -0
- package/.agents/skills/trend-researcher/SKILL.md +9 -0
- package/.agents/skills/tribunal-instincts-memory/SKILL.md +11 -0
- package/.agents/skills/trl-training/SKILL.md +9 -0
- package/.agents/skills/typescript-advanced/SKILL.md +9 -0
- package/.agents/skills/typeset/SKILL.md +8 -0
- package/.agents/skills/ui-reasoning-engine/SKILL.md +9 -0
- package/.agents/skills/ui-skill-packs/SKILL.md +9 -0
- package/.agents/skills/ui-skills-root/SKILL.md +9 -0
- package/.agents/skills/ui-ux-pro-max/SKILL.md +9 -0
- package/.agents/skills/ui-ux-researcher/SKILL.md +8 -0
- package/.agents/skills/vector-search-pgvector/SKILL.md +10 -0
- package/.agents/skills/verification-before-completion/SKILL.md +9 -0
- package/.agents/skills/vue-expert/SKILL.md +9 -0
- package/.agents/skills/vulnerability-scanner/SKILL.md +9 -0
- package/.agents/skills/web-accessibility-auditor/SKILL.md +16 -0
- package/.agents/skills/web-design-guidelines/SKILL.md +9 -0
- package/.agents/skills/web-quality-audit/SKILL.md +10 -0
- package/.agents/skills/webapp-testing/SKILL.md +8 -0
- package/.agents/skills/webgpu-performance/SKILL.md +9 -0
- package/.agents/skills/whimsy-injector/SKILL.md +9 -0
- package/.agents/skills/workflow-optimizer/SKILL.md +9 -0
- package/.agents/skills/zero-trust-passkeys/SKILL.md +10 -0
- package/CONTRIBUTING.md +2 -2
- package/README.md +25 -25
- package/bin/adapter-install.js +1 -1
- package/bin/mcp-server.js +249 -0
- package/package.json +11 -8
- package/plugins/core-plugin.json +1 -1
- package/plugins/gemini/extension.json +1 -1
- package/skills/12-principles-of-animation/SKILL.md +9 -0
- package/skills/60fps-animation/SKILL.md +14 -0
- package/skills/accessible-animation/SKILL.md +9 -0
- package/skills/adapt/SKILL.md +8 -0
- package/skills/adr-generation/SKILL.md +9 -0
- package/skills/advanced-rag-pipelines/SKILL.md +9 -0
- package/skills/agent-organizer/SKILL.md +8 -0
- package/skills/agent-syscall-guidelines/SKILL.md +10 -0
- package/skills/agentic-patterns/SKILL.md +9 -0
- package/skills/agentic-workflows-2026/SKILL.md +8 -0
- package/skills/agentshield-security/SKILL.md +16 -0
- package/skills/ai-app-hardening/SKILL.md +7 -0
- package/skills/ai-prompt-injection-defense/SKILL.md +9 -0
- package/skills/animation-on-scroll/SKILL.md +9 -0
- package/skills/animation-systems/SKILL.md +8 -0
- package/skills/antfu-conventions/SKILL.md +9 -0
- package/skills/anti-slop-enforcement/SKILL.md +11 -0
- package/skills/api-patterns/SKILL.md +9 -0
- package/skills/api-security-auditor/SKILL.md +10 -0
- package/skills/app-builder/SKILL.md +8 -0
- package/skills/appflow-wireframe/SKILL.md +9 -0
- package/skills/apple-design/SKILL.md +8 -0
- package/skills/architecture/SKILL.md +8 -0
- package/skills/architecture-drift/SKILL.md +9 -0
- package/skills/architecture-intelligence/SKILL.md +17 -0
- package/skills/audit-and-fix/SKILL.md +8 -0
- package/skills/authentication-best-practices/SKILL.md +10 -0
- package/skills/autonomous-execution/SKILL.md +9 -0
- package/skills/backend-alembic/SKILL.md +16 -0
- package/skills/backend-architecture-auditor/SKILL.md +16 -0
- package/skills/backend-mongodb/SKILL.md +10 -0
- package/skills/backend-mysql/SKILL.md +16 -0
- package/skills/backend-performance-auditor/SKILL.md +10 -0
- package/skills/backend-postgresql/SKILL.md +10 -0
- package/skills/backend-redis/SKILL.md +10 -0
- package/skills/backend-security-expert/SKILL.md +10 -0
- package/skills/backend-sqlalchemy/SKILL.md +10 -0
- package/skills/backend-sqlite/SKILL.md +10 -0
- package/skills/backend-testing-auditor/SKILL.md +15 -0
- package/skills/baseline-ui/SKILL.md +8 -0
- package/skills/bash-linux/SKILL.md +9 -0
- package/skills/behavioral-modes/SKILL.md +9 -0
- package/skills/better-colors/SKILL.md +9 -0
- package/skills/better-typography/SKILL.md +9 -0
- package/skills/better-ui/SKILL.md +8 -0
- package/skills/bolder/SKILL.md +8 -0
- package/skills/brainstorming/SKILL.md +8 -0
- package/skills/browser-audit/SKILL.md +9 -0
- package/skills/browser-native-ai/SKILL.md +8 -0
- package/skills/build-primitive/SKILL.md +8 -0
- package/skills/building-native-ui/SKILL.md +7 -0
- package/skills/cicd-pro/SKILL.md +9 -0
- package/skills/clarify/SKILL.md +8 -0
- package/skills/clean-code/SKILL.md +8 -0
- package/skills/cloud-architect/SKILL.md +8 -0
- package/skills/cobejs/SKILL.md +8 -0
- package/skills/code-review-checklist/SKILL.md +9 -0
- package/skills/codebase-design/SKILL.md +14 -0
- package/skills/colorize/SKILL.md +8 -0
- package/skills/compact-landing/SKILL.md +9 -0
- package/skills/company-logos/SKILL.md +9 -0
- package/skills/config-validator/SKILL.md +9 -0
- package/skills/containerization-pro/SKILL.md +9 -0
- package/skills/context-engineering-pro/SKILL.md +10 -0
- package/skills/create-design-md/SKILL.md +7 -0
- package/skills/critique/SKILL.md +8 -0
- package/skills/csharp-developer/SKILL.md +9 -0
- package/skills/data-validation-schemas/SKILL.md +8 -0
- package/skills/database-design/SKILL.md +8 -0
- package/skills/delight/SKILL.md +8 -0
- package/skills/deployment-procedures/SKILL.md +9 -0
- package/skills/design-lab/SKILL.md +8 -0
- package/skills/devops-engineer/SKILL.md +9 -0
- package/skills/devops-incident-responder/SKILL.md +16 -0
- package/skills/diagnosing-bugs/SKILL.md +9 -0
- package/skills/distill/SKILL.md +8 -0
- package/skills/documentation-templates/SKILL.md +9 -0
- package/skills/domain-modeling/SKILL.md +9 -0
- package/skills/duckdb-analytical-sql/SKILL.md +10 -0
- package/skills/edge-ai-mobile/SKILL.md +8 -0
- package/skills/edge-computing/SKILL.md +9 -0
- package/skills/emil-design-eng/SKILL.md +9 -0
- package/skills/error-resilience/SKILL.md +8 -0
- package/skills/expo-router-v4/SKILL.md +9 -0
- package/skills/extract-design-system/SKILL.md +9 -0
- package/skills/fabel-protocol/SKILL.md +9 -0
- package/skills/failure-mode-analysis/SKILL.md +10 -0
- package/skills/fastapi-pro/SKILL.md +9 -0
- package/skills/fixing-accessibility/SKILL.md +9 -0
- package/skills/fixing-metadata/SKILL.md +9 -0
- package/skills/fixing-motion-performance/SKILL.md +9 -0
- package/skills/framer-motion-expert/SKILL.md +9 -0
- package/skills/frontend-design/SKILL.md +7 -0
- package/skills/frontend-security-expert/SKILL.md +9 -0
- package/skills/game-design-expert/SKILL.md +9 -0
- package/skills/game-engineering-expert/SKILL.md +16 -0
- package/skills/generative-ui-expert/SKILL.md +9 -0
- package/skills/geo-fundamentals/SKILL.md +9 -0
- package/skills/git-pro/SKILL.md +9 -0
- package/skills/github-operations/SKILL.md +9 -0
- package/skills/gpt-taste/SKILL.md +9 -0
- package/skills/graph-engineering/SKILL.md +16 -0
- package/skills/gsap-core/SKILL.md +9 -0
- package/skills/gsap-frameworks/SKILL.md +9 -0
- package/skills/gsap-performance/SKILL.md +9 -0
- package/skills/gsap-plugins/SKILL.md +9 -0
- package/skills/gsap-react/SKILL.md +9 -0
- package/skills/gsap-scrolltrigger/SKILL.md +9 -0
- package/skills/gsap-timeline/SKILL.md +9 -0
- package/skills/gsap-utils/SKILL.md +9 -0
- package/skills/harden/SKILL.md +8 -0
- package/skills/harness-protocol/SKILL.md +9 -0
- package/skills/hf-cli/SKILL.md +11 -0
- package/skills/hf-cloud-aws-context-discovery/SKILL.md +10 -0
- package/skills/hf-cloud-python-env-setup/SKILL.md +10 -0
- package/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +10 -0
- package/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +10 -0
- package/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +10 -0
- package/skills/hf-cloud-serving-image-selection/SKILL.md +10 -0
- package/skills/hf-mem/SKILL.md +11 -0
- package/skills/huggingface-best/SKILL.md +9 -0
- package/skills/huggingface-community-evals/SKILL.md +11 -0
- package/skills/huggingface-datasets/SKILL.md +10 -0
- package/skills/huggingface-gradio/SKILL.md +10 -0
- package/skills/huggingface-llm-trainer/SKILL.md +10 -0
- package/skills/huggingface-local-models/SKILL.md +10 -0
- package/skills/huggingface-lora-space-builder/SKILL.md +11 -0
- package/skills/huggingface-paper-publisher/SKILL.md +11 -0
- package/skills/huggingface-papers/SKILL.md +11 -0
- package/skills/huggingface-spaces/SKILL.md +10 -0
- package/skills/huggingface-tool-builder/SKILL.md +11 -0
- package/skills/huggingface-trackio/SKILL.md +11 -0
- package/skills/huggingface-vision-trainer/SKILL.md +11 -0
- package/skills/huggingface-zerogpu/SKILL.md +11 -0
- package/skills/human-gate-negotiation/SKILL.md +11 -0
- package/skills/i18n-localization/SKILL.md +9 -0
- package/skills/impeccable/SKILL.md +8 -0
- package/skills/improve-codebase-architecture/SKILL.md +10 -0
- package/skills/improve-ui/SKILL.md +8 -0
- package/skills/intelligent-routing/SKILL.md +9 -0
- package/skills/knowledge-graph/SKILL.md +9 -0
- package/skills/landing-page/SKILL.md +9 -0
- package/skills/lint-and-validate/SKILL.md +9 -0
- package/skills/llm-engineering/SKILL.md +9 -0
- package/skills/local-first/SKILL.md +10 -0
- package/skills/lottie-animation/SKILL.md +9 -0
- package/skills/marquee-loop/SKILL.md +9 -0
- package/skills/masked-reveal/SKILL.md +9 -0
- package/skills/mcp-builder/SKILL.md +9 -0
- package/skills/micro-interaction/SKILL.md +9 -0
- package/skills/mobile-design/SKILL.md +7 -0
- package/skills/monorepo-management/SKILL.md +9 -0
- package/skills/morphing-icons/SKILL.md +9 -0
- package/skills/motion-engineering/SKILL.md +8 -0
- package/skills/nextjs-react-expert/SKILL.md +10 -0
- package/skills/nodejs-best-practices/SKILL.md +16 -0
- package/skills/observability/SKILL.md +8 -0
- package/skills/opentelemetry-observability/SKILL.md +9 -0
- package/skills/page-transition-animation/SKILL.md +10 -0
- package/skills/parallel-agents/SKILL.md +15 -0
- package/skills/performance-profiling/SKILL.md +9 -0
- package/skills/plan-writing/SKILL.md +8 -0
- package/skills/platform-engineer/SKILL.md +9 -0
- package/skills/platform-engineering-opentofu/SKILL.md +10 -0
- package/skills/playwright-ai-e2e/SKILL.md +9 -0
- package/skills/playwright-best-practices/SKILL.md +16 -0
- package/skills/polish/SKILL.md +8 -0
- package/skills/powershell-windows/SKILL.md +9 -0
- package/skills/pricing-page/SKILL.md +9 -0
- package/skills/product-aware-heuristics/SKILL.md +10 -0
- package/skills/progressive-blur/SKILL.md +9 -0
- package/skills/project-idioms/SKILL.md +8 -0
- package/skills/property-based-testing/SKILL.md +9 -0
- package/skills/python-patterns/SKILL.md +9 -0
- package/skills/python-pro/SKILL.md +9 -0
- package/skills/quieter/SKILL.md +8 -0
- package/skills/react-doctor/SKILL.md +9 -0
- package/skills/react-specialist/SKILL.md +9 -0
- package/skills/readme-builder/SKILL.md +9 -0
- package/skills/realtime-patterns/SKILL.md +9 -0
- package/skills/red-team-tactics/SKILL.md +16 -0
- package/skills/redesign-skill/SKILL.md +9 -0
- package/skills/review-animations/SKILL.md +8 -0
- package/skills/rust-pro/SKILL.md +9 -0
- package/skills/semantic-filesystem-navigation/SKILL.md +11 -0
- package/skills/seo-fundamentals/SKILL.md +9 -0
- package/skills/server-management/SKILL.md +8 -0
- package/skills/session-log-interrogation/SKILL.md +11 -0
- package/skills/shadcn-ui-expert/SKILL.md +9 -0
- package/skills/shape/SKILL.md +8 -0
- package/skills/skill-creator/SKILL.md +9 -0
- package/skills/soft-skill/SKILL.md +9 -0
- package/skills/sounds-on-the-web/SKILL.md +9 -0
- package/skills/sql-pro/SKILL.md +9 -0
- package/skills/subagent-driven-development/SKILL.md +11 -0
- package/skills/supabase-postgres-best-practices/SKILL.md +17 -0
- package/skills/svg-animation/SKILL.md +9 -0
- package/skills/swiftui-expert/SKILL.md +9 -0
- package/skills/swiss-design/SKILL.md +8 -0
- package/skills/system-design-pro/SKILL.md +9 -0
- package/skills/systematic-debugging/SKILL.md +14 -0
- package/skills/tailwind-patterns/SKILL.md +9 -0
- package/skills/taste-skill/SKILL.md +9 -0
- package/skills/tdd-workflow/SKILL.md +9 -0
- package/skills/test-result-analyzer/SKILL.md +9 -0
- package/skills/testing-patterns/SKILL.md +8 -0
- package/skills/thermo-nuclear-code-quality-review/SKILL.md +11 -0
- package/skills/thinking-protocol/SKILL.md +10 -0
- package/skills/to-spring-or-not-to-spring/SKILL.md +9 -0
- package/skills/train-sentence-transformers/SKILL.md +10 -0
- package/skills/transformers-js/SKILL.md +8 -0
- package/skills/transitions-dev/SKILL.md +8 -0
- package/skills/trend-researcher/SKILL.md +9 -0
- package/skills/tribunal-instincts-memory/SKILL.md +11 -0
- package/skills/trl-training/SKILL.md +9 -0
- package/skills/typescript-advanced/SKILL.md +9 -0
- package/skills/typeset/SKILL.md +8 -0
- package/skills/ui-reasoning-engine/SKILL.md +9 -0
- package/skills/ui-skill-packs/SKILL.md +9 -0
- package/skills/ui-skills-root/SKILL.md +9 -0
- package/skills/ui-ux-pro-max/SKILL.md +9 -0
- package/skills/ui-ux-researcher/SKILL.md +8 -0
- package/skills/vector-search-pgvector/SKILL.md +10 -0
- package/skills/verification-before-completion/SKILL.md +9 -0
- package/skills/vue-expert/SKILL.md +9 -0
- package/skills/vulnerability-scanner/SKILL.md +9 -0
- package/skills/web-accessibility-auditor/SKILL.md +16 -0
- package/skills/web-design-guidelines/SKILL.md +9 -0
- package/skills/web-quality-audit/SKILL.md +10 -0
- package/skills/webapp-testing/SKILL.md +8 -0
- package/skills/webgpu-performance/SKILL.md +9 -0
- package/skills/whimsy-injector/SKILL.md +9 -0
- package/skills/workflow-optimizer/SKILL.md +9 -0
- package/skills/zero-trust-passkeys/SKILL.md +10 -0
- package/src/browser/index.js +2 -1
- package/src/browser/launcher.js +41 -1
- package/src/cli.js +21 -1
- package/src/commands/arch.js +261 -172
- package/src/commands/context.js +27 -8
- package/src/commands/init.js +538 -462
- package/src/commands/intelligence.js +86 -0
- package/src/commands/learn.js +21 -6
- package/src/commands/memory.js +10 -1
- package/src/commands/native.js +12 -3
- package/src/commands/review.js +235 -1
- package/src/commands/skill-intelligence.js +1165 -0
- package/src/commands/system1.js +562 -312
- package/src/context/ranker.js +337 -339
- package/src/evaluation/evaluation_runner.js +207 -0
- package/src/evaluation/scenario_registry.js +82 -0
- package/src/evolution/engine.js +296 -295
- package/src/execution/agent_correction_engine.js +76 -0
- package/src/execution/controlled_write_service.js +301 -0
- package/src/execution/correction_run_engine.js +234 -0
- package/src/execution/correction_verifier.js +85 -0
- package/src/execution/evidence_aggregator.js +54 -0
- package/src/execution/finding_diff_engine.js +59 -0
- package/src/execution/index.js +42 -0
- package/src/execution/prompt_isolator.js +145 -0
- package/src/execution/provider_adapter.js +495 -0
- package/src/execution/resolution_certificate.js +53 -0
- package/src/execution/resolution_policy.js +70 -0
- package/src/execution/review_executor.js +335 -0
- package/src/execution/reviewer_registry.js +137 -0
- package/src/execution/schemas.js +298 -0
- package/src/execution/transaction_manager.js +237 -0
- package/src/execution/validation_runner.js +174 -0
- package/src/execution/verdict_aggregator.js +181 -0
- package/src/execution/write_policy_engine.js +95 -0
- package/src/intelligence/adaptive_correction.js +72 -0
- package/src/intelligence/adaptive_reviewer_orchestrator.js +123 -0
- package/src/intelligence/case_indexer.js +166 -0
- package/src/intelligence/case_memory.js +149 -0
- package/src/intelligence/case_similarity.js +86 -0
- package/src/intelligence/cbr_engine.js +90 -0
- package/src/intelligence/evidence_optimization.js +106 -0
- package/src/intelligence/failure_intelligence.js +95 -0
- package/src/intelligence/governance_drift_detector.js +75 -0
- package/src/intelligence/governance_simulator.js +115 -0
- package/src/intelligence/human_intelligence.js +46 -0
- package/src/intelligence/mcp_tools.js +87 -0
- package/src/intelligence/reviewer_performance.js +94 -0
- package/src/intelligence/risk_prediction_engine.js +92 -0
- package/src/intelligence/token_intelligence.js +73 -0
- package/src/synthesis/claim_check_separator.js +294 -271
- package/src/system1/browser_intelligence.js +300 -0
- package/src/system1/constants.js +49 -0
- package/src/system1/decision_engine.js +498 -0
- package/src/system1/evidence_engine.js +602 -0
- package/src/system1/evolution_pipeline.js +581 -0
- package/src/system1/index.d.ts +114 -0
- package/src/system1/index.js +102 -0
- package/src/system1/reviewer_orchestrator.js +477 -0
- package/src/tui/banner.js +26 -47
- package/src/tui/index.js +4 -0
- package/src/tui/panel.js +55 -0
- package/src/tui/progress.js +42 -0
- package/src/tui/reviewer-grid.js +9 -10
- package/src/tui/theme.js +59 -16
- package/src/tui/tree.js +57 -29
- package/src/tui/wizard.js +22 -18
- package/src/utils/fs.js +27 -0
- package/.agent/skills/local-first-architecture/SKILL.md +0 -123
|
@@ -20,7 +20,18 @@
|
|
|
20
20
|
'use strict';
|
|
21
21
|
|
|
22
22
|
const fs = require('fs');
|
|
23
|
-
const {
|
|
23
|
+
const {
|
|
24
|
+
GREEN,
|
|
25
|
+
YELLOW,
|
|
26
|
+
CYAN,
|
|
27
|
+
RED,
|
|
28
|
+
BOLD,
|
|
29
|
+
RESET,
|
|
30
|
+
BOX,
|
|
31
|
+
banner,
|
|
32
|
+
timer,
|
|
33
|
+
formatMs,
|
|
34
|
+
} = require('./_colors');
|
|
24
35
|
const { BlastRadiusEngine } = require('./blast_radius_engine');
|
|
25
36
|
|
|
26
37
|
class ArchitectureDiffer {
|
|
@@ -28,11 +39,15 @@ class ArchitectureDiffer {
|
|
|
28
39
|
this.base = baseModel;
|
|
29
40
|
this.head = headModel;
|
|
30
41
|
|
|
31
|
-
this.baseEntities = new Map((baseModel.entities || []).map(
|
|
32
|
-
this.headEntities = new Map((headModel.entities || []).map(
|
|
42
|
+
this.baseEntities = new Map((baseModel.entities || []).map(e => [e.id, e]));
|
|
43
|
+
this.headEntities = new Map((headModel.entities || []).map(e => [e.id, e]));
|
|
33
44
|
|
|
34
|
-
this.baseRelations = new Map(
|
|
35
|
-
|
|
45
|
+
this.baseRelations = new Map(
|
|
46
|
+
(baseModel.relationships || []).map(r => [r.id || `${r.sourceId}->${r.targetId}`, r]),
|
|
47
|
+
);
|
|
48
|
+
this.headRelations = new Map(
|
|
49
|
+
(headModel.relationships || []).map(r => [r.id || `${r.sourceId}->${r.targetId}`, r]),
|
|
50
|
+
);
|
|
36
51
|
}
|
|
37
52
|
|
|
38
53
|
compare() {
|
|
@@ -76,9 +91,18 @@ class ArchitectureDiffer {
|
|
|
76
91
|
if (baseEntity.role !== headEntity.role) modified.push('role');
|
|
77
92
|
if (modified.length > 0) {
|
|
78
93
|
diff.summary.entitiesModified++;
|
|
79
|
-
diff.entityChanges.push({
|
|
94
|
+
diff.entityChanges.push({
|
|
95
|
+
status: 'modified',
|
|
96
|
+
id,
|
|
97
|
+
fields: modified,
|
|
98
|
+
base: baseEntity,
|
|
99
|
+
head: headEntity,
|
|
100
|
+
});
|
|
80
101
|
|
|
81
|
-
if (
|
|
102
|
+
if (
|
|
103
|
+
baseEntity.trustZone === 'isolated_datastore' &&
|
|
104
|
+
headEntity.trustZone !== 'isolated_datastore'
|
|
105
|
+
) {
|
|
82
106
|
diff.trustBoundaryViolations.push({
|
|
83
107
|
severity: 'CRITICAL',
|
|
84
108
|
message: `Entity ${headEntity.name} was moved out of isolated_datastore to ${headEntity.trustZone}!`,
|
|
@@ -108,7 +132,8 @@ class ArchitectureDiffer {
|
|
|
108
132
|
|
|
109
133
|
if (sourceEntity && targetEntity) {
|
|
110
134
|
if (
|
|
111
|
-
(sourceEntity.trustZone === 'public_untrusted' ||
|
|
135
|
+
(sourceEntity.trustZone === 'public_untrusted' ||
|
|
136
|
+
sourceEntity.trustZone === 'dmz_gateway') &&
|
|
112
137
|
targetEntity.trustZone === 'isolated_datastore'
|
|
113
138
|
) {
|
|
114
139
|
diff.trustBoundaryViolations.push({
|
|
@@ -206,7 +231,9 @@ if (require.main === module) {
|
|
|
206
231
|
console.log(banner('Tribunal Semantic Architecture Change Differ'));
|
|
207
232
|
|
|
208
233
|
if (!baseFile || !headFile) {
|
|
209
|
-
console.error(
|
|
234
|
+
console.error(
|
|
235
|
+
` ${YELLOW}Usage:${RESET} node architecture_diff.js <base-model.json> <head-model.json>\n`,
|
|
236
|
+
);
|
|
210
237
|
process.exit(1);
|
|
211
238
|
}
|
|
212
239
|
|
|
@@ -224,12 +251,24 @@ if (require.main === module) {
|
|
|
224
251
|
const riskColors = { CRITICAL: RED, HIGH: YELLOW, MEDIUM: CYAN, LOW: GREEN };
|
|
225
252
|
const rColor = riskColors[diff.summary.riskLevel] || GREEN;
|
|
226
253
|
|
|
227
|
-
console.log(
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
console.log(
|
|
231
|
-
|
|
232
|
-
|
|
254
|
+
console.log(
|
|
255
|
+
` Architectural Risk: ${rColor}${BOLD}${diff.summary.riskLevel} (${diff.summary.architecturalImpactScore})${RESET}`,
|
|
256
|
+
);
|
|
257
|
+
console.log(
|
|
258
|
+
` Entities Changed: +${diff.summary.entitiesAdded} / -${diff.summary.entitiesRemoved} / ~${diff.summary.entitiesModified}`,
|
|
259
|
+
);
|
|
260
|
+
console.log(
|
|
261
|
+
` Relationships Changed: +${diff.summary.relationshipsAdded} / -${diff.summary.relationshipsRemoved}`,
|
|
262
|
+
);
|
|
263
|
+
console.log(
|
|
264
|
+
` Trust Violations: ${diff.trustBoundaryViolations.length > 0 ? RED : GREEN}${diff.trustBoundaryViolations.length}${RESET}`,
|
|
265
|
+
);
|
|
266
|
+
console.log(
|
|
267
|
+
` Resilience Regressions: ${diff.resilienceRegressions.length > 0 ? YELLOW : GREEN}${diff.resilienceRegressions.length}${RESET}`,
|
|
268
|
+
);
|
|
269
|
+
console.log(
|
|
270
|
+
` Blast Radius Shifts: ${diff.blastRadiusShifts.length > 0 ? YELLOW : GREEN}${diff.blastRadiusShifts.length}${RESET}`,
|
|
271
|
+
);
|
|
233
272
|
|
|
234
273
|
if (diff.trustBoundaryViolations.length > 0) {
|
|
235
274
|
console.log(`\n ${RED}${BOLD}Trust Boundary Violations:${RESET}`);
|
|
@@ -248,11 +287,15 @@ if (require.main === module) {
|
|
|
248
287
|
if (diff.blastRadiusShifts.length > 0) {
|
|
249
288
|
console.log(`\n ${CYAN}${BOLD}Blast Radius Expansions:${RESET}`);
|
|
250
289
|
for (const b of diff.blastRadiusShifts) {
|
|
251
|
-
console.log(
|
|
290
|
+
console.log(
|
|
291
|
+
` ${CYAN}▸${RESET} ${b.name}: ${b.baseTransitive} -> ${b.headTransitive} dependents (+${b.expansionPct}%)`,
|
|
292
|
+
);
|
|
252
293
|
}
|
|
253
294
|
}
|
|
254
295
|
|
|
255
|
-
console.log(
|
|
296
|
+
console.log(
|
|
297
|
+
`\n ${GREEN}${BOX.check} Semantic Architecture Diff Complete${RESET} in ${formatMs(t())}\n`,
|
|
298
|
+
);
|
|
256
299
|
}
|
|
257
300
|
|
|
258
301
|
module.exports = {
|
|
@@ -96,7 +96,8 @@ const ROUTE_DETECTORS = [
|
|
|
96
96
|
|
|
97
97
|
const DATASTORE_DETECTORS = [
|
|
98
98
|
{
|
|
99
|
-
regex:
|
|
99
|
+
regex:
|
|
100
|
+
/prisma\.(\w+)\.(findMany|findUnique|findFirst|create|update|delete|upsert|aggregate|groupBy|count)\s*\(/g,
|
|
100
101
|
engine: 'postgres_prisma',
|
|
101
102
|
kind: 'datastore',
|
|
102
103
|
},
|
|
@@ -106,7 +107,8 @@ const DATASTORE_DETECTORS = [
|
|
|
106
107
|
kind: 'datastore',
|
|
107
108
|
},
|
|
108
109
|
{
|
|
109
|
-
regex:
|
|
110
|
+
regex:
|
|
111
|
+
/\.(query|execute|raw|sql)\s*\(\s*['"`]?\s*(SELECT|INSERT|UPDATE|DELETE|CREATE|ALTER|DROP|TRUNCATE)/gi,
|
|
110
112
|
engine: 'raw_sql',
|
|
111
113
|
kind: 'datastore',
|
|
112
114
|
},
|
|
@@ -116,7 +118,8 @@ const DATASTORE_DETECTORS = [
|
|
|
116
118
|
kind: 'cache',
|
|
117
119
|
},
|
|
118
120
|
{
|
|
119
|
-
regex:
|
|
121
|
+
regex:
|
|
122
|
+
/(?:redis|client|redisClient|kv)\.(?:get|set|del|hget|hset|expire|incr|lpush|rpush|publish|subscribe)\s*\(|\.(?:hget|hset|expire|incr|lpush|rpush)\s*\(/g,
|
|
120
123
|
engine: 'redis_ops',
|
|
121
124
|
kind: 'cache',
|
|
122
125
|
},
|
|
@@ -191,7 +194,8 @@ const AUTH_DETECTORS = [
|
|
|
191
194
|
},
|
|
192
195
|
];
|
|
193
196
|
|
|
194
|
-
const IMPORT_DETECTOR =
|
|
197
|
+
const IMPORT_DETECTOR =
|
|
198
|
+
/(?:import\s+(?:[\w*\s{},]+)\s+from\s+['"`]([^'"`]+)['"`]|require\s*\(\s*['"`]([^'"`]+)['"`]\))/g;
|
|
195
199
|
|
|
196
200
|
// ── Architecture Extractor Class ──────────────────────────────────────────────
|
|
197
201
|
class ArchitectureExtractor {
|
|
@@ -219,7 +223,10 @@ class ArchitectureExtractor {
|
|
|
219
223
|
registerRelation(relation) {
|
|
220
224
|
const key = `${relation.sourceId}->${relation.targetId}:${relation.relationType}`;
|
|
221
225
|
if (!this.relations.has(key)) {
|
|
222
|
-
this.relations.set(key, {
|
|
226
|
+
this.relations.set(key, {
|
|
227
|
+
id: `rel.${crypto.createHash('md5').update(key).digest('hex').slice(0, 10)}`,
|
|
228
|
+
...relation,
|
|
229
|
+
});
|
|
223
230
|
} else {
|
|
224
231
|
const existing = this.relations.get(key);
|
|
225
232
|
if (relation.evidence) {
|
|
@@ -251,16 +258,29 @@ class ArchitectureExtractor {
|
|
|
251
258
|
// Register Module Entity
|
|
252
259
|
const entityId = `mod.${file.relPath.replace(/[^a-zA-Z0-9_.-]/g, '_')}`;
|
|
253
260
|
const isTest = file.relPath.includes('test') || file.relPath.includes('spec');
|
|
254
|
-
const isRoute =
|
|
255
|
-
|
|
261
|
+
const isRoute =
|
|
262
|
+
file.relPath.includes('route') ||
|
|
263
|
+
file.relPath.includes('api') ||
|
|
264
|
+
file.relPath.includes('controllers');
|
|
265
|
+
const isSkill =
|
|
266
|
+
file.relPath.startsWith('skills/') || file.relPath.startsWith('.agents/skills/');
|
|
256
267
|
|
|
257
268
|
this.registerEntity({
|
|
258
269
|
id: entityId,
|
|
259
270
|
kind: isRoute ? 'endpoint' : isTest ? 'test_suite' : 'module',
|
|
260
271
|
name: path.basename(file.relPath),
|
|
261
272
|
scope: path.dirname(file.relPath),
|
|
262
|
-
role: isSkill
|
|
263
|
-
|
|
273
|
+
role: isSkill
|
|
274
|
+
? 'Skill Template / Resource'
|
|
275
|
+
: isRoute
|
|
276
|
+
? 'API Route Handler'
|
|
277
|
+
: isTest
|
|
278
|
+
? 'Test Suite'
|
|
279
|
+
: 'Internal Component',
|
|
280
|
+
tags: [
|
|
281
|
+
isTest ? 'test' : isSkill ? 'skill' : 'core',
|
|
282
|
+
path.extname(file.relPath).replace('.', ''),
|
|
283
|
+
],
|
|
264
284
|
trustZone: isRoute ? 'dmz_gateway' : 'internal_service',
|
|
265
285
|
sources: [
|
|
266
286
|
{
|
|
@@ -293,11 +313,18 @@ class ArchitectureExtractor {
|
|
|
293
313
|
if (importTarget && importTarget.startsWith('.')) {
|
|
294
314
|
// Local import
|
|
295
315
|
const resolvedRel = normalizePosixPath(
|
|
296
|
-
path.relative(
|
|
316
|
+
path.relative(
|
|
317
|
+
this.repoRoot,
|
|
318
|
+
path.resolve(path.dirname(fileInfo.fullPath), importTarget),
|
|
319
|
+
),
|
|
297
320
|
);
|
|
298
321
|
// Try finding matching file
|
|
299
322
|
const targetKey = Array.from(fileDataMap.keys()).find(
|
|
300
|
-
|
|
323
|
+
k =>
|
|
324
|
+
k === resolvedRel ||
|
|
325
|
+
k.startsWith(resolvedRel + '.') ||
|
|
326
|
+
k === resolvedRel + '/index.js' ||
|
|
327
|
+
k === resolvedRel + '/index.ts',
|
|
301
328
|
);
|
|
302
329
|
|
|
303
330
|
if (targetKey) {
|
|
@@ -335,7 +362,8 @@ class ArchitectureExtractor {
|
|
|
335
362
|
let routeMatch;
|
|
336
363
|
while ((routeMatch = detector.regex.exec(content)) !== null) {
|
|
337
364
|
const method = routeMatch[1]?.toUpperCase() || 'GET';
|
|
338
|
-
const endpointPath =
|
|
365
|
+
const endpointPath =
|
|
366
|
+
routeMatch[2] || `/${relPath.replace(/^src\//, '').replace(/\.[^.]+$/, '')}`;
|
|
339
367
|
const lineNum = content.slice(0, routeMatch.index).split('\n').length;
|
|
340
368
|
|
|
341
369
|
const endpointEntityId = `endpoint.${method.toLowerCase()}.${endpointPath.replace(/[^a-zA-Z0-9_.-]/g, '_')}`;
|
|
@@ -484,7 +512,10 @@ class ArchitectureExtractor {
|
|
|
484
512
|
this.registerRelation({
|
|
485
513
|
sourceId: sourceEntityId,
|
|
486
514
|
targetId: qEntityId,
|
|
487
|
-
relationType:
|
|
515
|
+
relationType:
|
|
516
|
+
content.includes('.on(') || content.includes('.subscribe(')
|
|
517
|
+
? 'subscribes'
|
|
518
|
+
: 'publishes',
|
|
488
519
|
protocol: detector.engine,
|
|
489
520
|
evidence: [
|
|
490
521
|
{
|
|
@@ -540,9 +571,14 @@ class ArchitectureExtractor {
|
|
|
540
571
|
});
|
|
541
572
|
|
|
542
573
|
// Check for Failure Resilience (try/catch, timeout, retry)
|
|
543
|
-
const surroundingContext = lines
|
|
544
|
-
|
|
545
|
-
|
|
574
|
+
const surroundingContext = lines
|
|
575
|
+
.slice(Math.max(0, lineNum - 5), Math.min(lines.length, lineNum + 5))
|
|
576
|
+
.join('\n');
|
|
577
|
+
const hasTryCatch =
|
|
578
|
+
surroundingContext.includes('try') || surroundingContext.includes('.catch');
|
|
579
|
+
const hasTimeout =
|
|
580
|
+
surroundingContext.includes('timeout') ||
|
|
581
|
+
surroundingContext.includes('AbortController');
|
|
546
582
|
|
|
547
583
|
this.registerRelation({
|
|
548
584
|
sourceId: sourceEntityId,
|
|
@@ -566,7 +602,9 @@ class ArchitectureExtractor {
|
|
|
566
602
|
failureMode: {
|
|
567
603
|
hasTimeout,
|
|
568
604
|
hasRetry: surroundingContext.includes('retry'),
|
|
569
|
-
hasCircuitBreaker:
|
|
605
|
+
hasCircuitBreaker:
|
|
606
|
+
surroundingContext.includes('circuitBreaker') ||
|
|
607
|
+
surroundingContext.includes('opossum'),
|
|
570
608
|
fallbackTarget: hasTryCatch ? 'handled_exception' : undefined,
|
|
571
609
|
},
|
|
572
610
|
});
|
|
@@ -706,10 +744,11 @@ class ArchitectureExtractor {
|
|
|
706
744
|
totalEntities: entitiesArr.length,
|
|
707
745
|
totalRelations: relationsArr.length,
|
|
708
746
|
totalTrustZones: trustArr.length,
|
|
709
|
-
endpointsCount: entitiesArr.filter(
|
|
710
|
-
datastoresCount: entitiesArr.filter(
|
|
711
|
-
|
|
712
|
-
|
|
747
|
+
endpointsCount: entitiesArr.filter(e => e.kind === 'endpoint').length,
|
|
748
|
+
datastoresCount: entitiesArr.filter(e => e.kind === 'datastore' || e.kind === 'cache')
|
|
749
|
+
.length,
|
|
750
|
+
queuesCount: entitiesArr.filter(e => e.kind === 'queue' || e.kind === 'event_bus').length,
|
|
751
|
+
externalServicesCount: entitiesArr.filter(e => e.kind === 'external_api').length,
|
|
713
752
|
},
|
|
714
753
|
entities: entitiesArr,
|
|
715
754
|
relationships: relationsArr,
|
|
@@ -21,12 +21,24 @@
|
|
|
21
21
|
|
|
22
22
|
const fs = require('fs');
|
|
23
23
|
const path = require('path');
|
|
24
|
-
const {
|
|
24
|
+
const {
|
|
25
|
+
GREEN,
|
|
26
|
+
YELLOW,
|
|
27
|
+
CYAN,
|
|
28
|
+
RED,
|
|
29
|
+
BOLD,
|
|
30
|
+
DIM,
|
|
31
|
+
RESET,
|
|
32
|
+
BOX,
|
|
33
|
+
banner,
|
|
34
|
+
timer,
|
|
35
|
+
formatMs,
|
|
36
|
+
} = require('./_colors');
|
|
25
37
|
|
|
26
38
|
class ArchitectureHealthAuditor {
|
|
27
39
|
constructor(model) {
|
|
28
40
|
this.model = model;
|
|
29
|
-
this.entities = new Map((model.entities || []).map(
|
|
41
|
+
this.entities = new Map((model.entities || []).map(e => [e.id, e]));
|
|
30
42
|
this.adjList = new Map(); // source -> array of target IDs
|
|
31
43
|
this.inDegree = new Map(); // target -> count
|
|
32
44
|
this.outDegree = new Map(); // source -> count
|
|
@@ -56,7 +68,7 @@ class ArchitectureHealthAuditor {
|
|
|
56
68
|
// 1. Detect Circular Dependencies (Tarjan's SCC)
|
|
57
69
|
const cycles = this.findCycles();
|
|
58
70
|
for (const cycle of cycles) {
|
|
59
|
-
const names = cycle.map(
|
|
71
|
+
const names = cycle.map(id => this.entities.get(id)?.name || id).join(' → ');
|
|
60
72
|
signals.push({
|
|
61
73
|
code: 'ARCH_CIRCULAR_DEPENDENCY',
|
|
62
74
|
severity: 'HIGH',
|
|
@@ -64,7 +76,8 @@ class ArchitectureHealthAuditor {
|
|
|
64
76
|
title: 'Circular Dependency Detected',
|
|
65
77
|
message: `Circular dependency loop identified: ${names}`,
|
|
66
78
|
entities: cycle,
|
|
67
|
-
recommendation:
|
|
79
|
+
recommendation:
|
|
80
|
+
'Break cycle by inverting dependency, introducing an interface, or extracting common logic.',
|
|
68
81
|
});
|
|
69
82
|
}
|
|
70
83
|
|
|
@@ -79,7 +92,8 @@ class ArchitectureHealthAuditor {
|
|
|
79
92
|
title: 'High Centrality Bottleneck (SPOF)',
|
|
80
93
|
message: `Component "${entity.name}" has ${count} direct callers. Any breaking change will impact a large portion of the system.`,
|
|
81
94
|
entities: [id],
|
|
82
|
-
recommendation:
|
|
95
|
+
recommendation:
|
|
96
|
+
'Ensure 100% unit test coverage, freeze interface contracts, and consider modular partitioning.',
|
|
83
97
|
});
|
|
84
98
|
}
|
|
85
99
|
}
|
|
@@ -87,7 +101,13 @@ class ArchitectureHealthAuditor {
|
|
|
87
101
|
// 3. Detect Excessive Coupling (High Fan-Out God Modules)
|
|
88
102
|
for (const [id, count] of this.outDegree.entries()) {
|
|
89
103
|
const entity = this.entities.get(id);
|
|
90
|
-
if (
|
|
104
|
+
if (
|
|
105
|
+
entity &&
|
|
106
|
+
entity.kind === 'module' &&
|
|
107
|
+
!entity.tags?.includes('skill') &&
|
|
108
|
+
count >= 15 &&
|
|
109
|
+
!entity.scope.includes('test')
|
|
110
|
+
) {
|
|
91
111
|
signals.push({
|
|
92
112
|
code: 'ARCH_EXCESSIVE_COUPLING',
|
|
93
113
|
severity: 'MEDIUM',
|
|
@@ -114,7 +134,8 @@ class ArchitectureHealthAuditor {
|
|
|
114
134
|
message: `Public component "${src.name}" directly communicates with isolated datastore "${tgt.name}" without passing through an authenticated service mesh or API gateway.`,
|
|
115
135
|
entities: [src.id, tgt.id],
|
|
116
136
|
evidence: rel.evidence || [],
|
|
117
|
-
recommendation:
|
|
137
|
+
recommendation:
|
|
138
|
+
'Route request through authenticated API middleware and isolate direct database connections.',
|
|
118
139
|
});
|
|
119
140
|
}
|
|
120
141
|
}
|
|
@@ -135,7 +156,8 @@ class ArchitectureHealthAuditor {
|
|
|
135
156
|
message: `Component "${src?.name || rel.sourceId}" calls external provider "${tgt.name}" without an explicit timeout or AbortController. Network hangs can exhaust server worker pools.`,
|
|
136
157
|
entities: [rel.sourceId, rel.targetId],
|
|
137
158
|
evidence: rel.evidence || [],
|
|
138
|
-
recommendation:
|
|
159
|
+
recommendation:
|
|
160
|
+
'Wrap external call with an AbortSignal.timeout(ms) or circuit breaker.',
|
|
139
161
|
});
|
|
140
162
|
}
|
|
141
163
|
}
|
|
@@ -143,11 +165,15 @@ class ArchitectureHealthAuditor {
|
|
|
143
165
|
|
|
144
166
|
// 6. Detect Critical Path Test Coverage Gaps
|
|
145
167
|
for (const [id, entity] of this.entities.entries()) {
|
|
146
|
-
if (
|
|
168
|
+
if (
|
|
169
|
+
entity.kind === 'module' &&
|
|
170
|
+
!entity.tags?.includes('skill') &&
|
|
171
|
+
(entity.blastRadius?.riskScore >= 0.7 || this.inDegree.get(id) >= 10)
|
|
172
|
+
) {
|
|
147
173
|
// Check if any test suite imports this entity
|
|
148
174
|
const isTested = Array.from(this.adjList.entries()).some(([srcId, targets]) => {
|
|
149
175
|
const src = this.entities.get(srcId);
|
|
150
|
-
return src && src.kind === 'test_suite' && targets.some(
|
|
176
|
+
return src && src.kind === 'test_suite' && targets.some(t => t.targetId === id);
|
|
151
177
|
});
|
|
152
178
|
|
|
153
179
|
if (!isTested) {
|
|
@@ -158,7 +184,8 @@ class ArchitectureHealthAuditor {
|
|
|
158
184
|
title: 'Test Coverage Gap on High-Centrality Component',
|
|
159
185
|
message: `Critical component "${entity.name}" (risk score ${entity.blastRadius?.riskScore || 0.8}, ${this.inDegree.get(id)} callers) has no direct test suite coverage in the architecture graph.`,
|
|
160
186
|
entities: [id],
|
|
161
|
-
recommendation:
|
|
187
|
+
recommendation:
|
|
188
|
+
'Add unit and integration tests covering the public interfaces of this component.',
|
|
162
189
|
});
|
|
163
190
|
}
|
|
164
191
|
}
|
|
@@ -168,10 +195,10 @@ class ArchitectureHealthAuditor {
|
|
|
168
195
|
timestamp: new Date().toISOString(),
|
|
169
196
|
summary: {
|
|
170
197
|
totalSignals: signals.length,
|
|
171
|
-
critical: signals.filter(
|
|
172
|
-
high: signals.filter(
|
|
173
|
-
medium: signals.filter(
|
|
174
|
-
low: signals.filter(
|
|
198
|
+
critical: signals.filter(s => s.severity === 'CRITICAL').length,
|
|
199
|
+
high: signals.filter(s => s.severity === 'HIGH').length,
|
|
200
|
+
medium: signals.filter(s => s.severity === 'MEDIUM').length,
|
|
201
|
+
low: signals.filter(s => s.severity === 'LOW').length,
|
|
175
202
|
},
|
|
176
203
|
signals,
|
|
177
204
|
};
|
|
@@ -183,7 +210,7 @@ class ArchitectureHealthAuditor {
|
|
|
183
210
|
const cycles = [];
|
|
184
211
|
const pathStack = [];
|
|
185
212
|
|
|
186
|
-
const dfs =
|
|
213
|
+
const dfs = nodeId => {
|
|
187
214
|
visited.add(nodeId);
|
|
188
215
|
recStack.add(nodeId);
|
|
189
216
|
pathStack.push(nodeId);
|
|
@@ -225,7 +252,9 @@ if (require.main === module) {
|
|
|
225
252
|
console.log(banner('Tribunal Architectural Health & Risk Auditor'));
|
|
226
253
|
|
|
227
254
|
if (!fs.existsSync(modelFile)) {
|
|
228
|
-
console.error(
|
|
255
|
+
console.error(
|
|
256
|
+
` ${RED}✖ architecture-model.json not found.${RESET} Run architecture_extractor.js first.`,
|
|
257
|
+
);
|
|
229
258
|
process.exit(1);
|
|
230
259
|
}
|
|
231
260
|
|
|
@@ -234,9 +263,15 @@ if (require.main === module) {
|
|
|
234
263
|
const report = auditor.audit();
|
|
235
264
|
|
|
236
265
|
console.log(` Signals Found: ${report.summary.totalSignals}`);
|
|
237
|
-
console.log(
|
|
238
|
-
|
|
239
|
-
|
|
266
|
+
console.log(
|
|
267
|
+
` Critical Violations: ${report.summary.critical > 0 ? RED : GREEN}${report.summary.critical}${RESET}`,
|
|
268
|
+
);
|
|
269
|
+
console.log(
|
|
270
|
+
` High Risk Issues: ${report.summary.high > 0 ? YELLOW : GREEN}${report.summary.high}${RESET}`,
|
|
271
|
+
);
|
|
272
|
+
console.log(
|
|
273
|
+
` Medium Smells: ${report.summary.medium > 0 ? CYAN : GREEN}${report.summary.medium}${RESET}`,
|
|
274
|
+
);
|
|
240
275
|
|
|
241
276
|
if (report.signals.length > 0) {
|
|
242
277
|
console.log(`\n ${BOLD}Top Architectural Signals:${RESET}`);
|
|
@@ -248,7 +283,9 @@ if (require.main === module) {
|
|
|
248
283
|
}
|
|
249
284
|
}
|
|
250
285
|
|
|
251
|
-
console.log(
|
|
286
|
+
console.log(
|
|
287
|
+
` ${GREEN}${BOX.check} Architectural Health Audit Complete${RESET} in ${formatMs(t())}\n`,
|
|
288
|
+
);
|
|
252
289
|
}
|
|
253
290
|
|
|
254
291
|
module.exports = {
|