tsl-devkit/memory-bank/tech-context.md

2.5 KiB
Raw Blame History

技术上下文与工具链

核心技术

  • C++23 Modules、CMake、Conan、Ninjalsp-server/ 主体工具链
  • Tree-sitterTSL 增量解析与语法树生成
  • Glaze、Taskflow、spdlogJSON、异步调度与日志基础设施
  • TypeScript + VSCode APIvscode/ 扩展
  • Python 3playbook 同步、Plan 流程与辅助脚本

项目结构

tsl-devkit/
├── lsp-server/                # C++23 LSP 服务器、解析器与测试
├── vscode/                    # VSCode 扩展
├── vim/                       # Vim 语法与运行时支持
├── docs/standards/playbook/   # vendored playbook 快照
├── docs/prompts/              # playbook 管理的提示词入口
├── docs/superpowers/plans/    # 实施计划
└── memory-bank/               # 项目上下文

关键入口

  • lsp-server/src/core/server.cppm - LSP stdio 主循环
  • lsp-server/src/core/dispatcher.cppm - 请求分发入口
  • lsp-server/src/provider/ - 各类 LSP capability 实现
  • lsp-server/src/manager/ - 文档、解析、符号等共享状态
  • lsp-server/src/language/ - AST、语义、符号分析
  • docs/standards/playbook/scripts/playbook.py - 同步 playbook 管理文件
  • docs/standards/playbook/scripts/main_loop.py - Plan 领取与写回

开发环境

必需工具

  • Python 3
  • CMake 4.2+
  • Conan 2.x
  • Ninja
  • Clang 20+ 或 GCC 15+
  • Node.js 18+

运行测试

ctest --test-dir lsp-server/build/clang-linux/Release --output-on-failure
npm --prefix vscode run compile

格式化 / Lint

clang-format -i <cpp-files>
npx --prefix vscode prettier -w <ts-or-json-files>

环境与平台差异

  • Linux 是主开发环境Windows 构建通过 Conan profile + CMake 交叉编译支持
  • 仓库位于 CIFS 共享目录时git 索引状态可能不稳定,需要用轻量 stat 配置

依赖与限制

  • Conan 安装和部分构建步骤依赖外网或内网制品源
  • docs/standards/playbook/ 不做手工业务改造,只通过 subtree 更新
  • vscode/package.json 目前没有独立 lint 脚本TS 侧最基本验证是 npm run compile

验证约定

  • 文档 / playbook 变更至少要重新运行 python docs/standards/playbook/scripts/playbook.py -config playbook.toml
  • 代码改动的验证范围要与影响面匹配,至少覆盖对应模块的构建或测试
  • 在 CIFS 工作区里git 校验命令优先加 -c core.trustctime=false -c core.checkStat=minimal

最后更新2026-05-24