[
  {
    "path": "README.md",
    "group": "kit",
    "label": "迁移说明"
  },
  {
    "path": "CHANGELOG.md",
    "group": "kit",
    "label": "变更记录"
  },
  {
    "path": "AGENT_PROMPT.md",
    "group": "kit",
    "label": "Agent 接入 prompt"
  },
  {
    "path": "MANIFEST.json",
    "group": "kit",
    "label": "工具包元数据"
  },
  {
    "path": "copy/shared/utils/unicodeText/index.ts",
    "group": "unicodeText",
    "label": "统一导出入口"
  },
  {
    "path": "copy/shared/utils/unicodeText/countUnicodeCharacters.ts",
    "group": "unicodeText",
    "label": "用户感知字符计数"
  },
  {
    "path": "copy/shared/utils/unicodeText/truncateUnicodeCharacters.ts",
    "group": "unicodeText",
    "label": "用户感知字符截断"
  },
  {
    "path": "copy/shared/utils/unicodeText/sliceUnicodeCharacters.ts",
    "group": "unicodeText",
    "label": "用户感知字符切片"
  },
  {
    "path": "copy/shared/utils/unicodeText/substringUnicodeCharacters.ts",
    "group": "unicodeText",
    "label": "substring 语义切片"
  },
  {
    "path": "copy/shared/utils/unicodeText/getUnicodeCharacterAt.ts",
    "group": "unicodeText",
    "label": "按用户感知字符取单个字符"
  },
  {
    "path": "copy/shared/utils/unicodeText/isUnicodeTextBlank.ts",
    "group": "unicodeText",
    "label": "用户文本判空"
  },
  {
    "path": "copy/shared/utils/unicodeText/isUnicodeTextOverLimit.ts",
    "group": "unicodeText",
    "label": "用户文本超限判断"
  },
  {
    "path": "copy/shared/utils/unicodeText/countTrimmedUnicodeCharacters.ts",
    "group": "unicodeText",
    "label": "trim 后计数"
  },
  {
    "path": "copy/shared/utils/unicodeText/countUtf16CodeUnits.ts",
    "group": "unicodeText",
    "label": "UTF-16 code unit 计数"
  },
  {
    "path": "copy/shared/utils/unicodeText/truncateUtf16CodeUnits.ts",
    "group": "unicodeText",
    "label": "UTF-16 code unit 截断"
  },
  {
    "path": "copy/shared/utils/unicodeText/splitUnicodeCharacters.ts",
    "group": "unicodeText",
    "label": "用户感知字符拆分"
  },
  {
    "path": "copy/shared/utils/unicodeText/splitUnicodeGraphemeClustersFallback.ts",
    "group": "unicodeText",
    "label": "Intl.Segmenter fallback"
  },
  {
    "path": "copy/eslint/rules/ui-no-native-string-user-text-ops/index.ts",
    "group": "eslint",
    "label": "ESLint 规则入口"
  },
  {
    "path": "copy/eslint/rules/utils/eslint-rule-context.ts",
    "group": "eslint",
    "label": "ESLint RuleContext 兼容层"
  },
  {
    "path": "copy/eslint/rules/ui-no-native-string-user-text-ops/constants.ts",
    "group": "eslint",
    "label": "规则默认名单和替代建议"
  },
  {
    "path": "copy/eslint/rules/ui-no-native-string-user-text-ops/README.md",
    "group": "eslint",
    "label": "规则说明"
  },
  {
    "path": "copy/tests/unit/utils/unicode-text.test.ts",
    "group": "tests",
    "label": "Unicode 工具测试"
  },
  {
    "path": "copy/tests/unit/architecture/ui-no-native-string-user-text-ops-rule.test.ts",
    "group": "tests",
    "label": "ESLint 规则测试"
  },
  {
    "path": "examples/eslint.config.mjs",
    "group": "examples",
    "label": "ESLint flat config 示例"
  },
  {
    "path": "examples/user-input-handler.ts",
    "group": "examples",
    "label": "输入框处理示例"
  }
]
