npm JavaScript analyzed 5.7.18

@planu/cli

v5.7.18
npm

Planu — MCP Server for Spec Driven Development. Cross-platform (Linux/macOS/Windows, x64/arm64).

maintainer
planudev
license
SEE LICENSE IN LICENSE
first seen
2026-05-22
last seen
2026-09-04
releases · 30d
91
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 178 tools
transport stdio · streamable-http · http · sse counts 178 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • activate_group
  • agent_run_history
  • analyze_spec_dependencies
  • approval_status
  • approve_spec
  • architecture_lint
  • assess_merge_risk
  • assign_role
  • audit
  • audit_claude_config
  • audit_log_export
  • audit_schema_type_parity
  • audit_specs_drift
  • audit_trail
  • bump_spec_version
  • challenge_spec
  • check_compliance
  • check_config_health
  • check_readiness
  • check_spec_accuracy
  • check_update_status
  • check_versions
  • compliance_coverage_report
  • compliance_gap_analysis
  • compliance_gate_status
  • compliance_score_report
  • config_health
  • configure_approval_policy
  • configure_compliance
  • configure_compliance_gate
  • configure_deploy_target
  • configure_memory
  • configure_oauth
  • configure_roles
  • configure_squad
  • configure_tdd_policy
  • configure_webhook
  • configure_workers
  • consult_docs
  • context_budget
  • coverage_gap_analyzer
  • create_skill
  • create_spec
  • data_governance
  • data_retention_policy
  • define_spec_lint_rule
  • define_ui_contract
  • delete_spec_lint_rule
  • deploy_spec
  • deploy_status
  • design_schema
  • detect_agent
  • detect_drift
  • discover_docs_url
  • discover_mcps
  • discover_registry
  • ears_lint
  • ecosystem_status
  • enable_auto_update
  • estimate
  • eval_rule
  • eval_skill
  • export_audit_trail
  • expose_spec_as_prompt
  • fix_schema_type_parity
  • gc_data_projects
  • generate_adr
  • generate_api_client
  • generate_attestation
  • generate_checklist
  • generate_compliance_report
  • generate_compliance_tests
  • generate_docs
  • generate_docs_site
  • generate_edge_tests
  • generate_execution_plan
  • generate_orchestration_script
  • generate_proposal
  • generate_rules
  • generate_skill
  • generate_spec_dashboard
  • generate_sub_agent
  • generate_tests
  • generate_validation_schema
  • graph_specs
  • guided_tour
  • hook_status
  • init_constitution
  • init_project
  • integrate_pm
  • issue_reviewer_token
  • learn_pattern
  • legal_compliance_report
  • list_groups
  • list_registered_projects
  • list_spec_lint_rules
  • list_spec_prompts
  • list_specs
  • manage_context
  • manage_git
  • manage_plugins
  • memory_status
  • migrate_legacy_spec
  • oauth_status
  • onboarding_checklist
  • onboarding_progress
  • orchestrate
  • outbound_webhook_status
  • package_handoff
  • paradigm_report
  • pin_version
  • publish_registry
  • quick_start
  • reconcile_hooks
  • reconcile_rules
  • reconcile_skills
  • reconcile_spec
  • reconcile_universal_rules
  • red_team
  • register_project_path
  • registry_install
  • registry_login
  • registry_logout
  • registry_publish
  • registry_search
  • registry_whoami
  • remove_webhook
  • repair_frontmatter_drift
  • request_changes
  • reverse_engineer
  • rewrite_criteria_ears
  • run_mutation_hints
  • run_spec_lint
  • scaffold_plugin
  • scan_orphan_spec_refs
  • search_all_projects
  • security_check
  • set_locale
  • set_work_mode
  • skill_install
  • solid_check
  • spec_coverage
  • spec_obesity_healer
  • squad_status
  • ssr_back_migration
  • start_dashboard
  • start_hooks
  • start_oauth_flow
  • start_onboarding
  • stop_dashboard
  • stop_hooks
  • suggest_mcp_server
  • suggest_mcps
  • suggest_stack
  • suggest_token_optimizer
  • suggest_tooling
  • summarize_spec
  • sync_ai_configs
  • sync_spec_state
  • tdd_scaffold
  • tdd_status
  • token_optimizer_status
  • tool_usage_report
  • type_safety_gate
  • unregister_project_path
  • update_registry
  • update_status
  • update_status_batch
  • usage_report
  • usage_stats
  • validate
  • validate_api_contract
  • validate_browser
  • validate_criteria_quality
  • validate_docs_registry
  • verify_integrations
  • verify_spec_compliance
  • worker_status
skills & danger signals npm-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed v5.7.18 · analyzer v33 · 38m ago

danger signals2

code evidence v5.7.18 · npm-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 5662

filesystem 212

  • fs package/dist/cli/commands/doctor.js :4 import { existsSync, mkdirSync, readFileSync, statSync, unlinkSync, writeFileSync } from 'node:fs';
  • fs package/dist/cli/commands/inspect.js :1 import { lstat, readdir } from 'node:fs/promises';
  • fs package/dist/cli/commands/install.js :3 import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, } from 'node:fs';
  • fs package/dist/cli/commands/uninstall.js :2 import { existsSync } from 'node:fs';
  • fs package/dist/config/version-defaults.js :3 import { readFileSync } from 'node:fs';
  • fs package/dist/config/version.js :2 import { readFileSync } from 'node:fs';
  • fs package/dist/core/shared/fs.js :1 import { access, readFile, stat } from 'node:fs/promises';
  • fs package/dist/core/spec-api.js :2 import { mkdir } from 'node:fs/promises';
  • fs package/dist/core/spec-validator.js :5 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/actuals/wip-tracker.js :3 import * as fs from 'node:fs';
  • fs package/dist/engine/agent-generator.js :6 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/agent-handoff-store.js :2 import { readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/agent-role-mapper.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/agent-spec-generator/catalog-loader.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/agent-squad/dispatcher.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/agent-team-planner/role-resolver.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/agent-telemetry.js :2 import { appendFile, stat, readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/agile-config-builder.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/ai-cost-estimator/model-pricing.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/ai-cost-estimator/spec-loader.js :4 import { readFile, readdir } from 'node:fs/promises';
  • fs package/dist/engine/ai-cost-estimator/token-estimator.js :3 import { readFile, readdir, stat } from 'node:fs/promises';
  • fs package/dist/engine/ai-integration/agent-frameworks/autogen-exporter.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/agent-frameworks/crewai-exporter.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/agent-frameworks/langgraph-exporter.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/agents-md/generator.js :2 import { writeFileSync, readFileSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/agents-md/updater.js :2 import { writeFileSync, readFileSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/aider/aider-config-generator.js :2 import { writeFileSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/cline/clinerules-generator.js :2 import { readFileSync, writeFileSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/codex/agent-roles-generator.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/codex/agents-md-generator.js :1 import { writeFileSync, mkdirSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/codex/config-generator.js :1 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/continue/ai-checks-generator.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/continue/config-generator.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/cursor/cursorrules-generator.js :2 import { readFileSync, writeFileSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/detector.js :3 import { existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/gemini/gemini-md-generator.js :2 import { writeFileSync, readFileSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/gemini/policy-generator.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/github-copilot/instructions-generator.js :2 import { mkdirSync, readFileSync, writeFileSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/github-copilot/prompt-files-generator.js :2 import { mkdirSync, writeFileSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/kiro/spec-exporter.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/kiro/steering-generator.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/mastra/agent-scaffold.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/mastra/config-generator.js :2 import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-integration/windsurf/windsurfrules-generator.js :2 import { readFileSync, writeFileSync, existsSync } from 'node:fs';
  • fs package/dist/engine/ai-tool-detector/index.js :1 import { existsSync } from 'node:fs';
  • fs package/dist/engine/ambiguity-scorer.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/analytics-detector.js :5 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/analytics-detector/events.js :2 import { readFile } from 'node:fs/promises';
  • fs (weak) package/dist/engine/analyzer-env-scanner/env-example.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/analyzer-env-scanner/scanner.js :3 import { readFile, readdir } from 'node:fs/promises';
  • fs package/dist/engine/analyzer-linting/claude-md-extractor.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/analyzer-linting/linter-checks.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/analyzer-linting/registry.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/analyzer/db-engine.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/analyzer/env-setup.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/api-validation/graphql-schema-validator.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/api-validation/openapi-impl-validator.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/architecture-detector.js :3 import { readdir, stat } from 'node:fs/promises';
  • fs package/dist/engine/architecture-lint/index.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/architecture-pattern-detector/actor-temporal-detector.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/architecture-pattern-detector/cell-data-bff-detector.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/architecture-pattern-detector/ddd-detector.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/architecture-pattern-detector/monolith-composable-detector.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/audit-trail/logger.js :3 import { appendFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/audit-trail/utils.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/auditor-claude-md.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/auditor.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/auth/config.js :4 import { readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/auto-updater/atomic-upgrade.js :1 import { readFile, rm } from 'node:fs/promises';
  • fs package/dist/engine/auto-updater/config-detector.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/auto-updater/config-patcher.js :5 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/auto-updater/index.js :3 import { existsSync } from 'node:fs';
  • fs package/dist/engine/auto-updater/upgrade-trust-state.js :1 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/autopilot/action-executor.js :3 import { readFile, writeFile } from 'node:fs/promises';
  • fs package/dist/engine/autopilot/audit-logger.js :2 import { appendFile, readFile, mkdir, writeFile } from 'node:fs/promises';
  • fs package/dist/engine/autopilot/config-loader.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/autopilot/crash-shield-rate-limiter.js :2 import { readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/autopilot/state-updater.js :5 import { readFile, readdir } from 'node:fs/promises';
  • fs package/dist/engine/batch-script-generator/index.js :2 import { writeFile, chmod } from 'node:fs/promises';
  • fs package/dist/engine/build-freshness.js :2 import { existsSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from 'node:fs';
  • fs package/dist/engine/build-tool-detector.js :6 import { readFile, access } from 'node:fs/promises';
  • fs package/dist/engine/bundle-installer.js :4 import { readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/cascade-hooks/core/append-releases.js :5 import { readFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/cascade-hooks/state-drift-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/ci-generator/stack-detector.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/claude-config-auditor/claudemd-auditor.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/claude-config-auditor/memory-auditor.js :2 import { readFile, readdir } from 'node:fs/promises';
  • fs package/dist/engine/claude-config-auditor/rules-auditor.js :3 import { readFile, readdir } from 'node:fs/promises';
  • fs package/dist/engine/claude-config-auditor/settings-auditor.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/claude-md-injector/file-patcher.js :2 import { readFile, writeFile } from 'node:fs/promises';
  • fs package/dist/engine/claude-setup/keybindings-configurator.js :6 import { readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/client-detection.js :3 import { readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/coach/i18n.js :3 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/code-health-signals.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/code-scanner/layer-scanner.js :3 import { stat } from 'node:fs/promises';
  • fs package/dist/engine/compact/registry-loader.js :2 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/compliance-checker.js :2 import { readFileSync, existsSync } from 'node:fs';
  • fs (weak) package/dist/engine/compliance-test-generator/index.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/compliance/auto-remediator.js :2 import { mkdir, writeFile, access } from 'node:fs/promises';
  • fs package/dist/engine/config-health/mcp-config-checker.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/config-health/otel-checker.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/config-loader.js :19 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/context-artifacts/store.js :2 import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from 'node:fs';
  • fs package/dist/engine/context-intelligence/context-graph-provider.js :1 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/context-manager.js :2 import { readdir, readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/context-md-generator.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/contradiction-detector.js :2 import { readFile, readdir } from 'node:fs/promises';
  • fs package/dist/engine/convention-scanner/codebase-scanner.js :3 import { readdirSync, readFileSync, statSync } from 'node:fs';
  • fs package/dist/engine/convention-scanner/convention-parser.js :4 import { readdirSync } from 'node:fs';
  • fs package/dist/engine/conventions-ttl.js :3 import { readFile, writeFile, mkdir, appendFile } from 'node:fs/promises';
  • fs package/dist/engine/core-bridge-duplicate-blocks.js :2 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/core-bridge-gaps.js :2 import { appendFileSync, existsSync, mkdirSync, readFileSync } from 'node:fs';
  • fs package/dist/engine/core-bridge-project-graph.js :2 import { closeSync, fstatSync, lstatSync, openSync, readSync, readdirSync, realpathSync, } from 'node:fs';
  • fs package/dist/engine/core-bridge.js :1 import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
  • fs package/dist/engine/cost-tracking/ledger.js :2 import { appendFile, readFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/coverage-gap-analyzer.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/crash-shield/auto-fixer/typescript-fixer.js :1 import { readFile, writeFile } from 'node:fs/promises';
  • fs package/dist/engine/crash-shield/file-collector.js :3 import { stat } from 'node:fs/promises';
  • fs package/dist/engine/crash-shield/index.js :1 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/dashboard/data-loader.js :3 import { readFile, readdir, stat } from 'node:fs/promises';
  • fs package/dist/engine/data-projects-gc/gc-runner.js :3 import { mkdir, readFile, readdir, rename, rm } from 'node:fs/promises';
  • fs package/dist/engine/data-projects-gc/scanner.js :4 import { opendir, stat } from 'node:fs/promises';
  • fs package/dist/engine/delete-first/dead-code-scanner.js :3 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/delete-first/duplication-finder.js :3 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/delete-first/metrics/cohesion.js :3 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/delete-first/metrics/coupling.js :3 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/delete-first/metrics/simplicity.js :2 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/delete-first/over-engineering-detector.js :3 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/deleter/core.js :12 import { rm, mkdir, rename } from 'node:fs/promises';
  • fs package/dist/engine/dep-auditor/index.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/dep-auditor/lockfile-parser.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/dependency-health.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/deprecation-scanner/pattern-loader.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/deprecation-scanner/source-scanner.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detect-duplication.js :5 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detection-utils.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/advanced-framework-detector/helpers.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/agent-framework-detector.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/agile-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/cicd-detector.js :6 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/css-framework-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/finops-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/frontend-perf-detector.js :6 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/gitops-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/hypermedia-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/idp-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/k3s-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/library-detector-langs2.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/library-detector-langs3a.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/library-detector-langs3b.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/library-detector-langs4.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/library-detector-langs5.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/library-detector-multilang-a.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/library-detector-multilang-b.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/library-detector-multilang-c.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/library-detector-node.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/library-detector-python.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/mcp-server-detector.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/mfe-detector.js :5 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/monitoring-detector.js :5 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/nomad-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/orphan-spec-refs.js :5 import { readdir } from 'node:fs/promises';
  • fs package/dist/engine/detectors/supply-chain-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/template-engine-detector.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/detectors/wasm-detector.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/discovery/tech-discovery.js :2 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/doc-compliance-checker.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/doc-generator/portal/portal-regenerator.js :2 import { mkdir, writeFile } from 'node:fs/promises';
  • fs package/dist/engine/docs-site-generator/data-collector.js :3 import { readdir, readFile, stat } from 'node:fs/promises';
  • fs package/dist/engine/docs-site-generator/index.js :1 import { mkdir, writeFile, readFile } from 'node:fs/promises';
  • fs package/dist/engine/doctor/npm-cache-check.js :1 import { existsSync, readdirSync, lstatSync } from 'node:fs';
  • fs package/dist/engine/dogfooding/runtime-gap-detector.js :1 import { constants } from 'node:fs';
  • fs package/dist/engine/drift-detection/release-status-drift.js :4 import { readdir, readFile } from 'node:fs/promises';
  • fs package/dist/engine/drift-monitor.js :2 import fs from 'node:fs';
  • fs package/dist/engine/drift-watcher/criteria-checker.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/drift-watcher/file-watcher.js :2 import { watch } from 'node:fs';
  • fs package/dist/engine/drift/violation-resolver.js :2 import { mkdir, access } from 'node:fs/promises';
  • fs package/dist/engine/dynamic-knowledge/knowledge-cache.js :5 import { readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/dynamic-knowledge/knowledge-merger.js :1 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/dynamic-migration-detector/catalog-loader.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/dynamic-migration-detector/manifest-readers-extended.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/dynamic-migration-detector/manifest-readers.js :3 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/e2e-test-generator.js :4 import { readFile, readdir, mkdir, writeFile } from 'node:fs/promises';
  • fs package/dist/engine/ears/spec-linter.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/ecosystem-absorber/knowledge-cache.js :2 import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
  • fs package/dist/engine/ecosystem-detector.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/elicitation/decision-cache.js :6 import { readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs package/dist/engine/errors/recovery-registry.js :2 import { existsSync } from 'node:fs';
  • fs package/dist/engine/escalator/retry-counter.js :4 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/event-detector.js :4 import { readFileSync } from 'node:fs';
  • fs package/dist/engine/evidence-gates/artifact-reader.js :2 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/evidence-gates/evidence-autofill.js :3 import { existsSync } from 'node:fs';
  • fs package/dist/engine/evidence-gates/reconciliation-freshness.js :2 import { lstat, readFile, readdir } from 'node:fs/promises';
  • fs package/dist/engine/execution-plan/plan-utils.js :1 import { readFile } from 'node:fs/promises';
  • fs package/dist/engine/execution/deadline-io.js :1 import { link, mkdir, rename, rm, writeFile } from 'node:fs/promises';
  • fs package/dist/engine/execution/durable-job-heartbeat-runtime.js :1 import { existsSync } from 'node:fs';
  • fs package/dist/engine/execution/validate-job-payload.js :1 import { mkdir } from 'node:fs/promises';
  • fs package/dist/engine/execution/validate-worker-runtime.js :2 import { existsSync } from 'node:fs';
  • fs package/dist/engine/facilitate/context-loader.js :3 import { readdir, readFile } from 'node:fs/promises';
  • fs package/dist/engine/figma/e2e-generator.js :2 import { mkdir, writeFile } from 'node:fs/promises';
  • fs package/dist/engine/figma/token-sync-writer.js :2 import { mkdir, writeFile } from 'node:fs/promises';
  • fs package/dist/engine/filesystem-watcher/index.js :3 import { readFile, writeFile, mkdir } from 'node:fs/promises';
  • fs (weak) package/dist/engine/impact-detector/test-break-predictor.js :2 import { readdir, readFile, stat } from 'node:fs/promises';
  • fs (weak) package/dist/engine/reverse-engineer/test-analyzer.js :1 import * as fs from 'node:fs';
  • fs (weak) package/dist/engine/reverse-engineer/test-file-parser.js :3 import { readFile } from 'node:fs/promises';
  • fs (weak) package/dist/engine/spec-coverage/test-finder.js :4 import { readFile } from 'node:fs/promises';
  • fs (weak) package/dist/engine/technical-enricher/test-pattern-scanner.js :2 import { readFile } from 'node:fs/promises';
  • fs (weak) package/dist/engine/validator/gates/test-gates.js :2 import { readFile, access, readdir } from 'node:fs/promises';
  • fs (weak) package/dist/engine/validator/test-evidence-grounding.js :10 import { readFile } from 'node:fs/promises';
  • fs (weak) package/dist/engine/workers/handlers/test-gaps.js :2 import { readdir, stat } from 'node:fs/promises';
  • fs (weak) package/dist/testing/cassette/store.js :2 import { readFileSync, writeFileSync, mkdirSync } from 'node:fs';
  • fs (weak) package/scripts/lib/pending-release-file.mjs :2 import { mkdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises';

shell / exec 89

  • shell package/dist/cli/commands/offline.js :1 import { spawnSync } from 'node:child_process';
  • shell package/dist/cli/commands/release.js :2 import { execFile } from 'node:child_process';
  • shell package/dist/engine/abortable-process-runner.js :2 import { spawn } from 'node:child_process';
  • shell package/dist/engine/actuals/git-analyzer.js :3 import { execFileSync } from 'node:child_process';
  • shell package/dist/engine/ai-integration/detector.js :2 import { execSync } from 'node:child_process';
  • shell package/dist/engine/auto-updater/release-verifier.js :1 import { spawnSync } from 'node:child_process';
  • shell package/dist/engine/browser-validator.js :3 import { execFile } from 'node:child_process';
  • shell package/dist/engine/build-freshness.js :1 import { execFileSync, spawnSync } from 'node:child_process';
  • shell package/dist/engine/cascade-hooks/core/append-releases.js :6 import { execFile as execFileCallback } from 'node:child_process';
  • shell package/dist/engine/cascade-hooks/hooks/git-auto-stage.hook.js :2 import { execSync } from 'node:child_process';
  • shell package/dist/engine/code-health-signals.js :26 const { execSync } = await import('node:child_process');
  • shell package/dist/engine/dashboard/server.js :4 import { execFile } from 'node:child_process';
  • shell package/dist/engine/detectors/orphan-spec-refs.js :3 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/engine/diff-spec-generator.js :2 import { execFileSync } from 'node:child_process';
  • shell package/dist/engine/dogfooding/runtime-gap-detector.js :3 import { execFile } from 'node:child_process';
  • shell package/dist/engine/dora-metrics/git-log.js :2 import { execFile } from 'node:child_process';
  • shell package/dist/engine/drift-detection/release-status-drift.js :3 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/engine/evidence-gates/evidence-autofill.js :2 import { execFile } from 'node:child_process';
  • shell package/dist/engine/git/branch-detector.js :2 import { execSync } from 'node:child_process';
  • shell package/dist/engine/git/canonical-branch.js :1 import { execSync } from 'node:child_process';
  • shell package/dist/engine/git/exec-git.js :2 import { execSync } from 'node:child_process';
  • shell package/dist/engine/github/client.js :41 const { stdout } = await exec('git', ['remote', 'get-url', 'origin']);
  • shell package/dist/engine/github/gh-cli.js :1 // engine/github/gh-cli.ts — Wrapper over GitHub CLI (`gh`) via child_process.execFile.
  • shell package/dist/engine/hooks/handlers/on-commit.js :3 import { execFile } from 'node:child_process';
  • shell package/dist/engine/housekeeping/find-stale-branches.js :6 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/engine/housekeeping/find-stale-stashes.js :4 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/engine/housekeeping/find-stale-worktrees.js :3 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/engine/housekeeping/gitignore-carry.js :1 import { execFile } from 'node:child_process';
  • shell package/dist/engine/housekeeping/sweep-runner.js :3 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/engine/ide-config/detector.js :3 import { execSync } from 'node:child_process';
  • shell package/dist/engine/merge-risk-assessor/git-diff-parser.js :2 import { execFile } from 'node:child_process';
  • shell package/dist/engine/merge-risk-assessor/index.js :3 import { execFile } from 'node:child_process';
  • shell package/dist/engine/multi-agent-review/security-analyzer.js :48 label: 'exec() call detected (possible command injection)',
  • shell package/dist/engine/orchestrator/agent-spawner.js :50 const { spawn } = await import('node:child_process');
  • shell package/dist/engine/parallel-safety-engine.js :2 import { execSync } from 'node:child_process';
  • shell package/dist/engine/plugin-installer/installer.js :6 import { execFile as nodeExecFile } from 'node:child_process';
  • shell package/dist/engine/plugin-installer/marketplace-registrar.js :5 // CLI calls use execFile (NOT shell) to prevent injection.
  • shell package/dist/engine/project-graph/cache.js :4 import { execFile } from 'node:child_process';
  • shell package/dist/engine/project-graph/extractors/git-extractor.js :6 const childProcess = await import('node:child_process');
  • shell package/dist/engine/release-pipeline/release-spec-closer.js :3 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/engine/release/rollback-runner.js :3 import { spawn } from 'node:child_process';
  • shell package/dist/engine/release/stuck-spec-detector.js :3 import { execFile as nodeExecFile } from 'node:child_process';
  • shell (weak) package/dist/engine/sandbox/env-sanitizer.js :1 // engine/sandbox/env-sanitizer.ts — Strip dangerous env vars before exec (SPEC-742)
  • shell (weak) package/dist/engine/sandbox/runner-bwrap.js :2 import { spawn } from 'node:child_process';
  • shell (weak) package/dist/engine/sandbox/runner-detect.js :3 import { execFile } from 'node:child_process';
  • shell (weak) package/dist/engine/sandbox/runner-docker.js :3 import { spawn } from 'node:child_process';
  • shell (weak) package/dist/engine/sandbox/runner-sandbox-exec.js :2 import { spawn } from 'node:child_process';
  • shell package/dist/engine/self-healing/strategies/lint-fix.js :2 import { execFile } from 'node:child_process';
  • shell package/dist/engine/session-context-generator.js :176 const { execFile } = await import('node:child_process');
  • shell package/dist/engine/session-safeguard/autopush.js :2 import { execFile } from 'node:child_process';
  • shell package/dist/engine/skill-registry/skill-security-scanner.js :3 import { execFile } from 'node:child_process';
  • shell package/dist/engine/source-quality-binding.js :1 import { spawnSync } from 'node:child_process';
  • shell package/dist/engine/spec-generators/issue-extractor/github.js :4 const { execFile } = await import('node:child_process');
  • shell package/dist/engine/spec-migrator/git-aware-fs.js :3 import { execFile } from 'node:child_process';
  • shell package/dist/engine/spec-migrator/strict-planu-cleanup.js :5 import { execFile } from 'node:child_process';
  • shell package/dist/engine/structural-memory/change-impact.js :1 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/engine/system-resources/ram-checker.js :4 import { execFile } from 'node:child_process';
  • shell package/dist/engine/teammate-router/green-phase-verifier.js :4 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/engine/teammate-router/red-phase-verifier.js :4 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/engine/validation/validation-source-digest.js :1 import { execFile } from 'node:child_process';
  • shell package/dist/engine/validation/validation-worktree.js :1 import { execFile } from 'node:child_process';
  • shell package/dist/engine/validator/reliability-gate.js :1 import { execFileSync } from 'node:child_process';
  • shell (weak) package/dist/engine/validator/test-evidence-grounding.js :11 import { spawnSync } from 'node:child_process';
  • shell package/dist/engine/verifier/code-scanner.js :3 import { exec } from 'node:child_process';
  • shell package/dist/engine/workers/handlers/security-audit.js :46 message: 'Use of exec() detected — potential command injection',
  • shell package/dist/engine/workflow-validator/git-flow.js :3 import { execSync } from 'node:child_process';
  • shell package/dist/engine/workflow-validator/worktree-protocol.js :3 import { execSync } from 'node:child_process';
  • shell package/dist/security/adapters/linux-secret-service.js :1 import { execFile as execFileCallback, spawn } from 'node:child_process';
  • shell package/dist/security/adapters/macos-keychain.js :1 import { execFile as execFileCallback } from 'node:child_process';
  • shell package/dist/security/adapters/windows-credential-manager.js :1 import { execFile as execFileCallback, spawn } from 'node:child_process';
  • shell package/dist/storage/path-resolver.js :7 import { spawnSync } from 'node:child_process';
  • shell package/dist/storage/session-state-store.js :5 import { execSync } from 'node:child_process';
  • shell package/dist/tools/auto-update-spec.js :2 import { execFile } from 'node:child_process';
  • shell package/dist/tools/browser-validate-handler.js :5 import { execFile } from 'node:child_process';
  • shell package/dist/tools/code-impact-handler.js :5 import { execFileSync } from 'node:child_process';
  • shell (weak) package/dist/tools/generate-tests/generators/concurrency-test-generator/python-rust-templates.js :63 ' handles.push(thread::spawn(move || {',
  • shell package/dist/tools/github-pr-handler.js :161 const { stdout } = await exec('find', [
  • shell package/dist/tools/github-release-handler.js :6 import { execFile as nodeExecFile } from 'node:child_process';
  • shell package/dist/tools/github-review-handler.js :6 import { execFile as nodeExecFile } from 'node:child_process';
  • shell package/dist/tools/migrate-legacy-spec.js :4 import { execFile } from 'node:child_process';
  • shell package/dist/tools/rollback-release.js :17 const { spawn } = await import('node:child_process');
  • shell package/dist/tools/scan-orphan-spec-refs.js :3 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/tools/session-handoff.js :5 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/tools/status-handler.js :4 import { execFile as execFileCb } from 'node:child_process';
  • shell package/dist/tools/update-status-convention-gate.js :15 /** Allowlist: alphanumerics, spaces, and safe shell chars. Rejects ; | $ ` & < > */
  • shell package/dist/tools/validate-assurance.js :2 import { execFileSync } from 'node:child_process';
  • shell package/dist/tools/validate-lint.js :8 /** Allowlist: alphanumerics, spaces, and safe shell chars. Rejects ; | $ ` & < > */
  • shell package/dist/transports/transport-factory.js :3 import { execFileSync } from 'node:child_process';
  • shell (weak) package/scripts/lib/pending-release-file.mjs :1 import { execFile as execFileCallback, spawnSync } from 'node:child_process';

network 59

  • net package/dist/engine/auth/token-validator.js :68 response = await fetch(introspectionUrl, {
  • net package/dist/engine/auto-updater/npm-registry.js :29 const res = await fetch(NPM_REGISTRY_URL, { signal: controller.signal });
  • net package/dist/engine/dashboard/server.js :3 import { createServer } from 'node:http';
  • net package/dist/engine/dashboard/templates-kanban.js :31 onchange="(function(sel){var pid=window.location.pathname.match(/\\/project\\/([^\\/]+)/);var projectId=pid?decodeURIComponent(pid[1]):null;if(!projectId||!sel.value)return;fetch('/api/spec/'+encodeUR
  • net package/dist/engine/dashboard/templates-layout.js :304 fetch('/api/events/' + encodeURIComponent(projectId) + '?since=' + encodeURIComponent(since)).then(function(r) { return r.json(); }),
  • net package/dist/engine/dashboard/templates-project.js :152 fetch('/api/spec/' + encodeURIComponent(projectId) + '/' + encodeURIComponent(specId), {
  • net package/dist/engine/dependency-health.js :395 const res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(name)}/latest`, {
  • net package/dist/engine/deploy/providers/cloudflare-pages.js :21 const response = await fetch(url, {
  • net package/dist/engine/deploy/providers/fly.js :16 const response = await fetch(url, {
  • net package/dist/engine/deploy/providers/netlify.js :12 const response = await fetch(url, {
  • net package/dist/engine/deploy/providers/railway.js :14 const response = await fetch(RAILWAY_GRAPHQL_URL, {
  • net package/dist/engine/deploy/providers/vercel.js :17 const response = await fetch(url.toString(), {
  • net package/dist/engine/discovery/registry-search.js :14 const response = await withTimeout(fetch(url), TIMEOUT_MS);
  • net package/dist/engine/dynamic-knowledge/web-researcher.js :11 const response = await fetch(url, {
  • net package/dist/engine/ecosystem-absorber/platform-crawler.js :66 const res = await fetch(url, { signal: controller.signal });
  • net package/dist/engine/execution/deadline-io.js :17 return fetch(input, { ...init, ...(signal ? { signal } : {}) });
  • net package/dist/engine/figma/api-client.js :33 const response = await fetch(`${FIGMA_API_BASE}/me`, {
  • net package/dist/engine/figma/code-connect-fetcher.js :32 const response = await fetch(`${FIGMA_API_BASE}/files/${fileKey}/dev_resources`, {
  • net package/dist/engine/figma/thumbnail-fetcher.js :29 response = await fetch(url, {
  • net package/dist/engine/figma/token-extractor.js :73 const response = await fetch(url, {
  • net package/dist/engine/figma/version-tracker.js :2 const response = await fetch(`https://api.figma.com/v1/files/${fileKey}/versions`, {
  • net package/dist/engine/figma/visual-qa.js :7 const response = await fetch(url, {
  • net package/dist/engine/figma/webhook-manager.js :9 const response = await fetch(FIGMA_WEBHOOKS_API, {
  • net package/dist/engine/llm-runtime/pricing-resolver.js :67 // No cache at all — try sync fetch (blocking but only on first ever use)
  • net package/dist/engine/model-tier-resolver.js :79 const resp = await fetch('https://api.anthropic.com/v1/models', {
  • net package/dist/engine/network-policy.js :10 const httpModule = require('node:http');
  • net package/dist/engine/oauth/config-guard.js :112 const response = await fetch(def.tokenUrl, {
  • net package/dist/engine/oauth/local-server.js :2 import { createServer } from 'node:http';
  • net package/dist/engine/outbound-webhook-dispatcher.js :20 const res = await fetch(url, {
  • net package/dist/engine/package-registry.js :19 const response = await globalThis.fetch(url, {
  • net package/dist/engine/pm-integrator.js :91 const response = await fetch(`${baseUrl}/issue/${issueId}/transitions`, {
  • net package/dist/engine/pm-platform-creators.js :2 // Jira, Linear, GitHub Projects, Trello, Notion via fetch()
  • net package/dist/engine/registry-updater.js :123 const response = await globalThis.fetch(url, {
  • net package/dist/engine/registry/http-client.js :30 const response = await fetch(url.toString(), {
  • net package/dist/engine/schema-generator.js :288 ` return fetch('${r.path}', { method: '${r.method}',${bodyOpts} ...options });\n` +
  • net package/dist/engine/sentry/sentry-client.js :37 const response = await fetch(url, { headers: buildHeaders(config.authToken) });
  • net package/dist/engine/skill-bootstrap/registry-fetcher.js :14 const res = await fetch(url, { signal: controller.signal });
  • net package/dist/engine/skill-discovery/source-adapter.js :123 const response = await globalThis.fetch(url.toString(), {
  • net package/dist/engine/skill-registry/agentskill-adapter.js :16 const response = await globalThis.fetch(url.toString(), {
  • net package/dist/engine/skill-registry/anthropic-adapter.js :42 const response = await globalThis.fetch(`${GITHUB_API_BASE}${path}`, {
  • net package/dist/engine/skill-registry/skillssh-adapter.js :3 // Uses native fetch() (Node 18+). No external dependencies.
  • net package/dist/engine/slack-dispatcher.js :63 const response = await globalThis.fetch(webhookUrl, {
  • net package/dist/engine/spec-registry/client.js :3 import * as https from 'node:https';
  • net package/dist/engine/supabase/schema-fetcher.js :57 const res = await fetch(url, {
  • net (weak) package/dist/engine/test-generators/platform-test-templates-b.js :31 ' const account = await program.account.state.fetch(statePda);',
  • net package/dist/engine/update-notifier.js :4 import { get } from 'node:https';
  • net package/dist/engine/verify-integrations/index.js :151 const response = await fetch(url, {
  • net package/dist/engine/version-detector/bundled-version-checker.js :31 response = await fetch(url, { signal: controller.signal });
  • net package/dist/engine/web-fetcher/http-client.js :10 const response = await globalThis.fetch(url, {
  • net package/dist/engine/web-fetcher/registry-auto-discovery.js :20 const res = await fetch(url, { method: 'HEAD', signal: controller.signal, redirect: 'follow' });
  • net package/dist/engine/webhook-server.js :2 import { createServer } from 'node:http';
  • net package/dist/server/index.js :11 import { createServer } from 'node:http';
  • net package/dist/tools/challenge-spec/scenarios-utils.js :95 /\b(?:fetch(?:es|ing)?|calls?|invokes?)\b(?:\W+\w+){0,4}?\W+(?:api|endpoint|service|dependency)\b/i,
  • net package/dist/tools/git/github-issues-ops.js :2 // Uses native Node.js fetch (Node 22+). Requires GITHUB_TOKEN env var.
  • net package/dist/tools/integrate-pm.js :2 // SPEC-023b: Real PM platform integrations via fetch() + API key validation
  • net package/dist/tools/observatory-insights.js :17 // Remote fetch (opt-in only)
  • net package/dist/tools/suggest-tooling/local-first-catalog.js :101 lines.push('- **Polling HTTP** — use WebSocket/SSE instead of `setInterval(() => fetch(...))`');
  • net package/dist/tools/testimonial-handler.js :68 const response = await fetch(TESTIMONIALS_URL(config.projectUrl), {
  • net package/dist/transports/http-transport.js :2 import { createServer } from 'node:http';

secrets 7

  • secrets package/dist/engine/migration/feature-flag-generator.js :36 const client = ld.init(process.env.LAUNCHDARKLY_SDK_KEY!);
  • secrets package/dist/engine/spec-generator/api-key-resolver.js :3 const envKey = process.env.PLANU_ANTHROPIC_API_KEY ?? process.env.ANTHROPIC_API_KEY;
  • secrets package/dist/engine/telemetry/health-checker.js :290 const token = process.env.PLANU_TELEMETRY_TOKEN;
  • secrets package/dist/engine/telemetry/telemetry-client.js :54 const token = process.env.PLANU_TELEMETRY_TOKEN?.trim();
  • secrets package/dist/tools/configure-telemetry.js :8 const token = process.env.PLANU_TELEMETRY_TOKEN?.trim();
  • secrets package/dist/tools/git/github-issues-ops.js :18 const token = process.env['GITHUB_TOKEN'];
  • secrets package/dist/transports/oauth-validator.js :8 const apiKey = process.env.SDD_OAUTH_API_KEY;

tool registrations 178

  • ecosystem_status package/dist/tools/ai-ecosystem-status.js :214
  • audit_specs_drift package/dist/tools/audit-specs-drift.js :6
  • bump_spec_version package/dist/tools/bump-spec-version.js :137
  • check_config_health package/dist/tools/check-config-health.js :82
  • config_health package/dist/tools/convention-sync.js :67
  • generate_spec_dashboard package/dist/tools/generate-dashboard.js :6
  • generate_proposal package/dist/tools/generate-proposal.js :161
  • graph_specs package/dist/tools/graph-specs.js :28
  • assess_merge_risk package/dist/tools/merge-risk-handler.js :67
  • migrate_legacy_spec package/dist/tools/migrate-legacy-spec.js :124
  • reconcile_hooks package/dist/tools/reconcile-hooks.js :124
  • reconcile_rules package/dist/tools/reconcile-rules.js :76
  • reconcile_skills package/dist/tools/reconcile-skills.js :100
  • configure_squad package/dist/tools/register-agent-squad-tools.js :68
  • squad_status package/dist/tools/register-agent-squad-tools.js :99
  • agent_run_history package/dist/tools/register-agent-squad-tools.js :142
  • generate_adr package/dist/tools/register-platform-tools/design-stack-tools.js :24
  • design_schema package/dist/tools/register-platform-tools/design-stack-tools.js :38
  • define_ui_contract package/dist/tools/register-platform-tools/design-stack-tools.js :52
  • challenge_spec package/dist/tools/register-platform-tools/design-stack-tools.js :66
  • generate_execution_plan package/dist/tools/register-platform-tools/design-stack-tools.js :89
  • suggest_stack package/dist/tools/register-platform-tools/design-stack-tools.js :98
  • check_versions package/dist/tools/register-platform-tools/design-stack-tools.js :125
  • generate_skill package/dist/tools/register-platform-tools/design-stack-tools.js :137
  • detect_agent package/dist/tools/register-platform-tools/design-stack-tools.js :152
  • generate_sub_agent package/dist/tools/register-platform-tools/design-stack-tools.js :160
  • generate_rules package/dist/tools/register-platform-tools/design-stack-tools.js :182
  • generate_orchestration_script package/dist/tools/register-platform-tools/design-stack-tools.js :206
  • red_team package/dist/tools/register-platform-tools/design-stack-tools.js :225
  • suggest_tooling package/dist/tools/register-platform-tools/lifecycle-infra-tools.js :19
  • generate_tests package/dist/tools/register-platform-tools/lifecycle-infra-tools.js :32
  • generate_docs package/dist/tools/register-platform-tools/lifecycle-infra-tools.js :42
  • manage_context package/dist/tools/register-platform-tools/lifecycle-infra-tools.js :65
  • manage_git package/dist/tools/register-platform-tools/lifecycle-infra-tools.js :85
  • orchestrate package/dist/tools/register-platform-tools/lifecycle-infra-tools.js :109
  • integrate_pm package/dist/tools/register-platform-tools/lifecycle-infra-tools.js :159
  • paradigm_report package/dist/tools/register-platform-tools/lifecycle-infra-tools.js :174
  • context_budget package/dist/tools/register-platform-tools/lifecycle-infra-tools.js :182
  • create_skill package/dist/tools/register-sdd-tools.js :45
  • reconcile_universal_rules package/dist/tools/register-sdd-tools.js :71
  • detect_drift package/dist/tools/register-spec-tools/analysis-tools.js :39
  • summarize_spec package/dist/tools/register-spec-tools/analysis-tools.js :67
  • generate_checklist package/dist/tools/register-spec-tools/analysis-tools.js :91
  • reconcile_spec package/dist/tools/register-spec-tools/analysis-tools.js :115
  • learn_pattern package/dist/tools/register-spec-tools/analysis-tools.js :167
  • audit package/dist/tools/register-spec-tools/analysis-tools.js :190
  • consult_docs package/dist/tools/register-spec-tools/analysis-tools.js :215
  • discover_mcps package/dist/tools/register-spec-tools/analysis-tools.js :239
  • suggest_mcps package/dist/tools/register-spec-tools/analysis-tools.js :251
  • suggest_mcp_server package/dist/tools/register-spec-tools/analysis-tools.js :270
  • scan_orphan_spec_refs package/dist/tools/register-spec-tools/analysis-tools.js :289
  • analyze_spec_dependencies package/dist/tools/register-spec-tools/analysis-tools.js :296
  • ssr_back_migration package/dist/tools/register-spec-tools/analysis-tools.js :325
  • set_locale package/dist/tools/register-spec-tools/core-spec-tools.js :120
  • init_project package/dist/tools/register-spec-tools/core-spec-tools.js :132
  • set_work_mode package/dist/tools/register-spec-tools/core-spec-tools.js :137
  • init_constitution package/dist/tools/register-spec-tools/core-spec-tools.js :149
  • create_spec package/dist/tools/register-spec-tools/core-spec-tools.js :187
  • list_specs package/dist/tools/register-spec-tools/core-spec-tools.js :271
  • update_status package/dist/tools/register-spec-tools/core-spec-tools.js :308
  • update_status_batch package/dist/tools/register-spec-tools/core-spec-tools.js :438
  • estimate package/dist/tools/register-spec-tools/core-spec-tools.js :488
  • reverse_engineer package/dist/tools/register-spec-tools/core-spec-tools.js :497
  • validate package/dist/tools/register-spec-tools/core-spec-tools.js :509
  • type_safety_gate package/dist/tools/register-spec-tools/core-spec-tools.js :538
  • repair_frontmatter_drift package/dist/tools/repair-frontmatter-drift.js :213
  • expose_spec_as_prompt package/dist/tools/spec-prompt-handler.js :102
  • list_spec_prompts package/dist/tools/spec-prompt-handler.js :113
  • sync_ai_configs package/dist/tools/sync-ai-configs.js :81
  • sync_spec_state package/dist/tools/sync-spec-state-handler.js :352
  • start_oauth_flow package/dist/tools/tool-registry/group-infra.js :90
  • oauth_status package/dist/tools/tool-registry/group-infra.js :95
  • configure_oauth package/dist/tools/tool-registry/group-infra.js :100
  • usage_stats package/dist/tools/tool-registry/group-infra.js :109
  • usage_report package/dist/tools/tool-registry/group-infra.js :121
  • tool_usage_report package/dist/tools/tool-registry/group-infra.js :132
  • configure_webhook package/dist/tools/tool-registry/group-infra.js :154
  • outbound_webhook_status package/dist/tools/tool-registry/group-infra.js :187
  • remove_webhook package/dist/tools/tool-registry/group-infra.js :200
  • start_dashboard package/dist/tools/tool-registry/group-infra.js :215
  • stop_dashboard package/dist/tools/tool-registry/group-infra.js :234
  • check_update_status package/dist/tools/tool-registry/group-infra.js :240
  • enable_auto_update package/dist/tools/tool-registry/group-infra.js :247
  • pin_version package/dist/tools/tool-registry/group-infra.js :267
  • configure_deploy_target package/dist/tools/tool-registry/group-infra.js :287
  • deploy_spec package/dist/tools/tool-registry/group-infra.js :300
  • deploy_status package/dist/tools/tool-registry/group-infra.js :315
  • register_project_path package/dist/tools/tool-registry/group-infra.js :328
  • unregister_project_path package/dist/tools/tool-registry/group-infra.js :341
  • list_registered_projects package/dist/tools/tool-registry/group-infra.js :353
  • search_all_projects package/dist/tools/tool-registry/group-infra.js :359
  • validate_browser package/dist/tools/tool-registry/group-infra.js :393
  • worker_status package/dist/tools/tool-registry/group-infra.js :417
  • configure_workers package/dist/tools/tool-registry/group-infra.js :427
  • start_hooks package/dist/tools/tool-registry/group-infra.js :439
  • stop_hooks package/dist/tools/tool-registry/group-infra.js :454
  • hook_status package/dist/tools/tool-registry/group-infra.js :461
  • manage_plugins package/dist/tools/tool-registry/group-infra.js :473
  • scaffold_plugin package/dist/tools/tool-registry/group-infra.js :484
  • suggest_token_optimizer package/dist/tools/tool-registry/group-infra.js :494
  • token_optimizer_status package/dist/tools/tool-registry/group-infra.js :502
  • configure_roles package/dist/tools/tool-registry/group-infra.js :511
  • assign_role package/dist/tools/tool-registry/group-infra.js :522
  • check_spec_accuracy package/dist/tools/tool-registry/group-infra.js :538
  • update_registry package/dist/tools/tool-registry/group-infra.js :548
  • skill_install package/dist/tools/tool-registry/group-infra.js :564
  • publish_registry package/dist/tools/tool-registry/group-infra.js :576
  • discover_registry package/dist/tools/tool-registry/group-infra.js :590
  • registry_login package/dist/tools/tool-registry/group-infra.js :603
  • registry_logout package/dist/tools/tool-registry/group-infra.js :619
  • registry_publish package/dist/tools/tool-registry/group-infra.js :630
  • registry_search package/dist/tools/tool-registry/group-infra.js :649
  • registry_install package/dist/tools/tool-registry/group-infra.js :668
  • registry_whoami package/dist/tools/tool-registry/group-infra.js :677
  • activate_group package/dist/tools/tool-registry/group-infra.js :689
  • list_groups package/dist/tools/tool-registry/group-infra.js :705
  • audit_claude_config package/dist/tools/tool-registry/group-infra.js :712
  • generate_docs_site package/dist/tools/tool-registry/group-infra.js :728
  • configure_memory package/dist/tools/tool-registry/group-infra.js :742
  • memory_status package/dist/tools/tool-registry/group-infra.js :762
  • start_onboarding package/dist/tools/tool-registry/group-infra.js :771
  • guided_tour package/dist/tools/tool-registry/group-infra.js :785
  • onboarding_checklist package/dist/tools/tool-registry/group-infra.js :801
  • quick_start package/dist/tools/tool-registry/group-infra.js :808
  • onboarding_progress package/dist/tools/tool-registry/group-infra.js :823
  • validate_docs_registry package/dist/tools/tool-registry/group-infra.js :831
  • discover_docs_url package/dist/tools/tool-registry/group-infra.js :845
  • gc_data_projects package/dist/tools/tool-registry/group-infra.js :861
  • check_compliance package/dist/tools/tool-registry/group-quality-compliance.js :130
  • configure_compliance package/dist/tools/tool-registry/group-quality-compliance.js :198
  • compliance_score_report package/dist/tools/tool-registry/group-quality-compliance.js :211
  • compliance_gap_analysis package/dist/tools/tool-registry/group-quality-compliance.js :226
  • verify_spec_compliance package/dist/tools/tool-registry/group-quality-compliance.js :240
  • generate_compliance_report package/dist/tools/tool-registry/group-quality-compliance.js :254
  • audit_log_export package/dist/tools/tool-registry/group-quality-compliance.js :271
  • data_retention_policy package/dist/tools/tool-registry/group-quality-compliance.js :292
  • configure_compliance_gate package/dist/tools/tool-registry/group-quality-compliance.js :323
  • compliance_gate_status package/dist/tools/tool-registry/group-quality-compliance.js :331
  • generate_compliance_tests package/dist/tools/tool-registry/group-quality-compliance.js :339
  • compliance_coverage_report package/dist/tools/tool-registry/group-quality-compliance.js :365
  • security_check package/dist/tools/tool-registry/group-quality-compliance.js :383
  • audit_trail package/dist/tools/tool-registry/group-quality-compliance.js :401
  • generate_attestation package/dist/tools/tool-registry/group-quality-compliance.js :432
  • export_audit_trail package/dist/tools/tool-registry/group-quality-compliance.js :444
  • audit_schema_type_parity package/dist/tools/tool-registry/group-quality-compliance.js :481
  • fix_schema_type_parity package/dist/tools/tool-registry/group-quality-compliance.js :495
  • generate_validation_schema package/dist/tools/tool-registry/group-quality-compliance.js :513
  • generate_api_client package/dist/tools/tool-registry/group-quality-compliance.js :534
  • configure_tdd_policy package/dist/tools/tool-registry/group-quality-compliance.js :553
  • generate_edge_tests package/dist/tools/tool-registry/group-quality-compliance.js :571
  • tdd_status package/dist/tools/tool-registry/group-quality-compliance.js :584
  • spec_coverage package/dist/tools/tool-registry/group-quality-compliance.js :593
  • eval_skill package/dist/tools/tool-registry/group-quality-compliance.js :608
  • eval_rule package/dist/tools/tool-registry/group-quality-compliance.js :631
  • validate_criteria_quality package/dist/tools/tool-registry/group-quality-compliance.js :655
  • rewrite_criteria_ears package/dist/tools/tool-registry/group-quality-compliance.js :712
  • ears_lint package/dist/tools/tool-registry/group-quality-compliance.js :735
  • define_spec_lint_rule package/dist/tools/tool-registry/group-quality-compliance.js :778
  • list_spec_lint_rules package/dist/tools/tool-registry/group-quality-compliance.js :799
  • run_spec_lint package/dist/tools/tool-registry/group-quality-compliance.js :806
  • delete_spec_lint_rule package/dist/tools/tool-registry/group-quality-compliance.js :819
  • check_readiness package/dist/tools/tool-registry/group-quality-compliance.js :828
  • architecture_lint package/dist/tools/tool-registry/group-quality-compliance.js :841
  • solid_check package/dist/tools/tool-registry/group-quality-compliance.js :860
  • verify_integrations package/dist/tools/tool-registry/group-quality-compliance.js :877
  • spec_obesity_healer package/dist/tools/tool-registry/group-quality-compliance.js :925
  • package_handoff package/dist/tools/tool-registry/group-quality-compliance.js :949
  • configure_approval_policy package/dist/tools/tool-registry/group-quality-compliance.js :965
  • issue_reviewer_token package/dist/tools/tool-registry/group-quality-compliance.js :990
  • approve_spec package/dist/tools/tool-registry/group-quality-compliance.js :1012
  • request_changes package/dist/tools/tool-registry/group-quality-compliance.js :1046
  • approval_status package/dist/tools/tool-registry/group-quality-compliance.js :1082
  • data_governance package/dist/tools/tool-registry/group-quality-compliance.js :1092
  • legal_compliance_report package/dist/tools/tool-registry/group-quality-compliance.js :1117
  • validate_api_contract package/dist/tools/tool-registry/group-quality-compliance.js :1128
  • tdd_scaffold package/dist/tools/tool-registry/group-quality-compliance.js :1160
  • coverage_gap_analyzer package/dist/tools/tool-registry/group-quality-compliance.js :1175
  • run_mutation_hints package/dist/tools/tool-registry/group-quality-compliance.js :1191

install hooks 3

  • prepare package/package.json :88 husky || true
  • prepublishOnly package/package.json :89 bash scripts/prepublish-guard.sh
  • prepack package/package.json :90 pnpm build:ts && pnpm package:size

declared dependencies 46

  • @modelcontextprotocol/sdk@^1.30.0
  • @anthropic-ai/sdk@^0.122.0
  • @hono/node-server@2.1.1
  • glob@^13.0.6
  • yaml@^2.9.0
  • zod@^4.4.3
  • @axe-core/playwright@4.13.0
  • @commitlint/cli@^21.2.2
  • @commitlint/config-conventional@^21.2.2
  • @eslint/js@^10.0.1
  • @lhci/cli@0.15.1
  • @noble/hashes@2.4.0
  • @playwright/test@1.62.1
  • @scure/base@2.3.0
  • @secretlint/secretlint-rule-no-homedir@^13.0.5
  • @secretlint/secretlint-rule-preset-recommend@^13.0.5
  • @stryker-mutator/core@^10.0.0
  • @stryker-mutator/vitest-runner@^10.0.0
  • @supabase/supabase-js@^2.112.4
  • @types/node@^26.4.0
  • @types/qrcode@1.5.6
  • @typescript/native@npm:typescript@^7.0.2
  • @vitejs/plugin-vue@^6.0.8
  • @vitest/coverage-v8@^4.1.11
  • @vue/test-utils@^2.5.0
  • eslint@10.9.1
  • eslint-config-prettier@^10.1.8
  • eslint-import-resolver-typescript@^4.4.5
  • eslint-plugin-import@^2.32.0
  • happy-dom@^20.11.12
  • husky@^9.1.7
  • javascript-obfuscator@^5.6.0
  • jiti@2.7.0
  • knip@^6.32.3
  • lint-staged@^17.4.1
  • madge@^8.0.0
  • prettier@^3.9.6
  • qrcode@1.5.4
  • secretlint@^13.0.5
  • tsc-alias@^1.9.2
  • type-coverage@^2.30.1
  • typescript@npm:@typescript/typescript6@^6.0.2
  • typescript-eslint@^8.68.0
  • vite@^8.2.2
  • vitest@^4.1.11
  • vue@^3.5.42

obfuscation 1

  • dynamic require()/import() package/dist/engine/self-healing/strategies/coverage-fix.js :63 const mod = await import('${importPath}');

perm:untrusted 1

  • untrusted package/dist/engine/schema-generator.js :301 ` return useQuery({ queryKey: ['${r.path}'], queryFn: () => fetch('${r.path}').then(r => r.json()) });\n` +