mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-04-02 20:09:00 +08:00
- 实现AI-First配表方案,支持怪物、物品、技能等静态内容管理 - 集成YAML配置源文件与JSON Schema结构描述功能 - 提供一对象一文件的目录组织方式和运行时只读查询能力 - 实现Source Generator生成配置类型和表包装类 - 集成VS Code插件提供配置浏览、raw编辑和递归校验功能 - 开发YamlConfigSchemaValidator实现JSON Schema子集校验 - 支持嵌套对象、对象数组、标量数组与深层enum引用约束校验 - 实现跨表引用检测和热重载时依赖表联动校验机制
48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
# GFramework Config Tools
|
|
|
|
Minimal VS Code extension scaffold for the GFramework AI-First config workflow.
|
|
|
|
## Current MVP
|
|
|
|
- Browse config files from the workspace `config/` directory
|
|
- Open raw YAML files
|
|
- Open matching schema files from `schemas/`
|
|
- Run lightweight schema validation for nested required fields, unknown nested fields, scalar types, scalar arrays, and
|
|
arrays of objects
|
|
- Open a lightweight form preview for nested object fields, top-level scalar fields, and scalar arrays
|
|
- Batch edit one config domain across multiple files for top-level scalar and scalar-array fields
|
|
- Surface schema metadata such as `title`, `description`, `default`, `enum`, and `x-gframework-ref-table` in the
|
|
lightweight editors
|
|
|
|
## Validation Coverage
|
|
|
|
The extension currently validates the repository's minimal config-schema subset:
|
|
|
|
- required properties in nested objects
|
|
- unknown properties in nested objects
|
|
- scalar compatibility for `integer`, `number`, `boolean`, and `string`
|
|
- scalar arrays with scalar item type checks
|
|
- arrays of objects whose items use the same supported subset recursively
|
|
- scalar `enum` constraints and scalar-array item `enum` constraints
|
|
|
|
Object-array editing should still be reviewed in raw YAML.
|
|
|
|
## Local Testing
|
|
|
|
```bash
|
|
cd tools/vscode-config-extension
|
|
node --test ./test/*.test.js
|
|
```
|
|
|
|
## Current Constraints
|
|
|
|
- Multi-root workspaces use the first workspace folder
|
|
- Validation only covers a minimal subset of JSON Schema
|
|
- Form preview supports nested objects and scalar arrays, but object arrays remain raw-YAML-only for edits
|
|
- Batch editing remains limited to top-level scalar fields and top-level scalar arrays
|
|
|
|
## Workspace Settings
|
|
|
|
- `gframeworkConfig.configPath`
|
|
- `gframeworkConfig.schemasPath`
|