# 技术上下文与工具链 ## 核心技术 - C++23 Modules、CMake、Conan、Ninja:`lsp-server/` 主体工具链 - Tree-sitter:TSL 增量解析与语法树生成 - Glaze、Taskflow、spdlog:JSON、异步调度与日志基础设施 - TypeScript + VSCode API:`vscode/` 扩展 - Python 3:playbook 同步、Plan 流程与辅助脚本 ## 项目结构 ```text 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+ **运行测试**: ```bash ctest --test-dir lsp-server/build/clang-linux/Release --output-on-failure npm --prefix vscode run compile ``` **格式化 / Lint**: ```bash clang-format -i npx --prefix vscode prettier -w ``` ## 环境与平台差异 - 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