灯塔代理工具
Lighthouse Agent Tooling-一组连接器、IDE扩展和AI原生开发工具,可将Lighthouse无缝集成到AI驱动的工作流程中。支持MCP(模型上下文协议)连接器、用于固定和加密数据集/模型的游标/IDE扩展。
代码风格
此仓库使用ESLint(平面配置)和Prettier来保证一致的代码质量和格式。
- 运行lint:
pnpm lint - 自动修复:
pnpm lint:fix - 格式:
pnpm format
预提交钩子通过Husky运行lint来格式化和lint更改文件。
先决条件
- Node.js:v18+(推荐:v22+)
- pnpm:v8+(用于工作区管理)
- TypeScript:v5+(自动安装)
包结构
此monorepo包含以下包:
@lighthouse-tooling/types-共享TypeScript类型和接口✅@lighthouse-tooling/shared-共享实用程序和通用代码@lighthouse-tooling/sdk-wrapper-Lighthouse和Kavach的统一SDK包装器@lighthouse-tooling/mcp-server-MCP(模型上下文协议)服务器@lighthouse-tooling/vscode-extension-VSCode扩展@lighthouse-tooling/cursor-extension-游标IDE扩展
构建过程
工作区设置(pnpm)
# Install all dependencies for the workspace
pnpm install
# Build all packages
pnpm run build
# Type check all packages
pnpm run type-check单个包构建
对于单独的包开发,在每个包目录中使用npm:
# Navigate to types package
cd packages/types
# Type checking
npm run type-check
# Build
npm run build
# Development mode (watch)
npm run dev
# Clean build artifacts
npm run clean备注:TypeScript通过pnpm安装在工作区级别。各个包使用npm作为其构建脚本。
类型包实现
这 @lighthouse-tooling/types 包提供了全面的TypeScript接口:
- 核心接口:
UploadResult,Dataset,AccessCondition,ProgressUpdate - MCP类型:
MCPToolDefinition,MCPRequest,MCPResponse - 认证:
AuthConfig,TokenInfo,APICredentials - 错误处理:
LighthouseError,RetryConfig - 工作区上下文:
WorkspaceContext,ProjectFile,GitInfo
用法
import { UploadResult, Dataset, AuthConfig, LIGHTHOUSE_MCP_TOOLS } from "@lighthouse-tooling/types";
// Create upload result
const uploadResult: UploadResult = {
cid: "QmHash...",
size: 1024,
encrypted: true,
uploadedAt: new Date(),
};发展
# Start development mode (watch all packages)
pnpm run dev
# Lint all packages
pnpm run lint
# Run tests
pnpm run test
# Run tests with coverage
pnpm run test:coverage
# Clean all build artifacts
pnpm run cleanCI/CD
该项目使用GitHub Actions进行持续集成和部署。
管道
| 工作流 | 触发器 | 描述 |
|---|---|---|
| 持续集成 | 将/PR推送到主 | 过梁、构建、类型检查和测试 |
| 发布 | 标签 v* 或手动 | 构建、测试、打包扩展、创建GitHub版本 |
CI职位
- 棉绒和格式:ESLint和Prettier检查
- 构建:编译所有TypeScript包
- 类型检查:TypeScript类型验证
- 测试:以覆盖率运行所有测试
Turbo远程缓存(可选)
启用远程缓存以实现更快的CI构建:
- 创建一个 维塞尔 帐户(免费版有效)
- 链接您的仓库:
npx turbo link - 从Vercel仪表板获取您的令牌
- 添加GitHub机密:
- TURBO_TOKEN:您的Vercel远程缓存令牌 - TURBO_TEAM (变量):您的Vercel团队蛞蝓
释放
- 更新相关版本
package.json文件 - 创建并推送标签:
git tag v1.0.0 && git push origin v1.0.0 - 发布工作流程将:
- 运行完整的CI验证 - 包VSCode和游标扩展 - 使用创建GitHub版本 .vsix 人工制品
VS市场发布(可选)
要自动发布到VS Marketplace,请执行以下操作:
- 得到一个 个人访问令牌
- 添加
VSCE_PATGitHub存储库的秘密 - 非预发布标签将自动发布
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
