ワンクリックで
bddc
行为驱动开发编译器 (BDDC)。使用此技能通过 DSL 管理 BDD 测试,该 DSL 可编译为 ExUnit 测试。包括从 .dsl 文件生成测试、验证指令集以及通过 lint 确保测试质量。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
行为驱动开发编译器 (BDDC)。使用此技能通过 DSL 管理 BDD 测试,该 DSL 可编译为 ExUnit 测试。包括从 .dsl 文件生成测试、验证指令集以及通过 lint 确保测试质量。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Create and use Mix.install standalone scripts for debugging Elixir code, testing APIs, exploring libraries, and isolating problems. Use when you need to test third-party integrations, verify library behavior, debug signatures, or prototype solutions outside the main project.
调用 Google Jules API 进行远程代理协作编程。适用于跨仓库重构、自动 PR 生成、以及需要利用 Google 强大远程代理能力的场景。
Remote debugging for BEAM/Elixir in production-like environments. Use when you need to enter a live container or host via kubectl exec or ssh to run IEx/remote RPC, reproduce issues, and collect telemetry/metrics safely with human-in-the-loop approval.
Invoke external agent CLIs (codex/gemini/claude) via shell from chat.
Manage Elixir dependencies at runtime using Mix
Build professional, full-stack Phoenix LiveView prototypes in a single file. Ideal for temporary page demos, interactive feature archival, and standalone UI documentation.
| name | bddc |
| description | 行为驱动开发编译器 (BDDC)。使用此技能通过 DSL 管理 BDD 测试,该 DSL 可编译为 ExUnit 测试。包括从 .dsl 文件生成测试、验证指令集以及通过 lint 确保测试质量。 |
此技能支持“提案者-执行者 (Proposer-Executor)”工作流,用于高质量的行为驱动测试。它使用自定义 DSL 描述业务场景,并将其编译为标准的 ExUnit 集成测试。
.dsl 文件中的人类可读场景。Given、When 和 Then 步骤,包括它们的参数和类型。为了保证跨环境兼容性,项目在 .github/tools/ 存放了预编译的二进制文件。Agent 应遵循以下逻辑:
.github/tools/bddc-linux-x86_64 和 .github/tools/taskctl-linux-x86_64。test/bdd/dsl/(避免放在 docs/ 下被编译器错误扫描)。priv/bdd/instructions_v1.exs。.bddc.toml 进行配置。
[global]
in = "test/bdd/dsl" # DSL 输入目录
out = "test/bdd_generated" # 测试代码输出目录
docs_root = "test/bdd" # 文档根目录(影响模块命名)
instructions = "priv/bdd/instructions_v1.exs"
bddc compile 前,必须确保项目已成功编译(mix compile)。bddc compile --instructions priv/bdd/instructions_v1.exs。LET var_name = 'value'。注意 var_name 不要带 $ 前缀(编译器在定义时会自动处理,带 $ 会导致引用失败)。$var_name。'a' + 'b' 这种字符串拼接,必须在 LET 中定义完整字符串。正确示例:
LET args = '{"path":"file.txt","content":"hello"}'
WHEN execute_tool tool_name="write_file" args=$args
在完成任务前,必须运行以下脚本确保质量:
./scripts/bdd_gate.sh:专门针对 BDD 的编译与测试。./scripts/pre_deploy_check.sh:全量检查(编译、Credo、BDD)。在进行功能新增、Bug 修复或重构任务时,必须遵循以下步骤:
taskctl 生成 DAG 图,明确执行路径。test/bdd/dsl/ 编写 DSL 场景,确保测试先行。./scripts/bdd_gate.sh 进行闭环验证。./scripts/pre_deploy_check.sh,确保无编译警告且静态分析通过。bddc compile - 将 .dsl 文件转换为 test/bdd_generated/*_test.exs。bddc check - 全量验证(注意:在本项目中可能产生误报,优先使用 compile)。bddc lint - 检查测试异味(弱断言、固定休眠等)。当被要求“添加 BDD 测试”或“验证行为 X”时:
test/bdd/dsl/ 以获取相关 DSL。priv/bdd/instructions_v1.exs 以获取可用指令。.dsl 修改建议。./scripts/bdd_gate.sh。