feat: unify source and skills for Dever 0.1.2 installation
This commit is contained in:
1 parent
a2e0436ed4
commit
19f122b4b4
47 files changed
+1951
-63
No files matched your search
@@ -0,0 +1 @@
|
||||
7889e0edaf5fbf1060bef4ad6e27106128485c8412a6f6cd4457dc67e112986e
|
||||
@@ -0,0 +1,2 @@
|
||||
/data/
|
||||
/hello-app
|
||||
@@ -0,0 +1,14 @@
|
||||
# Dever 应用开发
|
||||
|
||||
在本项目运行 `dever skill path .`,读取返回目录的 `SKILL.md` 和 `references/development.md`,使用与项目版本匹配的规则。AI 尚未接入 skill 时,可用 `dever skill install <新的AI技能目录>/dever-language` 创建稳定入口。这里使用 Dever 语言,不是 Go Dever 框架;命令缺失时按 README 的安装入口处理,不猜语法或用 dever-go 替代。
|
||||
|
||||
- 源码放在 `module/<组件>/<领域>/`,按职责使用 `app`、`domain`、`model`、`api`、`port`、`adapter`、`job`;只创建实际需要的角色。
|
||||
- 不写 `main.dever`、`package`、`import` 或 `expose`。API/CMD/Job 是入口;跨领域调用 App。
|
||||
- 部署配置只用 `config/setting.json`,不增加环境变量配置或写死真实地址、凭据。用户、租户和权限来自可信上下文,不用特殊账号 ID 判断权限;正常字面量与明确业务常量可以保留。
|
||||
- 修改前先读实际调用链并查找复用点。文件按内聚业务主题组织,函数须有业务含义、不变量、实际复用或隔离复杂流程的作用;不按行数拆分,不机械地一个函数一个文件,不建 `utils/common` 等通用桶。
|
||||
- 普通 CRUD 用 Model 与 REST,增加业务合同或编排才写 App,不叠加空转发层。API 只声明入口,Domain 保存业务规则,外部能力经 Port/Adapter。
|
||||
- 不用假调用、吞错、假成功、修改接口基线、弱化测试或转移到第三方语言绕过检查。只清理本次引入或废弃的代码,保留无关修改。
|
||||
- 保持当前项目源码格式一致。Markdown 源码只编译顶层 `dever` 围栏,声明文档必须与源码一致。
|
||||
- 修改后执行范围内的 `dever fmt . --check`、`dever check .` 和适当验证。check 静态执行与 run/build 相同的应用入口可达性及冗余硬检查,不准备外部依赖或执行应用;报告实际覆盖范围,不能把 check 成功当作全部验收。
|
||||
- 普通测试位于 `test/<组件>/<领域>/`,用文件同名零输入零输出函数,外部能力用 Port fake。`dever test .` 会运行全部应用测试,已有大项目不默认全量执行;新模板的小套件可完整验证。遵守用户对生产数据、服务、真实数据库和压测的限制。
|
||||
- 安装、升级、依赖准备与业务运行分开;`run/build` 不隐式联网。没有用户要求,不提交或推送 Git。
|
||||
@@ -0,0 +1,24 @@
|
||||
# Dever 应用
|
||||
|
||||
这是无需数据库、鉴权或第三方工具的最小 CMD 项目。
|
||||
|
||||
在项目目录运行:
|
||||
|
||||
```sh
|
||||
dever check .
|
||||
dever fmt . --check
|
||||
dever test .
|
||||
dever run . -- hello.greeting.greet '{"name":"Dever"}'
|
||||
dever build . --output hello-app
|
||||
./hello-app hello.greeting.greet '{"name":"Dever"}'
|
||||
```
|
||||
|
||||
问候结果为 `Hello, Dever`。输入由 `api` 的 CMD 声明解析并传给 `app.greet`;业务不读取环境变量,配置在 `config/setting.json`。
|
||||
|
||||
以上命令适用于这个最小模板;项目扩大后按改动选择验证,`dever test .` 会执行整个项目的应用套件。`check` 静态执行与 run/build 相同的应用入口可达性及冗余硬检查,无需准备运行资源;它不执行应用,不能代替运行或业务验收。
|
||||
|
||||
AI 开发规范见本项目 `AGENTS.md`。运行 `dever skill path .` 获取项目对应版本的完整 `dever-language` skill,开发前读取其中 `references/development.md`。AI 的稳定 skill 入口可用 `dever skill install <新的AI技能目录>/dever-language` 安装;核心与配套 skill 通过 `dever update` 同步更新,已锁定版本的项目仍使用自己的版本。
|
||||
|
||||
首次安装入口为 `https://git.dever.cc/shemic/dever/install`,源码仓库为 `ssh://git@git.dever.cc:2222/shemic/dever.git`。安装前确认该站已发布对应平台的脚本和签名包;部署完成后可用 `curl -fsSL https://git.dever.cc/shemic/dever/install | bash`,机器安装需要管理员权限。仓库可访问不代表二进制已经发布。
|
||||
|
||||
普通 `.dever` 与 Markdown `.dever.md` 共享语言规则。用 `dever new <新目录> --markdown` 创建 Markdown 项目。目录必须不存在,生成器不会覆盖已有项目。
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"log": {
|
||||
"level": "info"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
cmd greet = app.greet
|
||||
@@ -0,0 +1,17 @@
|
||||
# 问候命令
|
||||
|
||||
将命令行 JSON 输入交给 App。
|
||||
|
||||
- 包:`hello.greeting.api`
|
||||
- 公开类型:无
|
||||
- 公开方法:无
|
||||
- 使用:无
|
||||
|
||||
## greet
|
||||
|
||||
声明问候命令。
|
||||
|
||||
- 声明:`cmd greet`
|
||||
|
||||
```dever
|
||||
{{source}}```
|
||||
@@ -0,0 +1,3 @@
|
||||
greet(name: Text) (message: Text) {
|
||||
message = "Hello, " + name
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
# 问候
|
||||
|
||||
提供可复用的问候用例。
|
||||
|
||||
- 包:`hello.greeting.app`
|
||||
- 公开类型:无
|
||||
- 公开方法:
|
||||
- `greet`
|
||||
- 使用:
|
||||
- `hello.greeting.greet(name)`
|
||||
|
||||
## greet
|
||||
|
||||
根据名字生成问候。
|
||||
|
||||
- 函数:`greet`
|
||||
- 输入:
|
||||
- `name: Text`:名字
|
||||
- 输出:
|
||||
- `message: Text`:问候
|
||||
|
||||
```dever
|
||||
{{source}}```
|
||||
@@ -0,0 +1,4 @@
|
||||
greet() () {
|
||||
message = app.greet("Dever")
|
||||
assert_eq(message, "Hello, Dever")
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
# 问候测试
|
||||
|
||||
检查问候用例的输出。
|
||||
|
||||
- 包:`hello.greeting.greet`
|
||||
- 公开类型:无
|
||||
- 公开方法:无
|
||||
- 使用:无
|
||||
|
||||
## greet
|
||||
|
||||
调用真实 App 并断言输出。
|
||||
|
||||
- 函数:`greet`
|
||||
- 输入:无
|
||||
- 输出:无
|
||||
|
||||
```dever
|
||||
{{source}}```
|
||||
Reference in new issue
Block a user