name: astro
display_name: Astro
ecosystem: node
version: 1.0.0
description: Built-in Astro coding stack pack
maintainer: paqad-ai
detection:
  manifests:
    - file: package.json
      packages: [astro]
traits:
  - name: tailwind
    display_name: Tailwind
    detect_package: tailwindcss
    description: Astro app uses Tailwind CSS
toolchains:
  - ecosystem: node
    package_managers: [pnpm, npm]
    lockfiles: [pnpm-lock.yaml, package-lock.json]
mcp_defaults:
  - name: figma
    when: always
pentest:
  file_check_map:
    - glob: src/pages/**
      checks: [permission-boundary-review, business-logic-abuse-review]
    - glob: src/content/**
      checks: [runtime-surface-probing]
    - glob: pnpm-lock.yaml
      checks: [dependency-advisory-triage]
  audit_commands:
    - command: pnpm audit --json
      parser: node
ast:
  language: astro
  tree_sitter_grammar: tree-sitter-astro
  file_extensions: ['.astro', '.ts', '.js']
testing:
  frameworks:
    - name: vitest
      detect_package: vitest
      run_command: pnpm test
test_runners:
  - runner_id: vitest
    structured_format: tap
    structured_flags: --reporter=tap
    default_command: pnpm test
    single_test_selector: file
    parallel:
      mode: native
docs:
  conventions_template: rules/conventions.md
module_health:
  source_roots:
    - src
  source_globs: []
  public_api_extractor: null
  test_command: pnpm test
  coverage_format: lcov
  coverage_path: coverage/lcov.info
  test_report_format: junit-xml
  test_report_path: coverage/junit.xml
  git_window_days: 14
visual_evidence:
  frontend_globs:
    - src/**/*.astro
