# GITX 项目亮点说明

GITX 是一个面向新手开发者 Git 工作流的智能 CLI/TUI 工具。它让开发者仍然在熟悉的终端环境中输入 Git 命令，同时把飞书团队知识、项目规范、排障经验和协作流程接入到命令行场景里，帮助开发者更快完成命令理解、错误修复和团队协作跟进。


## 维度 1：完整性与价值

### 解决的问题与痛点

GITX 聚焦团队开发中非常具体的 Git 协作痛点：

- 新人开发者不熟悉 Git 命令和团队规范，遇到问题时需要反复查资料或询问同事。
- Git 报错信息通常偏底层，开发者很难快速判断是命令参数问题、仓库状态问题，还是团队流程问题。
- 团队的提交规范、排障手册、需求看板、开发记录、review 流程分散在飞书文档、多维表格和群聊中，命令行里无法即时获得。
- push、PR、review、开发记录更新等协作动作容易依赖人工记忆，信息同步不及时会影响维护者 review 和产品侧验收。

GITX 的价值在于把这些原本分散在“终端、文档、群聊、看板”之间的动作收束到开发者当前工作流里，减少上下文切换和重复沟通。

### 产品闭环

项目已经形成一个可解释、可演示、可扩展的工作流闭环：

1. 开发者在 TUI 中输入 Git 命令。
2. runtime 解析命令、分类 Git 子命令、采集当前仓库状态。
3. 命令执行前可主动请求帮助或风险提示。
4. 命令真实执行后，系统根据成功或失败结果进入不同处理阶段。
5. 失败时给出错误原因解释和下一步修复建议。
6. 成功后提示开发者进行开发记录、review 通知、需求状态更新等协作跟进。
7. 涉及飞书写入、发消息、预约会议等敏感操作时，要求用户通过 `/chat` 明确触发。

这个闭环覆盖了“命令前理解 -> 命令执行 -> 错误修复 -> 成功后协作”的完整链路，不只是单点问答工具。



### 实际价值

GITX 对不同角色都有明确价值：

- 对新人开发者：降低 Git 协作和团队规范学习成本，减少“报错后不知道下一步做什么”的卡顿。
- 对个性化学习：系统会记录同类 Git 命令的连续成功次数和最近失败模式，让后续帮助能结合用户真实卡点，给出更贴近个人学习阶段的建议。
- 对资深开发者和维护者：减少重复答疑，把 review 通知、开发记录和需求状态流转前置到开发工作流中。
- 对产品和项目管理角色：让需求推进状态更容易从开发行为中自然同步，减少信息滞后。
- 对团队知识沉淀：让飞书里的文档、排障手册和协作规范可以在真实开发现场被复用。

因此，GITX 的价值不只是帮一个人修 Git 命令，而是让个人开发动作更自然地连接到团队协作流程。

## 维度 2：创新性

### 产品形态创新

GITX 的创新首先体现在产品形态上：它不是网页问答工具，也不是 IDE 插件，而是直接工作在开发者每天使用的终端/TUI 中。用户不需要离开命令行，就能获得团队知识和协作建议。

这种形态更贴近 Git 使用现场，也更适合处理“命令刚失败”“刚 push 完”“准备 commit”这类强上下文场景。

### 工作流创新

项目把 Git 操作拆成命令前、执行后、失败后、成功后和自由协作请求几个阶段，每个阶段对应不同的用户意图和风险等级：

- 命令前：帮助用户理解命令、检查风险、生成提交建议。
- 失败后：结合真实错误输出给出修复路径。
- 成功后：提醒下一步协作动作，但不直接越权执行。
- `/chat`：用户明确表达协作意图后，再进行飞书侧操作。

这种阶段化设计让工具既能主动帮助，又不会过度打扰或越权行动。


### 可复用与可推广

GITX 的思路可以推广到更多命令行和企业协作场景：

- Git 工作流可以扩展到 CI/CD、数据库迁移、Kubernetes、包管理等高风险 CLI 场景。
- 飞书协作能力可以扩展到审批、任务、OKR、会议纪要、邮件等企业系统。

## 维度 3：技术实现性

### 架构合理性

项目采用清晰的分层结构：

- `src/tui`：基于 Ink/React 的终端交互界面，负责输入、历史、状态栏、工具进度和输出渲染。
- `src/runtime`：负责命令解析、执行、补全、Git 状态采集、实验记录、命令成功/失败统计。
- `src/agent`：封装命令侧 Agent、飞书侧 Agent、Skill registry、memory tools 和运行时适配。
- `src/integrations`：封装 tldr、lark-cli 等外部工具集成。
- `skills`：沉淀项目内任务规则和飞书操作流程，方便后续维护和扩展。
- `experiments/flowdesk`：提供可复现演示场景、fixture、导出和评分入口。

这种分层让 UI、命令执行、协作集成、Agent 决策和实验评估各自独立，降低了后续迭代成本。

### 工程稳定性

项目已经具备较多真实产品所需的工程细节：

- 使用 TypeScript 和结构化类型定义保证核心数据边界。
- 命令执行使用 `spawn`/`execFile`，避免把用户命令拼接进 shell 字符串。
- Git 命令保留真实 `stdout`、`stderr` 和 `exitCode`，便于准确诊断。
- Git 命令统计会持久化同类命令的成功次数和最近失败记录，为个性化帮助、重复错误识别和新人学习建议提供数据基础。
- lark-cli 集成支持安装缺失提示、进程中断、输出捕获和可选 TUI 实时转发。
- TUI 支持 ghost completion、命令历史、滚动、工具进度、Agent 中断、上下文状态栏等交互能力。
- 测试覆盖 runtime、TUI、agent、integrations、FlowDesk experiment 等模块，验证命令解析、阶段路由、安全边界、历史压缩、飞书 action 约束和实验记录。

### 演示与评估能力

FlowDesk 实验场景让项目具备稳定 demo 和后续量化评估基础：

- reset 脚本可以幂等重建不同 Git 状态。
- 本地文档 fixture 可以模拟飞书知识库，保证离线演示稳定。
- JSONL 运行记录可以沉淀命令输入、命令结果、Agent 输出和建议命令。
- export/score 入口保留了后续接入自动评估器的位置。

这意味着项目不仅能演示“看起来能跑”，还为后续持续验证和迭代留好了数据入口。
