KIRINCODE.md 2.2 KB


name: KirinCode scope: enterprise

version: "0.1"

构建规则(务必遵守)

每次构建必须同步更新全部平台,不可只打单一平台:

# 完整构建流程(每一步都必须成功)
rm -rf packages/desktop/dist/ packages/desktop/out/ packages/kirincode/dist/
cd packages/kirincode && KIRINCODE_CHANNEL=prod bun script/build-node.ts  # 1. Server
cd ../desktop && KIRINCODE_CHANNEL=prod bun run build                      # 2. Desktop

# macOS DMG
KIRINCODE_CHANNEL=prod bun x electron-builder --mac --config electron-builder.config.ts

# Windows NSIS EXE (x64)
NSISDIR="$HOME/.local/share/nsis" ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/" \
KIRINCODE_CHANNEL=prod bun x electron-builder --win --x64 --config electron-builder.config.ts

# 验证版本一致性
# macOS: plutil -p dist/mac-arm64/K.app/Contents/Info.plist | grep CFBundleShortVersionString
# Windows: 卷名/文件名中的版本号

平台清单:

  • macOS DMG (arm64)
  • Windows EXE (x64, NSIS 安装器)
  • Windows 便携版 ZIP (NSIS 不可用时备选)

KirinCode — 开邻Claw

基于 OpenCode 的 AI 编码代理,具备自动记忆和技能学习能力。 Built on OpenCode (https://github.com/anomalyco/opencode) under MIT License.

项目结构

  • packages/kirincode/ — 核心 CLI + TUI 引擎
  • packages/kirincode-core/ — 自动记忆 + 技能系统插件
  • packages/desktop/ — Electron 桌面应用
  • packages/tui/ — 终端 UI 框架
  • packages/core/ — 核心共享库

构建命令

bun install
bun run --cwd packages/kirincode build

测试命令

bun run --cwd packages/kirincode test
bun run --cwd packages/kirincode typecheck

代码风格

  • TypeScript strict mode
  • Effect-TS 函数式编程范式
  • 使用 Bun 原生 API 优先
  • 避免 try/catch,使用 Effect 的 Either/Option
  • 函数式数组方法优于 for 循环

命名约定

  • 文件名: kebab-case
  • 变量/函数: camelCase
  • 类型/接口: PascalCase
  • Effect Service: Context.Service<Service, Interface>()("@kirincode/...")

上游同步

主分支跟踪 OpenCode dev 分支。 通过 rebase 保持同步,定制化代码集中在:

  • packages/kirincode-core/ (插件)
  • 品牌主题文件
  • 配置文件