AC Spec Parser 用于解析和校验项目规格说明,主要服务于自主编码场景。
用途
该工具将 YAML、JSON、Markdown 格式的规格说明解析为结构化数据,以便进行功能生成和规划。
主要能力
支持三种格式:YAML(.yaml、.yml)用于结构化规格;JSON(.json)用于机器可读规格;Markdown(.md)用于带章节的人类可读规格。
规格 Schema 包含以下部分:
- project:name(项目名称)、description(项目描述)、type(类型,如 web-app、api、cli、library)。
- requirements:functional(功能需求,含 id、description、priority、acceptance_criteria)与 non_functional(非功能需求,含 id、description、category,如 performance、security、usability)。
- technology:language(如 python、typescript、go)、framework(如 fastapi、nextjs、gin)、database(如 postgresql、mongodb)。
- constraints:约束条件列表,例如“Must run on AWS”“Budget under $100/month”。
工作流程
- Load:从磁盘读取规格文件。
- Parse:转换为结构化数据。
- Validate:检查必填字段与 schema。
- Normalize:标准化格式以供下游使用。
- Export:输出给功能分析器。
校验规则
- 项目名称必填。
- 至少一条功能需求。
- 所有需求 ID 唯一。
- 优先级取值有效。
- 技术栈一致。
使用方式
代码示例:
from scripts.spec_parser import SpecParser
parser = SpecParser(project_dir) spec = await parser.parse("spec.yaml") print(spec.project_name) print(spec.requirements)
完整实现参见 scripts/spec_parser.py。
集成
被以下工具使用:ac-spec-generator(从解析后的规格生成功能列表)、ac-feature-analyzer(分析需求)、ac-complexity-assessor(估算复杂度)。
适用场景
适用于需要将项目规格说明结构化并校验,以驱动自主编码、功能生成与规划的流程。
限制
资料未提供关于收费、价格、平台支持范围、性能指标或具体效果的信息。