nushell-craft 是 hustcer/nushell-pro 下的技能,用于编写、审查、审计和重构 Nushell(.nu)脚本,目标是让脚本符合 Nushell 惯例、性能良好、安全且易维护。
用途与核心原则:以管道思维处理数据,优先函数式转换而非命令式循环;默认使用 let 保持不可变,仅在无函数式替代时用 mut;利用表格、记录、列表等结构化数据而非解析字符串;代码在执行前静态解析,source/use 需要解析期常量;最后表达式即返回值;环境变更限于所在块,需要影响调用方时用 def --env;为参数和输入输出签名标注类型;不可变代码便于 par-each 并行化。
主要能力:区分管道输入($in)与函数参数,并给出类型签名写法;命名约定(命令 kebab-case、变量 snake_case、环境变量 SCREAMING_SNAKE_CASE);格式化规则;自定义命令的类型注解、I/O 签名、文档注释与参数指南;记录、表格、列表的数据操作模式与空值安全;函数式迭代(each、each --flatten、par-each、reduce、generate);变量与常量最佳实践;字符串格式优先级;模块与脚本结构;错误处理(error make、try/catch、complete、do -i、do -c);使用 std/assert 测试与调试技巧。
安全实践:不将不可信输入作为代码执行(避免 nu -c、source、^sh -c);命令与参数分离以防注入;校验路径防目录穿越;用 with-env 限定凭据作用域;用 mktemp 创建临时文件;检查外部命令退出码;谨慎执行 rm。
使用方式:作为技能在编写或审查 Nushell 脚本时调用,按安全、正确性、风格、性能四类清单逐项检查,并参考反模式表修正常见问题。
限制:资料未提供安装命令、收费方式、支持平台或具体版本要求,这些信息暂未提供。