{
  "$schema": "https://json.schemastore.org/schema-catalog.json",
  "version": 1,
  "schemas": [
    {
      "name": "n-rules.json",
      "description": "Конфігурація @7n/rules (.n-rules.json у корені репозиторію)",
      "url": "n-rules.json",
      "fileMatch": [
        ".n-rules.json",
        "**/.n-rules.json",
        ".n-rules.example.json",
        "**/.n-rules.example.json"
      ]
    },
    {
      "name": "any.json",
      "description": "Заглушка-схема (приймає будь-який JSON) — bespoke tool-конфіги й one-off артефакти без офіційної схеми",
      "url": "any.json",
      "fileMatch": [
        ".licensee.json",
        "**/.licensee.json",
        "docs/specs/**/*.json",
        "docs/plans/**/*.json",
        "any.json"
      ]
    },
    {
      "name": "rego-target.json",
      "description": "Маніфест rego-полісі (npm/rules/<id>/policy/<name>/target.json) — які файли проєкту фідити в conftest",
      "url": "target.json",
      "fileMatch": [
        "npm/rules/*/policy/*/target.json",
        "rules/*/policy/*/target.json",
        "plugins/*/rules/*/policy/*/target.json"
      ]
    },
    {
      "name": "tsconfig",
      "description": "TypeScript config (tsconfig.json та tsconfig.*.json) у всьому проєкті",
      "url": "vendor/tsconfig.json",
      "fileMatch": [
        "tsconfig.json",
        "**/tsconfig.json",
        "tsconfig.*.json",
        "**/tsconfig.*.json"
      ]
    },
    {
      "name": "jsconfig",
      "description": "jsconfig.json у всьому проєкті",
      "url": "vendor/jsconfig.json",
      "fileMatch": [
        "jsconfig.json",
        "**/jsconfig.json"
      ]
    },
    {
      "name": "n-rules skill meta",
      "description": "Маніфест skill-пакета n-rules (npm/skills/<id>/main.json) — назва, тригери, дозволи",
      "fileMatch": [
        "npm/skills/*/main.json",
        "skills/*/main.json"
      ],
      "url": "skill-meta.json"
    },
    {
      "name": "n-rules rule meta",
      "description": "Маніфест rule-пакета n-rules (npm/rules/<id>/main.json) — назва, опис, версія правила",
      "fileMatch": [
        "npm/rules/*/main.json",
        "rules/*/main.json",
        "plugins/*/rules/*/main.json"
      ],
      "url": "rule-meta.json"
    },
    {
      "name": "n-rules concern meta",
      "description": "Маніфест concern-а n-rules (npm/rules/<id>/<concern>/concern.json) — flat-concern layout: check/policy/lint-поверхні",
      "fileMatch": [
        "npm/rules/*/*/concern.json",
        "rules/*/*/concern.json",
        "plugins/*/rules/*/*/concern.json"
      ],
      "url": "concern.json"
    },
    {
      "name": "package.json",
      "description": "npm package.json у всьому проєкті",
      "url": "vendor/package.json",
      "fileMatch": [
        "package.json",
        "**/package.json"
      ]
    },
    {
      "name": "knip",
      "description": "knip.json (unused-code detector config)",
      "url": "vendor/knip.json",
      "fileMatch": [
        "knip.json",
        "**/knip.json"
      ]
    },
    {
      "name": "jscpd",
      "description": ".jscpd.json (copy-paste detector config)",
      "url": "vendor/jscpd.json",
      "fileMatch": [
        ".jscpd.json",
        "**/.jscpd.json"
      ]
    },
    {
      "name": "cspell",
      "description": ".cspell.json (spell-checker config)",
      "url": "vendor/cspell.json",
      "fileMatch": [
        ".cspell.json",
        "**/.cspell.json"
      ]
    },
    {
      "name": "oxlintrc",
      "description": ".oxlintrc.json (oxlint config)",
      "url": "vendor/oxlintrc.json",
      "fileMatch": [
        ".oxlintrc.json",
        "**/.oxlintrc.json"
      ]
    },
    {
      "name": "oxfmtrc",
      "description": ".oxfmtrc.json (oxfmt config)",
      "url": "vendor/oxfmtrc.json",
      "fileMatch": [
        ".oxfmtrc.json",
        "**/.oxfmtrc.json"
      ]
    },
    {
      "name": "claude-code-settings",
      "description": ".claude/settings.json (Claude Code hooks/permissions)",
      "url": "vendor/claude-code-settings.json",
      "fileMatch": [
        ".claude/settings.json",
        "**/.claude/settings.json"
      ]
    },
    {
      "name": "codex-hooks",
      "description": ".codex/hooks.json (Codex CLI hooks)",
      "url": "vendor/codex-hooks.json",
      "fileMatch": [
        ".codex/hooks.json",
        "**/.codex/hooks.json"
      ]
    },
    {
      "name": "mcp",
      "description": ".mcp.json (MCP-сервери проєкту: Claude Code/Cursor)",
      "url": "vendor/mcp.json",
      "fileMatch": [
        ".mcp.json",
        "**/.mcp.json"
      ]
    },
    {
      "name": "marksman",
      "description": ".marksman.toml — офіційної схеми нема (permissive any.json)",
      "url": "any.json",
      "fileMatch": [
        ".marksman.toml",
        "**/.marksman.toml"
      ]
    },
    {
      "name": "cargo",
      "description": "Cargo.toml (маніфест Rust-крейта/воркспейса)",
      "url": "vendor/cargo.json",
      "fileMatch": [
        "Cargo.toml",
        "**/Cargo.toml"
      ]
    },
    {
      "name": "cargo-mutants",
      "description": ".cargo/mutants.toml (конфігурація cargo-mutants)",
      "url": "vendor/cargo-mutants-config.json",
      "fileMatch": [
        ".cargo/mutants.toml",
        "**/.cargo/mutants.toml"
      ]
    },
    {
      "name": "cargo-deny",
      "description": "deny.toml (cargo-deny) — у schemastore схеми нема (permissive any.json)",
      "url": "any.json",
      "fileMatch": [
        "deny.toml",
        "**/deny.toml"
      ]
    },
    {
      "name": "tauri-conf-overlay",
      "description": "tauri.conf.<variant>.json — частковий merge-overlay базового tauri.conf.json (повна tauri-схема відхиляє partial), тому permissive any.json",
      "url": "any.json",
      "fileMatch": [
        "tauri.conf.*.json",
        "**/tauri.conf.*.json"
      ]
    },
    {
      "name": "github-action",
      "description": "action.yml/action.yaml (GitHub composite/JS actions)",
      "url": "vendor/github-action.json",
      "fileMatch": [
        "action.yml",
        "**/action.yml",
        "action.yaml",
        "**/action.yaml"
      ]
    },
    {
      "name": "github-workflow",
      "description": ".github/workflows/*.yml (GitHub Actions workflow-файли)",
      "url": "vendor/github-workflow.json",
      "fileMatch": [
        ".github/workflows/*.yml",
        "**/.github/workflows/*.yml",
        ".github/workflows/*.yaml",
        "**/.github/workflows/*.yaml"
      ]
    },
    {
      "name": "zizmor",
      "description": ".github/zizmor.yml (конфігурація zizmor — статичний аналізатор GitHub Actions)",
      "url": "vendor/zizmor.json",
      "fileMatch": [
        ".github/zizmor.yml",
        "**/.github/zizmor.yml",
        ".github/zizmor.yaml",
        "**/.github/zizmor.yaml"
      ]
    },
    {
      "name": "bunfig",
      "description": "bunfig.toml (конфігурація Bun runtime)",
      "url": "vendor/bunfig.json",
      "fileMatch": [
        "bunfig.toml",
        "**/bunfig.toml"
      ]
    },
    {
      "name": "mt-config",
      "description": ".mt.json / .mt-override.json — конфігурація @7n/mt (Nitra MT)",
      "url": "vendor/mt-config.json",
      "fileMatch": [
        ".mt.json",
        "**/.mt.json",
        "**/.mt-override.json"
      ]
    },
    {
      "name": "layers-config",
      "description": "Конфіг рушія шарової документації @7n/layers (<docsDir>/layers.json, напр. npm/docs/layers.json у репо mt)",
      "url": "layers-config.json",
      "fileMatch": [
        "**/docs/layers.json",
        "layers.json"
      ]
    }
  ]
}
