SuperAPI AI 工具集

mix-tasks-generators

编程与开发

查看项目

更新于 10-15 22:16

技能介绍

用途:在 Elixir 项目中创建自定义 Mix 任务或使用 Phoenix 生成器时提供强制规范,强调 FCIS(纯领域模块、副作用置于边界)结构。主要能力与规则:访问数据库或 Repo 前必须先调用 Mix.Task.run("app.start");为项目专属流程建新任务而非覆盖标准任务;在 mix.exs 注册 preferred_cli_env;数据修改用 Repo.transaction/1 包裹;用 Mix.Project.in_project/4 测试任务;命名遵循 Mix.Tasks.Namespace.TaskName,文件须为 lib/mix/tasks/namespace.task_name.ex。工作流:建文件、defmodule ... use Mix.Task、加 @shortdoc、run/1 中用 OptionParser.parse/2 解析、按需启动 app、实现逻辑、注册配置、测试并用 mix help 确认。Phoenix 生成器示例:mix phx.gen.json、mix phx.gen.live、mix phx.gen.context、mix phx.gen.channel、mix phx.gen.html、mix phx.gen.auth。任务模式包括参数校验、子命令(up/down/status)、生成器(use Mix.Generator 的 create_file/embed_template)、别名与测试骨架。限制:删除类任务须默认 --dry-run 并要求 --force 或交互确认,禁止无条件 Repo.delete_all;忽略 OptionParser 错误、事务缺失、命名与路径不匹配均为常见错误。