@event4u/agent-config 8.1.0 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +50 -297
- package/dist/agent-src/commands/agents/init.md +3 -3
- package/dist/agent-src/commands/chat-history/import.md +5 -5
- package/dist/agent-src/commands/chat-history.md +1 -1
- package/dist/agent-src/commands/condense.md +1 -1
- package/dist/agent-src/commands/context/create.md +1 -1
- package/dist/agent-src/commands/council/analysis.md +2 -2
- package/dist/agent-src/commands/council/default.md +3 -3
- package/dist/agent-src/commands/council/design.md +2 -2
- package/dist/agent-src/commands/council/optimize.md +1 -1
- package/dist/agent-src/commands/council/pr.md +2 -2
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/feature/plan.md +1 -1
- package/dist/agent-src/commands/ghostwriter/list.md +1 -1
- package/dist/agent-src/commands/ghostwriter/write.md +1 -1
- package/dist/agent-src/commands/ghostwriter.md +1 -1
- package/dist/agent-src/commands/implement-ticket.md +2 -2
- package/dist/agent-src/commands/judge/on-diff.md +1 -1
- package/dist/agent-src/commands/judge/steps.md +3 -1
- package/dist/agent-src/commands/memory/add.md +2 -2
- package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
- package/dist/agent-src/commands/memory/load.md +1 -1
- package/dist/agent-src/commands/memory/mine-session.md +1 -1
- package/dist/agent-src/commands/memory/promote.md +1 -1
- package/dist/agent-src/commands/memory/propose.md +1 -1
- package/dist/agent-src/commands/mission/upgrade.md +1 -1
- package/dist/agent-src/commands/module/explore.md +3 -3
- package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
- package/dist/agent-src/commands/optimize/skills.md +1 -1
- package/dist/agent-src/commands/optimize-project.md +1 -1
- package/dist/agent-src/commands/orchestrate.md +2 -2
- package/dist/agent-src/commands/project-analyze.md +1 -1
- package/dist/agent-src/commands/project-health.md +1 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
- package/dist/agent-src/commands/roadmap/create.md +2 -2
- package/dist/agent-src/commands/roadmap/process-full.md +3 -1
- package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
- package/dist/agent-src/commands/roadmap/process-step.md +3 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/sync-agent-settings.md +7 -7
- package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
- package/dist/agent-src/commands/sync-gitignore.md +4 -4
- package/dist/agent-src/commands/work.md +3 -3
- package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
- package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
- package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
- package/dist/agent-src/packs/README.md +1 -1
- package/dist/agent-src/presets/README.md +1 -1
- package/dist/agent-src/profiles/README.md +1 -1
- package/dist/agent-src/rules/architecture.md +2 -2
- package/dist/agent-src/rules/context-hygiene.md +2 -2
- package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
- package/dist/agent-src/rules/media-governance-routing.md +1 -1
- package/dist/agent-src/rules/no-roadmap-references.md +3 -3
- package/dist/agent-src/rules/preservation-guard.md +2 -2
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
- package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
- package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
- package/dist/agent-src/rules/source-confidentiality.md +1 -1
- package/dist/agent-src/rules/telegraph-speak.md +1 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -1
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
- package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
- package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
- package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
- package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
- package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
- package/dist/agent-src/skills/api-design/SKILL.md +1 -1
- package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
- package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
- package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
- package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
- package/dist/agent-src/skills/code-review/SKILL.md +3 -4
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
- package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
- package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
- package/dist/agent-src/skills/context-document/SKILL.md +1 -1
- package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
- package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
- package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
- package/dist/agent-src/skills/database/SKILL.md +2 -1
- package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
- package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
- package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
- package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
- package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
- package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
- package/dist/agent-src/skills/flux/SKILL.md +10 -9
- package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
- package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
- package/dist/agent-src/skills/livewire/SKILL.md +10 -9
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
- package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
- package/dist/agent-src/skills/module-management/SKILL.md +2 -2
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
- package/dist/agent-src/skills/premortem/SKILL.md +1 -1
- package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
- package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
- package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
- package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
- package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
- package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
- package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
- package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
- package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
- package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
- package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
- package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
- package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
- package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
- package/dist/agent-src/templates/agent-settings.md +34 -25
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
- package/dist/agent-src/templates/agents/proposal.example.md +4 -4
- package/dist/agent-src/templates/copilot-instructions.md +1 -1
- package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
- package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
- package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
- package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
- package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
- package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
- package/dist/agent-src/templates/roadmaps.md +9 -4
- package/dist/agent-src/templates/rule.md +3 -3
- package/dist/agent-src/templates/scripts/README.md +6 -6
- package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
- package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
- package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
- package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
- package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
- package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
- package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
- package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
- package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
- package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
- package/dist/agent-src/templates/skill.md +2 -2
- package/dist/cli/python/knowledge_ingest.js +24 -3
- package/dist/cli/python/knowledge_ingest.js.map +1 -1
- package/dist/cli/python/workspace_analytics.js +23 -3
- package/dist/cli/python/workspace_analytics.js.map +1 -1
- package/dist/cli/python/workspace_crypto.js +23 -3
- package/dist/cli/python/workspace_crypto.js.map +1 -1
- package/dist/cli/python/workspace_documents.js +23 -3
- package/dist/cli/python/workspace_documents.js.map +1 -1
- package/dist/cli/python/workspace_drive.js +24 -3
- package/dist/cli/python/workspace_drive.js.map +1 -1
- package/dist/cli/python/workspace_drive_health.js +23 -3
- package/dist/cli/python/workspace_drive_health.js.map +1 -1
- package/dist/cli/python/workspace_explain.js +23 -3
- package/dist/cli/python/workspace_explain.js.map +1 -1
- package/dist/cli/python/workspace_hosts.js +23 -3
- package/dist/cli/python/workspace_hosts.js.map +1 -1
- package/dist/cli/python/workspace_inbox.js +23 -3
- package/dist/cli/python/workspace_inbox.js.map +1 -1
- package/dist/cli/python/workspace_render.js +23 -3
- package/dist/cli/python/workspace_render.js.map +1 -1
- package/dist/cli/python/workspace_roles.js +23 -3
- package/dist/cli/python/workspace_roles.js.map +1 -1
- package/dist/cli/python/workspace_sessions.js +23 -3
- package/dist/cli/python/workspace_sessions.js.map +1 -1
- package/dist/cli/python/workspace_skills.js +23 -3
- package/dist/cli/python/workspace_skills.js.map +1 -1
- package/dist/cli/registry.js +2 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +118 -118
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +2 -2
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +3 -3
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +3 -3
- package/dist/install/install.mjs +67 -28
- package/dist/mcp/registry-manifest.json +2 -2
- package/dist/server/routes/settings.js +4 -4
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/schemas/settings.js +1 -1
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +2 -2
- package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
- package/docs/benchmark.md +40 -0
- package/docs/contracts/skill-bundled-assets.md +2 -2
- package/docs/customization.md +1 -1
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
- package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
- package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
- package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
- package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
- package/docs/guidelines/agent-infra/layered-settings.md +4 -4
- package/docs/guidelines/agent-infra/memory-access.md +19 -18
- package/docs/guidelines/agent-infra/naming.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
- package/docs/guidelines/agent-infra/role-contracts.md +1 -1
- package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
- package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
- package/docs/guidelines/augment-portability-patterns.md +1 -1
- package/docs/proof.md +1 -1
- package/docs/setup/per-ide/claude-code.md +10 -4
- package/package.json +3 -2
- package/src/config/agent-settings.template.yml +31 -17
- package/src/config/host-capabilities.yml +25 -16
- package/src/config/profiles/balanced.ini +5 -3
- package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
- package/src/scripts/_cli/cmd_conformance.ts +23 -4
- package/src/scripts/_cli/cmd_doctor.ts +96 -8
- package/src/scripts/_cli/cmd_explain.ts +23 -4
- package/src/scripts/_cli/cmd_export.ts +23 -4
- package/src/scripts/_cli/cmd_fleet.ts +23 -4
- package/src/scripts/_cli/cmd_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_preflight.ts +24 -4
- package/src/scripts/_cli/cmd_prune.ts +23 -4
- package/src/scripts/_cli/cmd_refresh.ts +23 -4
- package/src/scripts/_cli/cmd_settings_check.ts +23 -4
- package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_sync.ts +23 -4
- package/src/scripts/_cli/cmd_uninstall.ts +23 -4
- package/src/scripts/_cli/cmd_update.ts +23 -4
- package/src/scripts/_cli/cmd_upgrade.ts +238 -9
- package/src/scripts/_cli/cmd_validate.ts +23 -4
- package/src/scripts/_cli/cmd_versions.ts +23 -4
- package/src/scripts/_dispatch.bash +62 -19
- package/src/scripts/_lib/claude_plugin.ts +83 -0
- package/src/scripts/_lib/knowledge_global.ts +24 -2
- package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
- package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
- package/src/scripts/_lib/link_crypto.ts +24 -5
- package/src/scripts/_lib/pin_resolver.ts +24 -3
- package/src/scripts/adoption_report.ts +23 -4
- package/src/scripts/adoption_snapshot.ts +23 -1
- package/src/scripts/adoption_status.ts +23 -4
- package/src/scripts/adr/regenerate_index.ts +24 -3
- package/src/scripts/ai_council/airgap.ts +25 -2
- package/src/scripts/ai_council/compile_corpus.ts +24 -2
- package/src/scripts/ai_council/pricing.ts +11 -1
- package/src/scripts/analysis_freshness.ts +23 -4
- package/src/scripts/annotate_discovery.ts +23 -1
- package/src/scripts/apply_modules_config.ts +23 -4
- package/src/scripts/audit_adr_coverage.ts +23 -4
- package/src/scripts/audit_auto_rules.ts +23 -1
- package/src/scripts/audit_cloud_compatibility.ts +23 -4
- package/src/scripts/audit_command_surface.ts +23 -4
- package/src/scripts/audit_initial_context.ts +23 -3
- package/src/scripts/audit_likelihood.ts +23 -1
- package/src/scripts/audit_mcp_tools.ts +23 -3
- package/src/scripts/audit_overlap.ts +23 -1
- package/src/scripts/audit_skill_descriptions.ts +24 -2
- package/src/scripts/audit_skill_overlap.ts +23 -1
- package/src/scripts/audit_user_type_axis.ts +23 -4
- package/src/scripts/backfill_model_tier.ts +23 -4
- package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
- package/src/scripts/bench_ab_clone.ts +23 -1
- package/src/scripts/bench_ab_diff.ts +23 -1
- package/src/scripts/bench_ab_integrity.ts +23 -1
- package/src/scripts/bench_ab_run.ts +23 -2
- package/src/scripts/bench_ab_task_runner.ts +23 -1
- package/src/scripts/bench_ab_tracka_run.ts +23 -2
- package/src/scripts/bench_ab_v2_run.ts +23 -1
- package/src/scripts/bench_ab_v2_stats.ts +23 -1
- package/src/scripts/bench_baseline_ready.ts +23 -1
- package/src/scripts/bench_condense_memory.ts +23 -1
- package/src/scripts/bench_drift_check.ts +23 -2
- package/src/scripts/bench_matrix.ts +23 -4
- package/src/scripts/bench_per_tool.ts +23 -1
- package/src/scripts/bench_quality_run.ts +23 -2
- package/src/scripts/bench_rtk_savings.ts +23 -1
- package/src/scripts/bench_rule_load_latency.ts +23 -2
- package/src/scripts/bench_run.ts +23 -2
- package/src/scripts/bench_runner.ts +23 -1
- package/src/scripts/build_cloud_bundle.ts +23 -3
- package/src/scripts/build_discovery_manifest.ts +23 -4
- package/src/scripts/build_linear_digest.ts +23 -3
- package/src/scripts/build_mcp_registry_manifest.ts +23 -4
- package/src/scripts/build_rule_trigger_matrix.ts +23 -4
- package/src/scripts/capture_showcase_session.ts +23 -1
- package/src/scripts/chat_history.ts +24 -3
- package/src/scripts/check_always_budget.ts +23 -2
- package/src/scripts/check_artefact_checksums.ts +23 -4
- package/src/scripts/check_augment_description_cap.ts +23 -4
- package/src/scripts/check_augmentignore.ts +23 -4
- package/src/scripts/check_beta_review_markers.ts +23 -4
- package/src/scripts/check_cluster_patterns.ts +23 -4
- package/src/scripts/check_command_count_messaging.ts +23 -4
- package/src/scripts/check_comparison.ts +23 -1
- package/src/scripts/check_condensation.ts +24 -3
- package/src/scripts/check_condensed_paths.ts +23 -2
- package/src/scripts/check_context_paths.ts +23 -4
- package/src/scripts/check_council_config_location.ts +23 -4
- package/src/scripts/check_council_layout.ts +23 -4
- package/src/scripts/check_council_references.ts +23 -4
- package/src/scripts/check_discovery_determinism.ts +24 -4
- package/src/scripts/check_gate_paths.ts +23 -4
- package/src/scripts/check_generated_artefact_headers.ts +23 -4
- package/src/scripts/check_generator_output_coverage.ts +23 -4
- package/src/scripts/check_gitignore_freshness.ts +23 -4
- package/src/scripts/check_iron_law_prominence.ts +23 -4
- package/src/scripts/check_kernel_prefix_stability.ts +0 -0
- package/src/scripts/check_kernel_rule_bundle.ts +23 -4
- package/src/scripts/check_knowledge_cards.ts +23 -1
- package/src/scripts/check_md_language.ts +23 -4
- package/src/scripts/check_media_deps.ts +24 -1
- package/src/scripts/check_memory.ts +24 -2
- package/src/scripts/check_memory_proposal.ts +23 -4
- package/src/scripts/check_module_management_neutral.ts +23 -4
- package/src/scripts/check_no_conflict_markers.ts +23 -4
- package/src/scripts/check_no_external_sources.ts +23 -4
- package/src/scripts/check_no_local_settings_committed.ts +24 -4
- package/src/scripts/check_no_new_legacy_path.ts +23 -4
- package/src/scripts/check_no_roadmap_refs.ts +23 -4
- package/src/scripts/check_one_off_location.ts +23 -4
- package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
- package/src/scripts/check_portability.ts +24 -3
- package/src/scripts/check_proposal.ts +0 -0
- package/src/scripts/check_public_catalog_links.ts +23 -4
- package/src/scripts/check_public_links.ts +23 -4
- package/src/scripts/check_quality_regression.ts +23 -2
- package/src/scripts/check_references.ts +23 -4
- package/src/scripts/check_release_includes_discovery.ts +23 -4
- package/src/scripts/check_release_pr_shape.ts +23 -4
- package/src/scripts/check_release_published.ts +23 -4
- package/src/scripts/check_release_trunk_sync.ts +23 -4
- package/src/scripts/check_reply_consistency.ts +23 -4
- package/src/scripts/check_roadmap_trackable.ts +23 -4
- package/src/scripts/check_role_doc_links.ts +23 -4
- package/src/scripts/check_safety_floor_untouched.ts +24 -4
- package/src/scripts/check_site_links.ts +23 -1
- package/src/scripts/check_skill_gaps.ts +23 -1
- package/src/scripts/check_skill_requires.ts +23 -4
- package/src/scripts/check_structural_breaking.ts +24 -4
- package/src/scripts/check_surface_tiers.ts +23 -4
- package/src/scripts/check_template_pin_drift.ts +23 -4
- package/src/scripts/check_test_coverage_diff.ts +23 -4
- package/src/scripts/check_token_optimizer_freshness.ts +23 -4
- package/src/scripts/check_token_quality_golden.ts +23 -2
- package/src/scripts/check_token_regression.ts +23 -2
- package/src/scripts/check_tracked_but_ignored.ts +24 -4
- package/src/scripts/check_trigger_evals.ts +23 -4
- package/src/scripts/check_trunk_drift.ts +24 -1
- package/src/scripts/check_update_banner.ts +23 -4
- package/src/scripts/ci_summary.ts +23 -4
- package/src/scripts/ci_time_ratio.ts +23 -4
- package/src/scripts/cluster_near_miss_patterns.ts +0 -0
- package/src/scripts/compile_router.ts +23 -4
- package/src/scripts/condense.ts +23 -2
- package/src/scripts/condense_memory.ts +24 -2
- package/src/scripts/config/packs.ts +24 -4
- package/src/scripts/config/session_profiles.ts +23 -4
- package/src/scripts/context_hygiene_hook.ts +24 -3
- package/src/scripts/cost_by_conversation.ts +23 -4
- package/src/scripts/cost_summary.ts +23 -4
- package/src/scripts/council_cli.ts +35 -7
- package/src/scripts/council_prune.ts +25 -2
- package/src/scripts/cross_repo_retrieve.ts +23 -4
- package/src/scripts/discovery_stats.ts +23 -4
- package/src/scripts/evidence_report.ts +23 -1
- package/src/scripts/export_replay_corpus.ts +23 -2
- package/src/scripts/extract_audit_patterns.ts +23 -1
- package/src/scripts/first_run_gate_hook.ts +24 -3
- package/src/scripts/gen_discovery_baseline.ts +23 -4
- package/src/scripts/generate_capabilities_index.ts +24 -5
- package/src/scripts/generate_capability_matrix.ts +23 -4
- package/src/scripts/generate_catalog.ts +23 -1
- package/src/scripts/generate_command_flows.ts +23 -4
- package/src/scripts/generate_cookbook.ts +23 -4
- package/src/scripts/generate_index.ts +23 -4
- package/src/scripts/generate_ownership_matrix.ts +23 -1
- package/src/scripts/generate_pack_manifests.ts +24 -5
- package/src/scripts/generate_role_experiences_catalog.ts +23 -4
- package/src/scripts/hooks/block_no_verify.ts +23 -4
- package/src/scripts/hooks/design_slop_hook.ts +24 -3
- package/src/scripts/hooks/dispatch_hook.ts +47 -14
- package/src/scripts/hooks/replay_hook.ts +23 -2
- package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
- package/src/scripts/hooks_doctor.ts +23 -2
- package/src/scripts/hooks_status.ts +23 -2
- package/src/scripts/injection_scan_hook.ts +24 -5
- package/src/scripts/install.ts +72 -44
- package/src/scripts/inventory_abstraction_budget.ts +23 -1
- package/src/scripts/inventory_frontmatter.ts +23 -1
- package/src/scripts/inventory_meta_layers.ts +23 -1
- package/src/scripts/iron_law_sha.ts +23 -4
- package/src/scripts/janitor.ts +23 -4
- package/src/scripts/knowledge_global_cli.ts +24 -2
- package/src/scripts/linked_projects_list.ts +23 -4
- package/src/scripts/lint_agent_security.ts +23 -4
- package/src/scripts/lint_agent_skill_names.ts +23 -4
- package/src/scripts/lint_agents_layout.ts +23 -4
- package/src/scripts/lint_agents_md.ts +23 -4
- package/src/scripts/lint_archived_skills.ts +23 -4
- package/src/scripts/lint_artefact_frontmatter.ts +23 -4
- package/src/scripts/lint_bench_ab.ts +23 -4
- package/src/scripts/lint_bench_corpus.ts +23 -2
- package/src/scripts/lint_command_flow_coverage.ts +23 -4
- package/src/scripts/lint_command_routing.ts +23 -4
- package/src/scripts/lint_command_tiers.ts +23 -2
- package/src/scripts/lint_command_verbs.ts +23 -4
- package/src/scripts/lint_commit_subjects.ts +24 -4
- package/src/scripts/lint_confusables.ts +25 -5
- package/src/scripts/lint_context_spine_usage.ts +23 -4
- package/src/scripts/lint_discovery_manifest.ts +23 -4
- package/src/scripts/lint_discovery_vocabulary.ts +23 -4
- package/src/scripts/lint_empty_roadmaps.ts +23 -4
- package/src/scripts/lint_eval_freshness.ts +23 -4
- package/src/scripts/lint_examples.ts +23 -4
- package/src/scripts/lint_explain_trace.ts +23 -4
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_flows.ts +23 -4
- package/src/scripts/lint_framework_leakage.ts +23 -4
- package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
- package/src/scripts/lint_ghostwriter_source.ts +23 -4
- package/src/scripts/lint_global_paths.ts +23 -2
- package/src/scripts/lint_handoffs.ts +23 -4
- package/src/scripts/lint_hidden_unicode.ts +24 -5
- package/src/scripts/lint_hook_concern_budget.ts +23 -4
- package/src/scripts/lint_hook_manifest.ts +23 -2
- package/src/scripts/lint_instruction_smuggling.ts +25 -5
- package/src/scripts/lint_legal_pack.ts +23 -1
- package/src/scripts/lint_load_context.ts +23 -4
- package/src/scripts/lint_marketplace.ts +24 -3
- package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
- package/src/scripts/lint_mcp_config_security.ts +25 -5
- package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
- package/src/scripts/lint_media_policy_linkage.ts +23 -4
- package/src/scripts/lint_missions.ts +23 -4
- package/src/scripts/lint_model_tier_coverage.ts +23 -4
- package/src/scripts/lint_namespace.ts +23 -4
- package/src/scripts/lint_namespace_collisions.ts +23 -4
- package/src/scripts/lint_new_skill_gate.ts +23 -4
- package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
- package/src/scripts/lint_one_off_age.ts +23 -4
- package/src/scripts/lint_orchestration_dsl.ts +23 -4
- package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
- package/src/scripts/lint_pack_boundaries.ts +23 -4
- package/src/scripts/lint_pack_dependencies.ts +23 -2
- package/src/scripts/lint_pack_first_win.ts +23 -4
- package/src/scripts/lint_pack_risk_class.ts +23 -1
- package/src/scripts/lint_persona_governance.ts +23 -4
- package/src/scripts/lint_positioning.ts +23 -4
- package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
- package/src/scripts/lint_readme_jargon.ts +23 -4
- package/src/scripts/lint_readme_size.ts +23 -4
- package/src/scripts/lint_regression.ts +23 -4
- package/src/scripts/lint_roadmap_blockers.ts +23 -4
- package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
- package/src/scripts/lint_roadmap_complexity.ts +23 -4
- package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
- package/src/scripts/lint_role_experiences.ts +23 -4
- package/src/scripts/lint_rule_interactions.ts +23 -4
- package/src/scripts/lint_rule_tiers.ts +24 -3
- package/src/scripts/lint_showcase_sessions.ts +23 -4
- package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
- package/src/scripts/lint_skill_originality.ts +23 -4
- package/src/scripts/lint_skill_tools.ts +23 -4
- package/src/scripts/lint_subagent_determinism.ts +23 -4
- package/src/scripts/lint_ticket_buildable.ts +23 -4
- package/src/scripts/lint_topics_yaml.ts +23 -4
- package/src/scripts/lint_trust_coherence.ts +23 -4
- package/src/scripts/lint_value_dashboard.ts +23 -4
- package/src/scripts/lint_workflow_security.ts +23 -4
- package/src/scripts/lint_workspace_boundary.ts +23 -4
- package/src/scripts/mcp_parity_smoke.ts +23 -2
- package/src/scripts/mcp_render.ts +23 -4
- package/src/scripts/mcp_telemetry_health.ts +23 -4
- package/src/scripts/mcp_telemetry_query.ts +23 -4
- package/src/scripts/mcp_telemetry_store.ts +23 -4
- package/src/scripts/measure_augment_budget.ts +23 -1
- package/src/scripts/measure_density.ts +23 -1
- package/src/scripts/measure_frugality_savings.ts +23 -1
- package/src/scripts/measure_markitdown_lift.ts +23 -1
- package/src/scripts/measure_patterns.ts +23 -1
- package/src/scripts/measure_projection_bytes.ts +23 -1
- package/src/scripts/measure_rule_budget.ts +23 -4
- package/src/scripts/measure_skill_reduction.ts +23 -1
- package/src/scripts/memory_hash.ts +24 -2
- package/src/scripts/memory_lookup.ts +24 -2
- package/src/scripts/memory_report.ts +24 -2
- package/src/scripts/memory_signal.ts +24 -2
- package/src/scripts/memory_status.ts +26 -2
- package/src/scripts/migrate_command_suggestions.ts +23 -4
- package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
- package/src/scripts/migration_status.ts +25 -4
- package/src/scripts/mine_missing_guardrails.ts +23 -1
- package/src/scripts/mine_session.ts +23 -1
- package/src/scripts/minimal_safe_diff_hook.ts +24 -3
- package/src/scripts/new_skill.ts +23 -3
- package/src/scripts/onboarding_gate_hook.ts +24 -3
- package/src/scripts/parity/coverage_diff.ts +25 -3
- package/src/scripts/parity/phase_gate.ts +25 -4
- package/src/scripts/parity/replay.ts +25 -3
- package/src/scripts/pattern_share.ts +23 -4
- package/src/scripts/plan_physical_move.ts +23 -4
- package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
- package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
- package/src/scripts/prediction-pool/score_ev.ts +24 -3
- package/src/scripts/print_required_checks.ts +24 -4
- package/src/scripts/probe_host_compliance.ts +23 -2
- package/src/scripts/probe_projection_fidelity.ts +23 -1
- package/src/scripts/probe_skill_registration.ts +24 -2
- package/src/scripts/profile_staleness_hook.ts +24 -3
- package/src/scripts/profile_use.ts +23 -4
- package/src/scripts/project_thin_rules.ts +23 -3
- package/src/scripts/propose_modules_config.ts +23 -4
- package/src/scripts/prototype_lint_contradictions.ts +23 -1
- package/src/scripts/prove_pack_extractable.ts +23 -4
- package/src/scripts/readme_linter.ts +23 -3
- package/src/scripts/redact_hook_capture.ts +23 -4
- package/src/scripts/refine_ticket_detect.ts +23 -4
- package/src/scripts/release.ts +23 -4
- package/src/scripts/render_benchmark_composite.ts +23 -4
- package/src/scripts/render_benchmark_md.ts +23 -4
- package/src/scripts/roadmap_progress_hook.ts +46 -16
- package/src/scripts/run_skill_evals.ts +23 -4
- package/src/scripts/runtime_dispatcher.ts +23 -4
- package/src/scripts/runtime_registry.ts +23 -4
- package/src/scripts/score_skill_selection.ts +23 -1
- package/src/scripts/security_audit_config.ts +24 -5
- package/src/scripts/skill_collision_clusters.ts +23 -4
- package/src/scripts/skill_discovery.ts +23 -4
- package/src/scripts/skill_linter.ts +23 -2
- package/src/scripts/skill_preview.ts +23 -4
- package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
- package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
- package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
- package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
- package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
- package/src/scripts/skill_usage_collect.ts +23 -4
- package/src/scripts/smoke_path_resolution.ts +23 -4
- package/src/scripts/smoke_quickstart.ts +23 -4
- package/src/scripts/snapshot_agent_outputs.ts +23 -4
- package/src/scripts/spotcheck_thin_root.ts +23 -4
- package/src/scripts/sync_agent_settings.ts +23 -4
- package/src/scripts/sync_github_metadata.ts +23 -4
- package/src/scripts/sync_gitignore.ts +23 -4
- package/src/scripts/telegraph_stats.ts +23 -4
- package/src/scripts/tool_registry.ts +24 -4
- package/src/scripts/trigger_coverage.ts +23 -4
- package/src/scripts/update_counts.ts +23 -4
- package/src/scripts/update_prices.ts +23 -1
- package/src/scripts/validate_agent_settings.ts +23 -4
- package/src/scripts/validate_decision_engine.ts +23 -4
- package/src/scripts/validate_discovery_manifest.ts +23 -4
- package/src/scripts/validate_frontmatter.ts +23 -2
- package/src/scripts/validate_pack_yaml.ts +0 -0
- package/src/scripts/validate_safe_paths.ts +24 -4
- package/src/scripts/validate_telegraph_carveouts.ts +23 -4
- package/src/scripts/verify_before_complete_hook.ts +24 -3
- package/src/scripts/verify_physical_move.ts +23 -4
- package/src/scripts/wrapper_freshness_hook.ts +107 -8
- package/tests/fixtures/hooks/README.md +92 -0
- package/tests/fixtures/hooks/agent_error.json +7 -0
- package/tests/fixtures/hooks/post_tool_use.json +13 -0
- package/tests/fixtures/hooks/pre_compact.json +7 -0
- package/tests/fixtures/hooks/pre_tool_use.json +9 -0
- package/tests/fixtures/hooks/session_end.json +6 -0
- package/tests/fixtures/hooks/session_start.json +6 -0
- package/tests/fixtures/hooks/stop.json +6 -0
- package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
|
@@ -364,10 +364,29 @@ function main(argv?: readonly string[]): number {
|
|
|
364
364
|
return 0;
|
|
365
365
|
}
|
|
366
366
|
|
|
367
|
-
|
|
368
|
-
process.argv[1]
|
|
369
|
-
|
|
370
|
-
|
|
367
|
+
function _isCliEntry(): boolean {
|
|
368
|
+
if (process.argv[1] === undefined) {
|
|
369
|
+
return false;
|
|
370
|
+
}
|
|
371
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
372
|
+
if (import.meta.url === argvUrl) {
|
|
373
|
+
return true;
|
|
374
|
+
}
|
|
375
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
376
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
377
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
378
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
379
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
380
|
+
try {
|
|
381
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
382
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
383
|
+
return here === argv;
|
|
384
|
+
} catch {
|
|
385
|
+
return false;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
371
390
|
try {
|
|
372
391
|
process.exit(main());
|
|
373
392
|
} catch (e) {
|
|
Binary file
|
|
@@ -691,10 +691,29 @@ function _usageError(arg: string): string {
|
|
|
691
691
|
);
|
|
692
692
|
}
|
|
693
693
|
|
|
694
|
-
|
|
695
|
-
process.argv[1]
|
|
696
|
-
|
|
697
|
-
|
|
694
|
+
function _isCliEntry(): boolean {
|
|
695
|
+
if (process.argv[1] === undefined) {
|
|
696
|
+
return false;
|
|
697
|
+
}
|
|
698
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
699
|
+
if (import.meta.url === argvUrl) {
|
|
700
|
+
return true;
|
|
701
|
+
}
|
|
702
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
703
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
704
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
705
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
706
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
707
|
+
try {
|
|
708
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
709
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
710
|
+
return here === argv;
|
|
711
|
+
} catch {
|
|
712
|
+
return false;
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
698
717
|
process.exit(main());
|
|
699
718
|
}
|
|
700
719
|
|
|
@@ -489,9 +489,28 @@ export function main(argv?: readonly string[]): number {
|
|
|
489
489
|
}
|
|
490
490
|
|
|
491
491
|
const _HERE = fileURLToPath(import.meta.url);
|
|
492
|
-
|
|
493
|
-
process.argv[1]
|
|
494
|
-
|
|
495
|
-
|
|
492
|
+
function _isCliEntry(): boolean {
|
|
493
|
+
if (process.argv[1] === undefined) {
|
|
494
|
+
return false;
|
|
495
|
+
}
|
|
496
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
497
|
+
if (import.meta.url === argvUrl) {
|
|
498
|
+
return true;
|
|
499
|
+
}
|
|
500
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
501
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
502
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
503
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
504
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
505
|
+
try {
|
|
506
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
507
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
508
|
+
return here === argv;
|
|
509
|
+
} catch {
|
|
510
|
+
return false;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
496
515
|
process.exit(main());
|
|
497
516
|
}
|
|
@@ -337,10 +337,29 @@ function _parse_args(argv: readonly string[]): boolean {
|
|
|
337
337
|
return quiet;
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
-
|
|
341
|
-
process.argv[1]
|
|
342
|
-
|
|
343
|
-
|
|
340
|
+
function _isCliEntry(): boolean {
|
|
341
|
+
if (process.argv[1] === undefined) {
|
|
342
|
+
return false;
|
|
343
|
+
}
|
|
344
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
345
|
+
if (import.meta.url === argvUrl) {
|
|
346
|
+
return true;
|
|
347
|
+
}
|
|
348
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
349
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
350
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
351
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
352
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
353
|
+
try {
|
|
354
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
355
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
356
|
+
return here === argv;
|
|
357
|
+
} catch {
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
344
363
|
process.exit(main(process.argv.slice(2)));
|
|
345
364
|
}
|
|
346
365
|
|
|
@@ -364,10 +364,29 @@ function _pyListRepr(items: readonly string[]): string {
|
|
|
364
364
|
return `[${items.map((i) => _pyRepr(i)).join(', ')}]`;
|
|
365
365
|
}
|
|
366
366
|
|
|
367
|
-
|
|
368
|
-
process.argv[1]
|
|
369
|
-
|
|
370
|
-
|
|
367
|
+
function _isCliEntry(): boolean {
|
|
368
|
+
if (process.argv[1] === undefined) {
|
|
369
|
+
return false;
|
|
370
|
+
}
|
|
371
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
372
|
+
if (import.meta.url === argvUrl) {
|
|
373
|
+
return true;
|
|
374
|
+
}
|
|
375
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
376
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
377
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
378
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
379
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
380
|
+
try {
|
|
381
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
382
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
383
|
+
return here === argv;
|
|
384
|
+
} catch {
|
|
385
|
+
return false;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
371
390
|
process.exit(main());
|
|
372
391
|
}
|
|
373
392
|
|
|
@@ -412,9 +412,30 @@ export function main(argv: string[]): number {
|
|
|
412
412
|
return lint(policy, quiet);
|
|
413
413
|
}
|
|
414
414
|
|
|
415
|
+
function _isCliEntry(): boolean {
|
|
416
|
+
if (process.argv[1] === undefined) {
|
|
417
|
+
return false;
|
|
418
|
+
}
|
|
419
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
420
|
+
if (import.meta.url === argvUrl) {
|
|
421
|
+
return true;
|
|
422
|
+
}
|
|
423
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
424
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
425
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
426
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
427
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
428
|
+
try {
|
|
429
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
430
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
431
|
+
return here === argv;
|
|
432
|
+
} catch {
|
|
433
|
+
return false;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
415
437
|
const isCliEntry =
|
|
416
|
-
|
|
417
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
438
|
+
_isCliEntry();
|
|
418
439
|
if (isCliEntry) {
|
|
419
440
|
process.exit(main(process.argv.slice(2)));
|
|
420
441
|
}
|
|
@@ -343,10 +343,29 @@ export function main(argv?: readonly string[]): number {
|
|
|
343
343
|
return 1;
|
|
344
344
|
}
|
|
345
345
|
|
|
346
|
-
|
|
347
|
-
process.argv[1]
|
|
348
|
-
|
|
349
|
-
|
|
346
|
+
function _isCliEntry(): boolean {
|
|
347
|
+
if (process.argv[1] === undefined) {
|
|
348
|
+
return false;
|
|
349
|
+
}
|
|
350
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
351
|
+
if (import.meta.url === argvUrl) {
|
|
352
|
+
return true;
|
|
353
|
+
}
|
|
354
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
355
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
356
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
357
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
358
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
359
|
+
try {
|
|
360
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
361
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
362
|
+
return here === argv;
|
|
363
|
+
} catch {
|
|
364
|
+
return false;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
350
369
|
process.exit(main());
|
|
351
370
|
}
|
|
352
371
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
import * as fs from 'node:fs';
|
|
32
32
|
import * as path from 'node:path';
|
|
33
|
-
import { pathToFileURL } from 'node:url';
|
|
33
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
34
34
|
|
|
35
35
|
import * as sl from './_lib/security_lint.js';
|
|
36
36
|
|
|
@@ -342,9 +342,28 @@ export function main(argv: readonly string[] | null = null): number {
|
|
|
342
342
|
return sl.report(findings, { check_label: 'hidden-unicode' });
|
|
343
343
|
}
|
|
344
344
|
|
|
345
|
-
|
|
346
|
-
process.argv[1]
|
|
347
|
-
|
|
348
|
-
|
|
345
|
+
function _isCliEntry(): boolean {
|
|
346
|
+
if (process.argv[1] === undefined) {
|
|
347
|
+
return false;
|
|
348
|
+
}
|
|
349
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
350
|
+
if (import.meta.url === argvUrl) {
|
|
351
|
+
return true;
|
|
352
|
+
}
|
|
353
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
354
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
355
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
356
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
357
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
358
|
+
try {
|
|
359
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
360
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
361
|
+
return here === argv;
|
|
362
|
+
} catch {
|
|
363
|
+
return false;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
if (_isCliEntry()) {
|
|
349
368
|
process.exitCode = main();
|
|
350
369
|
}
|
|
@@ -300,10 +300,29 @@ export function main(argv?: readonly string[]): number {
|
|
|
300
300
|
return lint(args.manifest, args.settings, { strict: args.strict });
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
|
|
304
|
-
process.argv[1]
|
|
305
|
-
|
|
306
|
-
|
|
303
|
+
function _isCliEntry(): boolean {
|
|
304
|
+
if (process.argv[1] === undefined) {
|
|
305
|
+
return false;
|
|
306
|
+
}
|
|
307
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
308
|
+
if (import.meta.url === argvUrl) {
|
|
309
|
+
return true;
|
|
310
|
+
}
|
|
311
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
312
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
313
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
314
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
315
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
316
|
+
try {
|
|
317
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
318
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
319
|
+
return here === argv;
|
|
320
|
+
} catch {
|
|
321
|
+
return false;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
307
326
|
process.exit(main());
|
|
308
327
|
}
|
|
309
328
|
|
|
@@ -346,9 +346,30 @@ export function main(argv: string[]): number {
|
|
|
346
346
|
return lint(manifest, strict);
|
|
347
347
|
}
|
|
348
348
|
|
|
349
|
+
function _isCliEntry(): boolean {
|
|
350
|
+
if (process.argv[1] === undefined) {
|
|
351
|
+
return false;
|
|
352
|
+
}
|
|
353
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
354
|
+
if (import.meta.url === argvUrl) {
|
|
355
|
+
return true;
|
|
356
|
+
}
|
|
357
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
358
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
359
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
360
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
361
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
362
|
+
try {
|
|
363
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
364
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
365
|
+
return here === argv;
|
|
366
|
+
} catch {
|
|
367
|
+
return false;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
349
371
|
const isCliEntry =
|
|
350
|
-
|
|
351
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
372
|
+
_isCliEntry();
|
|
352
373
|
if (isCliEntry) {
|
|
353
374
|
process.exit(main(process.argv.slice(2)));
|
|
354
375
|
}
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
// Usage: ./scripts-run src/scripts/lint_instruction_smuggling [--json]
|
|
25
25
|
|
|
26
26
|
import * as path from 'node:path';
|
|
27
|
-
import
|
|
27
|
+
import * as fs from 'node:fs';
|
|
28
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
28
29
|
|
|
29
30
|
import * as sl from './_lib/security_lint.js';
|
|
30
31
|
|
|
@@ -165,9 +166,28 @@ export function main(argv: readonly string[] | null = null): number {
|
|
|
165
166
|
return sl.report(findings, { check_label: 'instruction-smuggling' });
|
|
166
167
|
}
|
|
167
168
|
|
|
168
|
-
|
|
169
|
-
process.argv[1]
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
function _isCliEntry(): boolean {
|
|
170
|
+
if (process.argv[1] === undefined) {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
174
|
+
if (import.meta.url === argvUrl) {
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
178
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
179
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
180
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
181
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
182
|
+
try {
|
|
183
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
184
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
185
|
+
return here === argv;
|
|
186
|
+
} catch {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
if (_isCliEntry()) {
|
|
172
192
|
process.exitCode = main();
|
|
173
193
|
}
|
|
@@ -259,6 +259,28 @@ export function main(): number {
|
|
|
259
259
|
return 1;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
|
|
262
|
+
function _isCliEntry(): boolean {
|
|
263
|
+
if (process.argv[1] === undefined) {
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
267
|
+
if (import.meta.url === argvUrl) {
|
|
268
|
+
return true;
|
|
269
|
+
}
|
|
270
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
271
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
272
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
273
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
274
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
275
|
+
try {
|
|
276
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
277
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
278
|
+
return here === argv;
|
|
279
|
+
} catch {
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
if (_isCliEntry()) {
|
|
263
285
|
process.exit(main());
|
|
264
286
|
}
|
|
@@ -346,10 +346,29 @@ function _pyReprValue(v: unknown): string {
|
|
|
346
346
|
return String(v);
|
|
347
347
|
}
|
|
348
348
|
|
|
349
|
-
|
|
350
|
-
process.argv[1]
|
|
351
|
-
|
|
352
|
-
|
|
349
|
+
function _isCliEntry(): boolean {
|
|
350
|
+
if (process.argv[1] === undefined) {
|
|
351
|
+
return false;
|
|
352
|
+
}
|
|
353
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
354
|
+
if (import.meta.url === argvUrl) {
|
|
355
|
+
return true;
|
|
356
|
+
}
|
|
357
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
358
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
359
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
360
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
361
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
362
|
+
try {
|
|
363
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
364
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
365
|
+
return here === argv;
|
|
366
|
+
} catch {
|
|
367
|
+
return false;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
353
372
|
process.exit(main());
|
|
354
373
|
}
|
|
355
374
|
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import fs from "node:fs";
|
|
23
23
|
import path from "node:path";
|
|
24
|
-
import { pathToFileURL } from "node:url";
|
|
24
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
25
25
|
|
|
26
26
|
const ROOT = ".";
|
|
27
27
|
const MARKETPLACE = path.join(ROOT, ".claude-plugin", "marketplace.json");
|
|
@@ -272,9 +272,30 @@ function relPosix(child: string, base: string): string {
|
|
|
272
272
|
return path.relative(base, child).split(path.sep).join("/");
|
|
273
273
|
}
|
|
274
274
|
|
|
275
|
+
function _isCliEntry(): boolean {
|
|
276
|
+
if (process.argv[1] === undefined) {
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
280
|
+
if (import.meta.url === argvUrl) {
|
|
281
|
+
return true;
|
|
282
|
+
}
|
|
283
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
284
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
285
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
286
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
287
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
288
|
+
try {
|
|
289
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
290
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
291
|
+
return here === argv;
|
|
292
|
+
} catch {
|
|
293
|
+
return false;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
|
|
275
297
|
const isCliEntry =
|
|
276
|
-
|
|
277
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
298
|
+
_isCliEntry();
|
|
278
299
|
if (isCliEntry) {
|
|
279
300
|
try {
|
|
280
301
|
process.exit(main());
|
|
@@ -288,10 +288,29 @@ function main(argv?: readonly string[]): number {
|
|
|
288
288
|
}
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
-
|
|
292
|
-
process.argv[1]
|
|
293
|
-
|
|
294
|
-
|
|
291
|
+
function _isCliEntry(): boolean {
|
|
292
|
+
if (process.argv[1] === undefined) {
|
|
293
|
+
return false;
|
|
294
|
+
}
|
|
295
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
296
|
+
if (import.meta.url === argvUrl) {
|
|
297
|
+
return true;
|
|
298
|
+
}
|
|
299
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
300
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
301
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
302
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
303
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
304
|
+
try {
|
|
305
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
306
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
307
|
+
return here === argv;
|
|
308
|
+
} catch {
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
295
314
|
process.exit(main());
|
|
296
315
|
}
|
|
297
316
|
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
// Usage: ./scripts-run src/scripts/lint_mcp_config_security [--json]
|
|
21
21
|
|
|
22
22
|
import * as path from 'node:path';
|
|
23
|
-
import
|
|
23
|
+
import * as fs from 'node:fs';
|
|
24
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
24
25
|
|
|
25
26
|
import * as sl from './_lib/security_lint.js';
|
|
26
27
|
|
|
@@ -217,9 +218,28 @@ export function main(argv: readonly string[] | null = null): number {
|
|
|
217
218
|
return sl.report(findings, { check_label: 'mcp-config-security' });
|
|
218
219
|
}
|
|
219
220
|
|
|
220
|
-
|
|
221
|
-
process.argv[1]
|
|
222
|
-
|
|
223
|
-
|
|
221
|
+
function _isCliEntry(): boolean {
|
|
222
|
+
if (process.argv[1] === undefined) {
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
226
|
+
if (import.meta.url === argvUrl) {
|
|
227
|
+
return true;
|
|
228
|
+
}
|
|
229
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
230
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
231
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
232
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
233
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
234
|
+
try {
|
|
235
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
236
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
237
|
+
return here === argv;
|
|
238
|
+
} catch {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
if (_isCliEntry()) {
|
|
224
244
|
process.exitCode = main();
|
|
225
245
|
}
|
|
@@ -332,10 +332,29 @@ function main(argv: readonly string[]): number {
|
|
|
332
332
|
return 0;
|
|
333
333
|
}
|
|
334
334
|
|
|
335
|
-
|
|
336
|
-
process.argv[1]
|
|
337
|
-
|
|
338
|
-
|
|
335
|
+
function _isCliEntry(): boolean {
|
|
336
|
+
if (process.argv[1] === undefined) {
|
|
337
|
+
return false;
|
|
338
|
+
}
|
|
339
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
340
|
+
if (import.meta.url === argvUrl) {
|
|
341
|
+
return true;
|
|
342
|
+
}
|
|
343
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
344
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
345
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
346
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
347
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
348
|
+
try {
|
|
349
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
350
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
351
|
+
return here === argv;
|
|
352
|
+
} catch {
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
339
358
|
process.exit(main(process.argv.slice(2)));
|
|
340
359
|
}
|
|
341
360
|
|
|
@@ -214,10 +214,29 @@ function main(): number {
|
|
|
214
214
|
return 0;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
|
|
218
|
-
process.argv[1]
|
|
219
|
-
|
|
220
|
-
|
|
217
|
+
function _isCliEntry(): boolean {
|
|
218
|
+
if (process.argv[1] === undefined) {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
222
|
+
if (import.meta.url === argvUrl) {
|
|
223
|
+
return true;
|
|
224
|
+
}
|
|
225
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
226
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
227
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
228
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
229
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
230
|
+
try {
|
|
231
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
232
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
233
|
+
return here === argv;
|
|
234
|
+
} catch {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
221
240
|
process.exit(main());
|
|
222
241
|
}
|
|
223
242
|
|