Skip to content

Latest commit

 

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FormatBridge

FormatBridge 结构化数据转换工具

FormatBridge 是一款面向开发者的结构化数据工具集:在 JSON、YAML、CSV、TOML、INI 之间做语法校验、格式探测、美化/压缩与相互转换。同一套逻辑运行在 Dart 核心库、命令行 fbridge 与 Flutter 桌面 GUI 中,适合本地编辑、脚本流水线或接入自动化。

能做什么

  • 校验:按格式检查文本是否合法(auto 时按探测顺序尝试多种格式)。
  • 探测:对一段文本给出可能的格式与置信度。
  • 格式化 / 压缩:美化或压缩 JSON、YAML、CSV、TOML、INI 文本。
  • 转换:在上述格式之间转换(CSV 需为表结构,首行为表头;TOML/INI 与 JSON 模型之间的映射见引擎约定)。

仓库结构

路径 说明
packages/core formatbridge_core:纯 Dart 引擎,无 Flutter 依赖
packages/cli fbridge 命令行入口
flutter_app 桌面 GUI(Linux / macOS / Windows)

更细的构建步骤、依赖与排错见 docs/BUILD.md

命令行(CLI)

可执行入口为 fbridge(包名 formatbridge_cli)。在仓库内可直接用 Dart 运行,也可编译为原生可执行文件或 dart pub global activate 安装到 PATH。

cd packages/cli
dart pub get
dart run bin/fbridge.dart version

常用示例:

# 校验文件(可用 - 表示从 stdin 读)
dart run bin/fbridge.dart validate path/to/file.json
dart run bin/fbridge.dart validate sample.yaml --format yaml

# 探测格式
dart run bin/fbridge.dart detect - < ./data.txt

# 格式化(美化);可指定输出文件(与 convert 相同)
dart run bin/fbridge.dart format messy.json
dart run bin/fbridge.dart format messy.json cleaned.json

# 转换
dart run bin/fbridge.dart convert input.json output.yaml

子命令、管道、--json 机器可读输出等完整说明见 docs/CLI.md

图形界面(Flutter GUI)

Formatbridge GUI 界面(Light 模式)

FormatBridge 桌面应用提供三个页面,分别是:

  • 编辑页面:双栏(输入 + 输出区);「输出模式」下拉在美化 / 压缩间切换,随输入防抖自动更新输出区且不覆盖输入;校验、保存输出、拖拽与打开文件;CSV 输出可切换「ASCII 表 / 文本」;
  • 转换页面:双栏编辑 + 自动探测 + 拖拽与打开文件,支持 JSON / YAML / TOML / INI / CSV 等格式转换和导出;
  • 设置页面:支持主题设置(浅色 / 深色 / 跟随系统)、编辑器字体大小、允许编辑输出,偏好保存在本机。

构建方法:

cd flutter_app
flutter pub get
flutter run -d linux    # 或 macos / windows,见 flutter devices

发布构建:

cd flutter_app
flutter build linux     # 或 macos / windows

构建产物路径见 BUILD.md 中的说明。

文档与许可

许可证见仓库根目录 LICENSE

About

FormatBridge 是一款跨格式结构化数据转换工具,适用于开发者、自动化流程以及 AI 调用场景

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages