Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🧠 Interactive CLI tool for learning Git through hands-on exercises in isolated Docker environments. Practice git commands safely with automated setup and validation.

License

Notifications You must be signed in to change notification settings

CapelleGab/Git-Tutor

Repository files navigation

🧠 GitTutor

GitTutor is an open source interactive CLI for practicing Git through hands-on exercises, executed in isolated environments using Docker.

Educational MIT License TypeScript Code Coverage

Docker Git PNPM CLI Open Source

🚀 Goal

Enable junior developers to learn and master Git through realistic and guided scenarios: init, commit, merge, rebase, conflicts, stash, etc. Each exercise is isolated in a Docker container, to avoid any interference with your local environment.


✨ Features

  • 🔄 In comming

📁 Project Structure

Git-Tutor/
├── docs/
│ └──LIBRARY.md # Library resume
├── src/
│ ├── main.ts # Entrée principale de la CLI
│ └── menu.ts # Main menu to select exercice
├── exercises/
│ └── init-commit/
│ ├── setup.ts # Prépare l’environnement de l’exercice
│ ├── validate.ts # Valide les actions de l’utilisateur
│ └── meta.json # Métadonnées de l’exercice
├── package.json
├── tsconfig.json
└── README.md

⚙️ How does it work?

  1. Start the CLI:
git-tutor
  1. Choose an exercise from the interactive menu

  2. The CLI:

    • creates a workspace workspaces/<exo>
    • launches an isolated Docker container with Git
    • runs setup.ts in this container to initialize the repository
  3. The user enters the container to complete the exercise:

docker exec -it git-tutor-<exo> sh
  1. Once finished, they run validation via the CLI

  2. validate.ts automatically checks the state of the repository


🐳 Docker & Environment

Each exercise is run in a Docker container:

  • Local volume mounted in /workspace/<exo>
  • Custom image with Git + Node.js + CLI
  • Disposable, controlled, and reproducible environment

📦 Example of manual launch:

docker run -dit \
 --name git-tutor-init-commit \
 -v $(pwd)/workspace/init-commit:/workspace \
 git-tutor-image

📦 Installation and Development

🔧 Setup:

pnpm install
pnpm build
pnpm link --global

👨‍💻 Development launch:

pnpm build
# or
make

📝 License

This project is under the MIT license.


❤️ Contribute

Contributions are welcome! Propose an exercise, improve the validation system, or add an advanced mode. Fork, PR, review: everything is appreciated.

About

🧠 Interactive CLI tool for learning Git through hands-on exercises in isolated Docker environments. Practice git commands safely with automated setup and validation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /