这是一个专为开发者设计的 Git 命令行打字练习工具,灵感来源于 qwerty.liumingye.cn。通过肌肉记忆的训练,帮助用户快速掌握常用的 Git 命令,将繁琐的命令输入转化为本能反应。
- 海量 Git 词库: 涵盖基础、分支、远程、历史、进阶五大分类,共计 80+ 核心命令。
- 沉浸式打字练习: 仿终端风格界面,提供实时的按键反馈与进度追踪。
- 即时数据反馈: 练习结束后实时计算 WPM (字速)、准确率、总耗时。
- AI 导师建议: 集成 Google Gemini API,根据你的练习记录生成量身定制的“专业进阶技巧”。
- 跳过功能: 练习中途可点击“跳过并结束”快速查看结果。
本项目基于现代浏览器的原生 ES Module 特性构建,无需复杂的构建步骤,开箱即用。
- 环境要求: 现代浏览器(Chrome, Edge, Safari 等)及互联网连接。
- 启动步骤:
- 将项目代码下载到本地。
- 在项目根目录下启动静态文件服务器:
- VS Code: 使用
Live Server插件(最推荐)。 - Node.js: 执行
npx serve。
- VS Code: 使用
- 浏览器打开地址即可看到界面。
项目中的 AI 建议功能需要 Google Gemini API 支持。
前往 Google AI Studio 然后点击左下角的create apiKey免费创建一个 API Key。
由于本项目采用纯前端 ESM 加载,最直接的本地修改方式如下:
- 打开文件
services/gemini.ts。 - 找到第 14 行左右:
const apiKey = process.env.API_KEY || '';。 - 将其修改为:
const apiKey = '你的真实密钥内容';。 - 保存文件,刷新浏览器页面即可。
通过 AppState 枚举(MENU, PRACTICE, RESULTS)驱动视图切换,确保逻辑清晰,状态互不干扰。
- 受控输入: 在
TypingArena.tsx中使用隐藏的input捕获输入,有效处理中文输入法带来的冲突。 - 实时校验: 每一击都会进行字符比对,错误时强制阻断,确保形成正确的肌肉记忆。
利用 gemini-3-flash-preview 模型的高性能响应,通过将用户练习的命令数组序列化后作为上下文,请求模型生成针对性的进阶技巧,实现“练”与“学”的闭环。
- React 19: 组件化核心
- Tailwind CSS: 响应式 UI 样式
- Framer Motion: 动画效果
- Lucide React: 矢量图标
- @google/genai: 官方 Gemini SDK