Files
core/skills/references/examples.md
T
2026-11-03 03:32:07 +00:00

2.4 KiB

示例

最小项目用 dever new <新目录>。下列项目可复制到新目录后修改,均包含源码、测试和配置。

场景 项目 用例筛选
集合、分句 collections content.article
HTTP、REST、身份核验 http-rest content.article.title
持久任务 jobs report.archive.queued
Python/JS/Go 与 Port fake external-lib document.markup
普通二进制与 Port fake command document.tool.version
dever fmt <root> --check
dever check <root>
dever test <root> --filter <表中筛选> --timeout-ms 5000

测试不会启动真实第三方程序或连接部署数据库。教程片段链接到这些项目的源码,校验脚本检查片段、签名及项目;运行验证使用当前编译器。

HTTP 与 REST

http-rest 包含匿名健康检查和受保护 Article 资源:

  • GET /system/health/admin/status/ready 返回成功包裹的 true。
  • /content/article/admin/entries 提供 REST;用 dever api 导出具体方法和输入输出。
  • verify 检查会话、用户、租户和成员关系;未提供注册、密码登录或签发凭据。

实际部署需配置密钥、身份数据、租户库和 Owner。角色由核心管理,不能把 fake 测试当作认证或部署验收。操作规则见 应用。

持久 Job

jobs 通过 report.archive.submit 入队,key 去重,Job 在事务中写入归档记录。测试用临时 SQLite、独立时钟和 drainJobs 验证队列,不启动常驻 worker。

真实 CMD 会写配置的数据库;无命令参数时才按 runtime.mode 启动服务:

dever run <root> -- report.archive.submit '{"input":{"key":"report-2026-10","title":"Monthly report"}}'

任务至少执行一次,外部副作用仍须业务幂等。执行身份和权限规则见 应用。

外部程序

external-lib 附三种生态的处理函数和 fake,不附真实依赖锁与运行资源,见 接入说明。

command 不附 bin/tool;真实运行前需提供目标架构的 ELF 及所需库。fake 只验证 App 与 Port 的接口。

collections 可直接运行,无需数据库:

dever run <root> -- content.article.summarize '{"articles":[{"title":"  First  ","published":true}]}'