mirror of
https://github.com/shadowsocks/ShadowsocksX-NG.git
synced 2026-10-29 13:43:49 +00:00
be30f64f9f49c78c0e706c5988043d37960910ee
两类文档来源不同,处理方式也不同: - system-proxy-runtime-control-spec.md、terminal-command-address-spec.md 是 to-spec 技能的原样产物(英文模板小节标题,无标题与日期头)。其内容已发布为 Issue #72 / #73,人类需要的信息已由同日提交的无后缀中文文档承载;在仓库里再 存一份,等于同一份规格有两个事实来源。删除后仍可从 git 历史追回。 - user-plugin-*-spec.md 四份来自 improve-codebase-architecture 会话:该技能把 报告写进 OS 临时目录、不写 docs/design/,因此这四份是模型模仿仓库既有 -spec.md 旧例命名(“猜测旧例”而非技能指令)。去掉后缀后仓库不再有该样板, 后续模型少了可模仿的命名来源。四份保留原名主体,内容不动。 影响面:这六份文件全仓库零入站引用(含 docs/ 内部),移除与改名都无需改写链接。 docs/design/ 现为 12 份,无一带 -spec 后缀,与 AGENTS.md 的定位一致。 有意不做:不加“docs/design/*.md 必须带可解析 日期:/状态: 头”的确定性检查。 AI 输出本就无法保证规范化;更关键的是这类文档的“状态”只描述某次改进上下文, 不跟踪现状,把它当可校验字段是假精确。日期是写作时点的事实,两回事。
ShadowsocksX-NG
🚧 重新实现进行中 —— 本仓库正在使用现代技术栈重写 ShadowsocksX-NG macOS 客户端。
新工程不再通过 git 子模块在仓库内构建依赖,而是直接复制上游项目发布好的可执行文件,以简化构建流程。
目录结构
.
└── ShadowsocksX-NG2/ # 新工程:现代化重写版本(开发中)
旧版工程源码已从本仓库移除,归档在 shadowsocks/ShadowsocksX-NG 的 legacy-v1 分支,仅供参考,不保证可构建;其功能说明与使用文档见 legacy-v1 的 README。
开发钩子
新 clone 后,在仓库根目录启用 Git hooks:
git config core.hooksPath .githooks
启用后,pre-commit 只检查暂存区中 ShadowsocksX-NG2/ 下的 .swift 文件:swift format 的结果写回暂存区、不修改工作区;SwiftLint 的 error 级违规拒绝提交,warning 仅提示。其他文件跳过;没有 NG2 Swift 文件时直接放行。含有 NG2 Swift 文件但缺少工具时,提交检查失败。两关都把「工具没能执行」与「查出问题」分开报告:看到「执行失败」应查工具与配置环境,而不是去改代码。工具安装与版本见 ShadowsocksX-NG2/README.md。
领域文档语言
本项目的 术语表 和新建 架构决策记录(ADR) 使用简体中文,代码标识符与必要的英文术语保留原文;已有 ADR 保留原文,不作语言迁移。
AI 生成大量文档后,人与机器之间的沟通成为协作瓶颈:人的阅读、理解和审阅速度决定了文档能否有效推动开发。使用简体中文可以降低维护者的认知负荷,提高沟通与审阅效率。
Languages
Swift
95.8%
Python
2.5%
Shell
1.4%
C
0.3%