# Profile schema

Use UTF-8 JSON. Treat the analyzer output as a draft: replace every `TODO` or uncertain value with project-backed content before generation.

## Required structure

```json
{
  "software": {
    "full_name": "示例业务管理软件",
    "short_name": "示例管理",
    "version": "V1.0"
  },
  "technical": {
    "development_hardware": "常见PC及配套硬件设备，建议四核处理器、8GB以上内存",
    "runtime_hardware": "常见PC及配套硬件设备，建议四核处理器、8GB以上内存",
    "development_os": "Windows 10或更高版本",
    "development_tools": "Visual Studio Code、Node.js及项目构建工具",
    "runtime_platform": "支持现代浏览器的桌面或移动操作系统",
    "support_software": "Node.js运行时及现代Web浏览器",
    "programming_languages": "TypeScript、HTML、CSS",
    "source_lines": "约18,500行"
  },
  "description": {
    "development_purpose": "为业务人员提供统一的数据录入、流程处理和结果展示工具，提升协作效率并降低重复操作成本。",
    "industry": "企业数字化管理与信息服务领域",
    "main_functions": "支持用户登录、业务信息维护、流程处理、条件查询、统计分析和系统配置等功能。",
    "technical_features": "采用前后端分层架构与组件化界面设计，支持模块复用、数据校验、响应式展示和跨平台浏览器运行。",
    "software_kind": "应用软件",
    "software_category": "其他应用软件",
    "summary": "本软件面向企业业务管理场景，提供从信息录入、业务处理到查询统计的一体化操作界面。系统通过模块化功能组织常用任务，并结合数据校验和状态反馈提高操作的准确性与可追溯性。"
  },
  "manual": {
    "sections": [
      {
        "title": "系统登录",
        "overview": "用户通过登录页面完成身份验证并进入系统。",
        "steps": [
          "输入已分配的账号和密码。",
          "点击“登录”按钮，验证成功后进入主界面。"
        ],
        "screenshot": "/absolute/path/login.png"
      }
    ]
  },
  "evidence": {}
}
```

## Field rules

- `full_name`: use one stable Chinese software name across all three documents.
- `version`: use the visible form `V1.0` unless the user specifies another version.
- `source_lines`: derive from the scanned project. Prefer `约N行`; never invent a number.
- Application descriptions: keep `development_purpose` and `industry` concise; keep `main_functions` and `technical_features` accurate and generally under 180 Chinese characters each so the template table remains readable.
- `software_category`: use a category supported by the project evidence. Do not choose AI, finance, medical, security, or another regulated/specialized category merely because a dependency exists.
- `summary`: write 100–250 Chinese characters grounded in visible functions or source evidence.
- `manual.sections`: order sections in the normal user journey. Each screenshot path may be absolute or relative to the JSON file. Omit `screenshot` only when no UI image exists.
- `steps`: describe observable actions and outcomes. Do not invent default passwords, permissions, integrations, or business rules.

## Review gate

Before generation, search the JSON for `TODO`, `待确认`, `待命名`, `请填写`, and `XXXXXXXX`. The generator rejects these tokens by default.
