用途:为 PostHog wizard 添加新的语言或框架集成(如 Ruby on Rails、Go、Angular)。向导采用数据驱动架构,没有按框架分支的 switch 语句,每个集成就是一个 FrameworkConfig 对象。
主要能力与结构:FrameworkConfig(src/lib/framework-config.ts)定义接口;FRAMEWORK_REGISTRY(src/lib/registry.ts)把 Integration 枚举映射到配置;Integration 枚举(src/lib/constants.ts)的顺序决定检测优先级与菜单显示顺序。通用 runner(src/lib/agent-runner.ts)统一处理调试日志、版本检查、欢迎语、beta 提示、AI 同意、凭据流程、agent 执行、错误处理与结束语。
使用方式:1)在 constants.ts 的 Integration 枚举中按所需检测/显示位置新增值;2)新建 src/<framework>/<framework>-wizard-agent.ts,导出上下文类型、FrameworkConfig<TContext> 对象和调用 runAgentWizard(CONFIG, options) 的薄 runner,配置含 metadata、detection、environment、analytics、prompts、ui 等分区;3)在 registry.ts 导入并注册;4)如需项目类型检测或版本提取等复杂逻辑,另建 src/<framework>/utils.ts 以保持可测试性。
检测约定:JS/TS 检查 package.json;Python 匹配 requirements*.txt、pyproject.toml、setup.py、Pipfile;PHP 检查 composer.json 或框架专有文件;Ruby 检查 Gemfile 或 Gemfile.lock;glob 需忽略虚拟环境与依赖目录。
验证:pnpm build、pnpm test、pnpm fix。可参考 nextjs、django、laravel 的现有配置。限制:资料未提供具体版本要求、支持框架清单及更多细节。