# 开发路线图

路线图按“可运行、可验证、可复现”的顺序推进。已完成项都能在提交记录、测试或验证文档中找到对应证据。

## 已完成：解析与诊断基础

- [x] `.pc` 变量、字段、注释与续行解析，按顺序展开变量。
- [x] 保留字段名和值的文件、行、列位置，并在出错后继续解析。
- [x] 元数据、版本约束、缺失依赖、循环和冲突诊断。
- [x] wasm、wasm-gc、JavaScript、native 四目标检查与测试。

## 已完成：依赖查询与可解释输出

- [x] 区分 `Requires`、`Requires.private`、`Libs.private` 和动态/静态查询。
- [x] 按稳定顺序聚合 Cflags/Libs，并保留每个参数的包、字段和源码位置。
- [x] 提供 POSIX shell 安全展示、结构化 JSON 和可选路径去重。
- [x] 支持多个有序搜索目录、版本查询与条件、变量查询与调用方覆盖。
- [x] 提供单文件检查、整目录检查和查询三组 CLI。

## 当前重点：扩大真实兼容证据

- [x] 加入 zlib 与 libffi 固定版本、提交及许可证的真实上游模板。
- [x] 在本地与 CI 自动差分验证 22 项 pkgconf 查询输出及退出码。
- [x] 在 `--explain` 中展示根包到参数所属包的最短依赖路径。
- [x] 按 pkgconf 3.0.7 的比较矩阵实现 `Provides` 范围声明，并加入官方样本及端到端差分。
- [x] 提供显式、可复现的系统路径过滤和 sysroot 重写，并与 pkgconf 3.0.7 差分。
- [x] 用 MoonPkgConfig 查询结果完成最小 C 静态库与 C++ 调用程序的编译、链接和运行闭环。

## 发布准备

- [x] 补齐仓库元数据，并在本地与 CI 检查 MoonCakes 打包清单。
- [ ] 由维护者确认 MoonCakes 命名空间并完成首次发布。
- [x] 固定0.1.0版本，整理发行说明草案，并提供单命令评审演示。
- [x] 核对仓库、许可证、来源、项目方向与申报核心内容一致；记录申报早期数字需更新。
- [ ] 在赛事正式截止时间前保留可复现的最终提交与 CI 记录。

当前项目仍不宣称完整替代 `pkg-config`/`pkgconf`。每次提交对应实际功能、测试、修复或文档变化，不为增加数量拆分无意义提交。
