Agentsight Auto Format

编辑代码文件后自动运行对应格式化工具,保持代码风格一致。适用于任何 AI coding agent。

alibaba 66816d7 2 files · 4.8 KB Updated

File contents

代码自动格式化

目标

编辑 .rs.py.ts.tsx 文件后,自动运行对应的格式化工具,保持代码风格一致。

触发时自动执行

每次编辑代码文件后(Edit、Write 等操作),对被修改的文件运行对应的格式化命令。格式化失败时静默跳过,不阻断工作流。

格式化规则

扩展名 命令 备注
.rs rustfmt <file> 直接调用,不需要 crate 上下文
.py ruff format <file> 没有 ruff 时用 black --quiet <file>
.ts .tsx prettier --write <file> 需要本地已安装 prettier

注意事项

  • 只格式化本次编辑的文件,不要全量格式化
  • 格式化工具不存在时跳过,不报错
  • 不要用 cargo fmt(需要 crate 上下文,对单文件不友好)
  • 不要用 npx prettier(会触发网络下载,有供应链风险)
  • 提交前仍需运行 cargo fmt --check / cargo clippy 做最终检查

Hook 自动化

本目录下的 post-edit-format.py 脚本可挂接到任何支持 PostToolUse hook 的 agent,实现机械式自动格式化。

脚本从 stdin 读取被编辑的文件信息(支持 hook JSON 和纯文本路径),自动分发到对应 formatter。用法:

echo "/path/to/file.rs" | python3 develop-skills/agentsight-auto-format/post-edit-format.py

各 agent 的 hook 配置方式不同,请参考对应 agent 文档将脚本挂在 PostToolUse(Edit/Write)事件上。hook 配置属于开发者本地设置,不提交仓库。

alibaba/anolisa/tree/main/src/agentsight/develop-skills/agentsight-auto-format commit 66816d7e29

Frequently asked questions

npx skillmds@latest add alibaba/agentsight-auto-format