Skip to content

yourongchao/gitMasterTyping

Repository files navigation

GitMaster 打字大师 (GitMaster Typer)

这是一个专为开发者设计的 Git 命令行打字练习工具,灵感来源于 qwerty.liumingye.cn。通过肌肉记忆的训练,帮助用户快速掌握常用的 Git 命令,将繁琐的命令输入转化为本能反应。


🌟 项目核心功能

  • 海量 Git 词库: 涵盖基础、分支、远程、历史、进阶五大分类,共计 80+ 核心命令。
  • 沉浸式打字练习: 仿终端风格界面,提供实时的按键反馈与进度追踪。
  • 即时数据反馈: 练习结束后实时计算 WPM (字速)准确率总耗时
  • AI 导师建议: 集成 Google Gemini API,根据你的练习记录生成量身定制的“专业进阶技巧”。
  • 跳过功能: 练习中途可点击“跳过并结束”快速查看结果。

🛠 如何运行项目

本项目基于现代浏览器的原生 ES Module 特性构建,无需复杂的构建步骤,开箱即用。

  1. 环境要求: 现代浏览器(Chrome, Edge, Safari 等)及互联网连接。
  2. 启动步骤:
    • 将项目代码下载到本地。
    • 在项目根目录下启动静态文件服务器:
      • VS Code: 使用 Live Server 插件(最推荐)。
      • Node.js: 执行 npx serve
    • 浏览器打开地址即可看到界面。

🔑 关于 Gemini API Key (本地使用指南)

项目中的 AI 建议功能需要 Google Gemini API 支持。

1. 如何获取 Key?

前往 Google AI Studio 然后点击左下角的create apiKey免费创建一个 API Key。

2. 在本地如何修改代码以生效?

由于本项目采用纯前端 ESM 加载,最直接的本地修改方式如下:

  1. 打开文件 services/gemini.ts
  2. 找到第 14 行左右:const apiKey = process.env.API_KEY || '';
  3. 将其修改为:const apiKey = '你的真实密钥内容';
  4. 保存文件,刷新浏览器页面即可。

⚠️ 重要提示:一旦你在代码中写入了真实的 API Key,请务必不要将此文件上传到 GitHub 等公开平台,以免密钥泄露造成额度损失。


🧠 逻辑实现讲解

核心状态流转

通过 AppState 枚举(MENU, PRACTICE, RESULTS)驱动视图切换,确保逻辑清晰,状态互不干扰。

打字引擎

  • 受控输入: 在 TypingArena.tsx 中使用隐藏的 input 捕获输入,有效处理中文输入法带来的冲突。
  • 实时校验: 每一击都会进行字符比对,错误时强制阻断,确保形成正确的肌肉记忆。

AI 智能驱动

利用 gemini-3-flash-preview 模型的高性能响应,通过将用户练习的命令数组序列化后作为上下文,请求模型生成针对性的进阶技巧,实现“练”与“学”的闭环。


🏗 技术栈

  • React 19: 组件化核心
  • Tailwind CSS: 响应式 UI 样式
  • Framer Motion: 动画效果
  • Lucide React: 矢量图标
  • @google/genai: 官方 Gemini SDK

About

git命令打字练习

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages