# C1.source/AGENTS.md - 源码目录规则 适用于 `/Users/ar/Projects/Aligner/03-O/C1.source`。 ## 当前事实 - 本目录是 SwiftPM 源码根目录。 - 本目录不是 Git 根目录;Git 命令在 `/Users/ar/Projects/Aligner/03-O` 下执行。 - App 名:`Aligner`。 - Bundle ID:`com.ar.Aligner`。 - 最低 macOS:`26.0`。 - 当前产品入口:只有 `quickSwitch`。 - 默认 Quick Switch 快捷键:`Option+Tab`。 ## 读取顺序 1. `/Users/ar/Projects/Aligner/AGENTS.md` 2. `/Users/ar/Projects/Aligner/PROJECT.md` 3. `/Users/ar/Projects/Aligner/GLOSSARY.md` 4. `/Users/ar/Projects/Aligner/03-O/README.md` 5. 当前任务相关的 Round / 架构文档 6. UI 修改时读 `/Users/ar/Projects/Aligner/DESIGN.md` ## 代码边界 - 可脱离 App 壳的核心产品逻辑优先放在 `Sources/AlignerCore`。 - App 启动、AppKit 窗口、权限 UI、运行时 wiring 放在 `Sources/Aligner`。 - 私有 API / 系统集成代码必须隔离在窄的基础设施边界后,当前位置是 `Sources/Aligner/Infrastructure/PrivateAPI` 或相邻 infrastructure 目录。 - 业务逻辑应依赖协议,不要散落直接系统调用。 - 不要手动编辑 `.build/`。 当前 Quick Switch 规则: - 展示最小化窗口。 - 隐藏 App 窗口不展示。 - 过滤幽灵窗口和非任务系统浮层。 - 全屏 App 窗口必须可发现。 - 永远不要吞掉或阻挡 `Command+Option+Esc` Force Quit。 ## 验证 从 `/Users/ar/Projects/Aligner/03-O/C1.source` 执行: ```bash swift build 2>&1 | head -c 6000 swift test 2>&1 | head -c 6000 ``` 打包时执行: ```bash /Users/ar/Projects/Aligner/03-O/C3.tools/package-app.sh 2>&1 | head -c 6000 ``` 如果不能运行验证,说明具体原因和剩余风险。 ## 修改规则 - 改动范围贴住任务。 - 行为变化可测试且成本合理时,新增或更新测试。 - 不要改变 Bundle ID、最低 macOS、签名假设、快捷键语义或权限行为,除非用户明确要求。 - 不要提交构建产物,除非任务就是打包 / 发布。 - 不要把参考源码项目里的规则套到本源码目录。