贡献指南¶
欢迎贡献代码、文档、语言适配器与插件。完整指南见仓库 CONTRIBUTING.md, 这里给出要点。
开发环境¶
pip install -e ".[dev]"
python -m pytest # 全量测试
python -m flake8 --jobs=1 <files> # 风格检查
新增语言适配器¶
- 实现
LanguageAdapter(文件识别 /check_syntax/analyze_tests/ 输出解析), 参考anti_shortcut/languages/下现有实现。 - 注册到
LANGUAGE_REGISTRY与_LANGUAGE_MARKERS(自动检测)。 - 编写测试并保证覆盖率 ≥ 90%。
新增拦截规则 / 校验器¶
- 拦截规则签名:
rule(kind, target, config, stage, content=None) -> (bool, str) | None - 校验器:
{stage: fn}映射或带stage属性的可调用 - 内置规则包见
anti_shortcut/rules/,自定义规则可通过入口点或 YAMLrules:启用
插件开发¶
插件可通过入口点注册,python -m anti_shortcut plugin-verify 自动验证。
模板与提交流程见 插件与生态。
发布流程¶
版本号由 git tag 驱动:
git tag vX.Y.Z && git push origin vX.Y.Z
触发 CI + release 工作流(PyPI Trusted Publishing + sigstore 签名 + GitHub Release)。 每次发版前更新 更新日志。