Planu — MCP Server for Spec Driven Development. Cross-platform (Linux/macOS/Windows, x64/arm64).
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
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
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
- suspicious endpoint sentry.io (telemetry) package/dist/engine/oauth/config-guard.js :28
guidedMessage: "Ve a https://sentry.io/settings/account/api/auth-tokens/new/ → crea un token con scope 'project:read event:read' → pega el token en configure_sentry", - suspicious endpoint sentry.io (telemetry) package/dist/engine/sentry/sentry-client.js :1
const SENTRY_BASE = 'https://sentry.io/api/0';
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` +