@event4u/agent-config 8.0.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 +53 -568
- 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/commit-policy.md +10 -0
- 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 +119 -119
- 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.0.0.md +301 -0
- 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
|
@@ -191,10 +191,29 @@ function main(): number {
|
|
|
191
191
|
return 0;
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
-
|
|
195
|
-
process.argv[1]
|
|
196
|
-
|
|
197
|
-
|
|
194
|
+
function _isCliEntry(): boolean {
|
|
195
|
+
if (process.argv[1] === undefined) {
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
199
|
+
if (import.meta.url === argvUrl) {
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
203
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
204
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
205
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
206
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
207
|
+
try {
|
|
208
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
209
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
210
|
+
return here === argv;
|
|
211
|
+
} catch {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
198
217
|
process.exit(main());
|
|
199
218
|
}
|
|
200
219
|
|
|
@@ -227,10 +227,29 @@ function main(): number {
|
|
|
227
227
|
return 0;
|
|
228
228
|
}
|
|
229
229
|
|
|
230
|
-
|
|
231
|
-
process.argv[1]
|
|
232
|
-
|
|
233
|
-
|
|
230
|
+
function _isCliEntry(): boolean {
|
|
231
|
+
if (process.argv[1] === undefined) {
|
|
232
|
+
return false;
|
|
233
|
+
}
|
|
234
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
235
|
+
if (import.meta.url === argvUrl) {
|
|
236
|
+
return true;
|
|
237
|
+
}
|
|
238
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
239
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
240
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
241
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
242
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
243
|
+
try {
|
|
244
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
245
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
246
|
+
return here === argv;
|
|
247
|
+
} catch {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
234
253
|
process.exit(main());
|
|
235
254
|
}
|
|
236
255
|
|
|
@@ -353,10 +353,29 @@ function _relPosix(target: string, root: string): string {
|
|
|
353
353
|
return path.relative(root, target).split(path.sep).join('/');
|
|
354
354
|
}
|
|
355
355
|
|
|
356
|
-
|
|
357
|
-
process.argv[1]
|
|
358
|
-
|
|
359
|
-
|
|
356
|
+
function _isCliEntry(): boolean {
|
|
357
|
+
if (process.argv[1] === undefined) {
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
361
|
+
if (import.meta.url === argvUrl) {
|
|
362
|
+
return true;
|
|
363
|
+
}
|
|
364
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
365
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
366
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
367
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
368
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
369
|
+
try {
|
|
370
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
371
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
372
|
+
return here === argv;
|
|
373
|
+
} catch {
|
|
374
|
+
return false;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
360
379
|
process.exit(main());
|
|
361
380
|
}
|
|
362
381
|
|
|
@@ -334,10 +334,29 @@ function main(argv?: readonly string[]): number {
|
|
|
334
334
|
return violations.length ? 1 : 0;
|
|
335
335
|
}
|
|
336
336
|
|
|
337
|
-
|
|
338
|
-
process.argv[1]
|
|
339
|
-
|
|
340
|
-
|
|
337
|
+
function _isCliEntry(): boolean {
|
|
338
|
+
if (process.argv[1] === undefined) {
|
|
339
|
+
return false;
|
|
340
|
+
}
|
|
341
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
342
|
+
if (import.meta.url === argvUrl) {
|
|
343
|
+
return true;
|
|
344
|
+
}
|
|
345
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
346
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
347
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
348
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
349
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
350
|
+
try {
|
|
351
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
352
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
353
|
+
return here === argv;
|
|
354
|
+
} catch {
|
|
355
|
+
return false;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
341
360
|
process.exitCode = main();
|
|
342
361
|
}
|
|
343
362
|
|
|
@@ -386,10 +386,29 @@ function _pyRepr(value: unknown): string {
|
|
|
386
386
|
return String(value);
|
|
387
387
|
}
|
|
388
388
|
|
|
389
|
-
|
|
390
|
-
process.argv[1]
|
|
391
|
-
|
|
392
|
-
|
|
389
|
+
function _isCliEntry(): boolean {
|
|
390
|
+
if (process.argv[1] === undefined) {
|
|
391
|
+
return false;
|
|
392
|
+
}
|
|
393
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
394
|
+
if (import.meta.url === argvUrl) {
|
|
395
|
+
return true;
|
|
396
|
+
}
|
|
397
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
398
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
399
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
400
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
401
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
402
|
+
try {
|
|
403
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
404
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
405
|
+
return here === argv;
|
|
406
|
+
} catch {
|
|
407
|
+
return false;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
393
412
|
process.exit(main());
|
|
394
413
|
}
|
|
395
414
|
|
|
@@ -271,10 +271,29 @@ export function main(): number {
|
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
-
|
|
275
|
-
process.argv[1]
|
|
276
|
-
|
|
277
|
-
|
|
274
|
+
function _isCliEntry(): boolean {
|
|
275
|
+
if (process.argv[1] === undefined) {
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
279
|
+
if (import.meta.url === argvUrl) {
|
|
280
|
+
return true;
|
|
281
|
+
}
|
|
282
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
283
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
284
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
285
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
286
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
287
|
+
try {
|
|
288
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
289
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
290
|
+
return here === argv;
|
|
291
|
+
} catch {
|
|
292
|
+
return false;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
278
297
|
process.exit(main());
|
|
279
298
|
}
|
|
280
299
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import fs from "node:fs";
|
|
19
19
|
import path from "node:path";
|
|
20
|
-
import { pathToFileURL } from "node:url";
|
|
20
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
21
21
|
import { artefact_roots } from "./_lib/agent_src.js";
|
|
22
22
|
|
|
23
23
|
const QUIET = process.argv.includes("--quiet");
|
|
@@ -161,9 +161,30 @@ function pyRepr(items: string[]): string {
|
|
|
161
161
|
return `[${items.map((s) => `'${s}'`).join(", ")}]`;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
+
function _isCliEntry(): boolean {
|
|
165
|
+
if (process.argv[1] === undefined) {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
169
|
+
if (import.meta.url === argvUrl) {
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
173
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
174
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
175
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
176
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
177
|
+
try {
|
|
178
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
179
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
180
|
+
return here === argv;
|
|
181
|
+
} catch {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
164
186
|
const isCliEntry =
|
|
165
|
-
|
|
166
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
187
|
+
_isCliEntry();
|
|
167
188
|
if (isCliEntry) {
|
|
168
189
|
process.exit(main());
|
|
169
190
|
}
|
|
@@ -237,10 +237,29 @@ function main(): number {
|
|
|
237
237
|
return 0;
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
|
|
241
|
-
process.argv[1]
|
|
242
|
-
|
|
243
|
-
|
|
240
|
+
function _isCliEntry(): boolean {
|
|
241
|
+
if (process.argv[1] === undefined) {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
245
|
+
if (import.meta.url === argvUrl) {
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
249
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
250
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
251
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
252
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
253
|
+
try {
|
|
254
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
255
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
256
|
+
return here === argv;
|
|
257
|
+
} catch {
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
244
263
|
process.exit(main());
|
|
245
264
|
}
|
|
246
265
|
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
// Usage: ./scripts-run src/scripts/lint_skill_frontmatter_safety [--json]
|
|
24
24
|
|
|
25
25
|
import * as path from 'node:path';
|
|
26
|
-
import
|
|
26
|
+
import * as fs from 'node:fs';
|
|
27
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
27
28
|
|
|
28
29
|
import * as sl from './_lib/security_lint.js';
|
|
29
30
|
|
|
@@ -271,9 +272,28 @@ export function main(argv: readonly string[] | null = null): number {
|
|
|
271
272
|
return sl.report(findings, { check_label: 'dangerous-frontmatter' });
|
|
272
273
|
}
|
|
273
274
|
|
|
274
|
-
|
|
275
|
-
process.argv[1]
|
|
276
|
-
|
|
277
|
-
|
|
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
|
+
|
|
297
|
+
if (_isCliEntry()) {
|
|
278
298
|
process.exitCode = main();
|
|
279
299
|
}
|
|
@@ -555,10 +555,29 @@ function _isFile(p: string): boolean {
|
|
|
555
555
|
}
|
|
556
556
|
}
|
|
557
557
|
|
|
558
|
-
|
|
559
|
-
process.argv[1]
|
|
560
|
-
|
|
561
|
-
|
|
558
|
+
function _isCliEntry(): boolean {
|
|
559
|
+
if (process.argv[1] === undefined) {
|
|
560
|
+
return false;
|
|
561
|
+
}
|
|
562
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
563
|
+
if (import.meta.url === argvUrl) {
|
|
564
|
+
return true;
|
|
565
|
+
}
|
|
566
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
567
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
568
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
569
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
570
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
571
|
+
try {
|
|
572
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
573
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
574
|
+
return here === argv;
|
|
575
|
+
} catch {
|
|
576
|
+
return false;
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
562
581
|
try {
|
|
563
582
|
process.exit(main());
|
|
564
583
|
} catch (exc) {
|
|
@@ -301,10 +301,29 @@ function main(argv?: readonly string[]): number {
|
|
|
301
301
|
return code;
|
|
302
302
|
}
|
|
303
303
|
|
|
304
|
-
|
|
305
|
-
process.argv[1]
|
|
306
|
-
|
|
307
|
-
|
|
304
|
+
function _isCliEntry(): boolean {
|
|
305
|
+
if (process.argv[1] === undefined) {
|
|
306
|
+
return false;
|
|
307
|
+
}
|
|
308
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
309
|
+
if (import.meta.url === argvUrl) {
|
|
310
|
+
return true;
|
|
311
|
+
}
|
|
312
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
313
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
314
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
315
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
316
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
317
|
+
try {
|
|
318
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
319
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
320
|
+
return here === argv;
|
|
321
|
+
} catch {
|
|
322
|
+
return false;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
308
327
|
process.exit(main());
|
|
309
328
|
}
|
|
310
329
|
|
|
@@ -115,10 +115,29 @@ function main(dir: string = SUBAGENT_DIR): number {
|
|
|
115
115
|
return 0;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
process.argv[1]
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
function _isCliEntry(): boolean {
|
|
119
|
+
if (process.argv[1] === undefined) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
123
|
+
if (import.meta.url === argvUrl) {
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
127
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
128
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
129
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
130
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
131
|
+
try {
|
|
132
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
133
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
134
|
+
return here === argv;
|
|
135
|
+
} catch {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if (_isCliEntry()) {
|
|
122
141
|
process.exit(main());
|
|
123
142
|
}
|
|
124
143
|
|
|
@@ -1001,10 +1001,29 @@ function _setDifference(a: Set<string>, b: Set<string>): string[] {
|
|
|
1001
1001
|
return out;
|
|
1002
1002
|
}
|
|
1003
1003
|
|
|
1004
|
-
|
|
1005
|
-
process.argv[1]
|
|
1006
|
-
|
|
1007
|
-
|
|
1004
|
+
function _isCliEntry(): boolean {
|
|
1005
|
+
if (process.argv[1] === undefined) {
|
|
1006
|
+
return false;
|
|
1007
|
+
}
|
|
1008
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
1009
|
+
if (import.meta.url === argvUrl) {
|
|
1010
|
+
return true;
|
|
1011
|
+
}
|
|
1012
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
1013
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
1014
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
1015
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
1016
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
1017
|
+
try {
|
|
1018
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
1019
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
1020
|
+
return here === argv;
|
|
1021
|
+
} catch {
|
|
1022
|
+
return false;
|
|
1023
|
+
}
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
1008
1027
|
process.exitCode = lint();
|
|
1009
1028
|
}
|
|
1010
1029
|
|
|
@@ -193,10 +193,29 @@ function main(): number {
|
|
|
193
193
|
return 0;
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
|
|
197
|
-
process.argv[1]
|
|
198
|
-
|
|
199
|
-
|
|
196
|
+
function _isCliEntry(): boolean {
|
|
197
|
+
if (process.argv[1] === undefined) {
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
201
|
+
if (import.meta.url === argvUrl) {
|
|
202
|
+
return true;
|
|
203
|
+
}
|
|
204
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
205
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
206
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
207
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
208
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
209
|
+
try {
|
|
210
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
211
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
212
|
+
return here === argv;
|
|
213
|
+
} catch {
|
|
214
|
+
return false;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
200
219
|
process.exit(main());
|
|
201
220
|
}
|
|
202
221
|
|
|
@@ -352,10 +352,29 @@ function main(argv: readonly string[] = []): number {
|
|
|
352
352
|
return 0;
|
|
353
353
|
}
|
|
354
354
|
|
|
355
|
-
|
|
356
|
-
process.argv[1]
|
|
357
|
-
|
|
358
|
-
|
|
355
|
+
function _isCliEntry(): boolean {
|
|
356
|
+
if (process.argv[1] === undefined) {
|
|
357
|
+
return false;
|
|
358
|
+
}
|
|
359
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
360
|
+
if (import.meta.url === argvUrl) {
|
|
361
|
+
return true;
|
|
362
|
+
}
|
|
363
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
364
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
365
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
366
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
367
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
368
|
+
try {
|
|
369
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
370
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
371
|
+
return here === argv;
|
|
372
|
+
} catch {
|
|
373
|
+
return false;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
359
378
|
try {
|
|
360
379
|
process.exit(main(process.argv.slice(2)));
|
|
361
380
|
} catch (e) {
|
|
@@ -290,10 +290,29 @@ function main(argv?: readonly string[]): number {
|
|
|
290
290
|
return lint(args);
|
|
291
291
|
}
|
|
292
292
|
|
|
293
|
-
|
|
294
|
-
process.argv[1]
|
|
295
|
-
|
|
296
|
-
|
|
293
|
+
function _isCliEntry(): boolean {
|
|
294
|
+
if (process.argv[1] === undefined) {
|
|
295
|
+
return false;
|
|
296
|
+
}
|
|
297
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
298
|
+
if (import.meta.url === argvUrl) {
|
|
299
|
+
return true;
|
|
300
|
+
}
|
|
301
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
302
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
303
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
304
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
305
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
306
|
+
try {
|
|
307
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
308
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
309
|
+
return here === argv;
|
|
310
|
+
} catch {
|
|
311
|
+
return false;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
297
316
|
process.exit(main());
|
|
298
317
|
}
|
|
299
318
|
|
|
@@ -610,10 +610,29 @@ export function main(argv?: string[]): number {
|
|
|
610
610
|
return 0;
|
|
611
611
|
}
|
|
612
612
|
|
|
613
|
-
|
|
614
|
-
process.argv[1]
|
|
615
|
-
|
|
616
|
-
|
|
613
|
+
function _isCliEntry(): boolean {
|
|
614
|
+
if (process.argv[1] === undefined) {
|
|
615
|
+
return false;
|
|
616
|
+
}
|
|
617
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
618
|
+
if (import.meta.url === argvUrl) {
|
|
619
|
+
return true;
|
|
620
|
+
}
|
|
621
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
622
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
623
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
624
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
625
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
626
|
+
try {
|
|
627
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
628
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
629
|
+
return here === argv;
|
|
630
|
+
} catch {
|
|
631
|
+
return false;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
617
636
|
process.exitCode = main();
|
|
618
637
|
}
|
|
619
638
|
|
|
@@ -229,10 +229,29 @@ function main(argv: readonly string[]): number {
|
|
|
229
229
|
return 0;
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
|
|
233
|
-
process.argv[1]
|
|
234
|
-
|
|
235
|
-
|
|
232
|
+
function _isCliEntry(): boolean {
|
|
233
|
+
if (process.argv[1] === undefined) {
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
236
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
237
|
+
if (import.meta.url === argvUrl) {
|
|
238
|
+
return true;
|
|
239
|
+
}
|
|
240
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
241
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
242
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
243
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
244
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
245
|
+
try {
|
|
246
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
247
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
248
|
+
return here === argv;
|
|
249
|
+
} catch {
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
236
255
|
process.exitCode = main(process.argv.slice(2));
|
|
237
256
|
}
|
|
238
257
|
|