建立 docs/user/ 和 docs/development/ 分层文档结构: - docs/README.md 文档总路由、归属矩阵、影响分析规则 - docs/user/ 模板使用、配置、部署、故障排查 - docs/development/ 架构、后端、前端、构建发布开发规范 - README.md 轻量化为项目入口和索引 - 删除 DEVELOPMENT.md,内容拆分至专题文档 - 更新 openspec/config.yaml 首读入口和文档影响分析规则 - 修正 docs/prompts/README.md 过时引用和边界说明
3.4 KiB
3.4 KiB
配置文件
项目使用 YAML 配置文件,配置文件为启动时的必传参数,支持通过 JSON Schema 编辑器提示和显式变量引用。配置中的相对路径均基于配置文件所在目录解析,绝对路径保持不变。
配置文件
复制 config.example.yaml 为 config.yaml(或任意名称),根据需要修改:
# yaml-language-server: $schema=./config.schema.json
server:
listen:
host: "127.0.0.1"
port: 3000
storage:
dataDir: ./data
logging:
level: info
console:
level: info
file:
level: info
path: "./logs/my-app.log"
rotation:
size: 50MB
frequency: daily
maxFiles: 14
server.listen
| 字段 | 类型 | 说明 |
|---|---|---|
| host | string | 监听地址,默认 127.0.0.1 |
| port | number | 监听端口,默认 3000 |
server.storage
| 字段 | 类型 | 说明 |
|---|---|---|
| dataDir | string | 数据目录,默认 ./data,相对路径基于配置文件目录解析 |
server.logging
| 字段 | 类型 | 说明 |
|---|---|---|
| level | string | 全局日志级别(trace/debug/info/warn/error/fatal),默认 info |
server.logging.console
| 字段 | 类型 | 说明 |
|---|---|---|
| level | string | 控制台日志级别,未设置时继承 server.logging.level |
server.logging.file
| 字段 | 类型 | 说明 |
|---|---|---|
| level | string | 文件日志级别,未设置时继承 server.logging.level |
| path | string | 日志文件路径,默认 /logs/my-app.log |
server.logging.file.rotation
| 字段 | 类型 | 说明 |
|---|---|---|
| size | string | 按大小轮转,支持 B/KB/MB/GB 单位,默认 50MB |
| frequency | string | 按时间轮转(hourly/daily/weekly),默认 daily |
| maxFiles | number | 最大归档文件数,默认 14 |
JSON Schema
根目录 config.schema.json 为配置文件的 JSON Schema,支持 IDE 自动补全和校验。
bun run schema # 重新生成 config.schema.json
bun run schema:check # 校验 config.schema.json 是否同步
变量语法
YAML 配置中支持显式变量引用:
${KEY} 引用变量,未定义时报错
${KEY|value} 引用变量,未定义时使用默认值
${KEY|} 引用变量,未定义时使用空字符串
$${KEY} 转义,输出 ${KEY} 原文字面量
变量解析优先级:variables 字段 > process.env > 默认值 > unresolved 报错
完整变量引用(整个值只有 ${...})保留原始类型:${PORT|3000} 解析为 number 3000。部分拼接统一转为 string。
配置优先级
variables 字段 > 环境变量 > 默认值 > unresolved 报错
环境变量不会隐式覆盖配置,只有通过 ${KEY} 显式引用时才生效。
使用自定义配置
bun run dev custom-config.yaml