# How to Fork the AI For Beginners Repository: Complete Setup Guide

> Fork the AI For Beginners repository to get your own GitHub copy. Experiment with Microsoft's ML curriculum and contribute your own improvements. A complete setup guide for beginners.

- Repository: [Microsoft/AI-For-Beginners](https://github.com/microsoft/AI-For-Beginners)
- Tags: how-to-guide
- Published: 2026-08-02

---

**Forking the AI For Beginners repository creates your personal copy on GitHub, enabling you to experiment with Microsoft's open-source machine-learning curriculum and contribute improvements.**

The AI For Beginners repository by Microsoft is a comprehensive 12-week curriculum covering neural networks, computer vision, NLP, and more. Forking this repository gives you full control over the codebase—whether you want to track your progress through exercises, customize notebooks for your learning style, or submit pull requests back to the main project.

## What Forking Accomplishes

A **fork** duplicates the entire repository—including the `lessons/` directory with Jupyter notebooks, the Vue.js quiz application, and all configuration files—to your personal GitHub account. This preserves the original attribution while giving you independent commit history. According to the source code in [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md), the maintainers explicitly encourage forks for learners who want to modify the material or build upon it.

## Step-by-Step Forking Process

### Create Your Fork via GitHub UI

1. Navigate to [https://github.com/microsoft/AI-For-Beginners](https://github.com/microsoft/AI-For-Beginners)
2. Click the **Fork** button in the upper-right corner of the repository page
3. Select your personal account as the destination (or create a new organization)
4. Wait for GitHub to copy the repository structure (approximately 30 seconds for this codebase)

The official README documents this workflow at lines 45-49, noting that unchecking "Copy the main branch only" preserves all lesson branches if you want historical versions.

### Clone Your Fork Locally

After forking, clone the repository to your machine to begin working with the curriculum:

```bash
git clone https://github.com/<YOUR_USERNAME>/AI-For-Beginners.git
cd AI-For-Beginners

```

Replace `<YOUR_USERNAME>` with your actual GitHub username. The repository contains approximately 180MB of core content excluding translation files.

## Configure Your Development Environment

The AI For Beginners curriculum supports two primary setup methods: **conda environments** and **devcontainers**. Choose based on your preference for local isolation versus containerized consistency.

### Option 1: Conda Environment (Recommended)

The [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) file defines all Python dependencies including PyTorch, TensorFlow, and Jupyter tools:

```bash

# Create the environment from the specification file

conda env create -f environment.yml

# Activate the environment

conda activate ai4beg

# Verify installation

python -c "import torch, tensorflow, jupyter; print('Environment ready')"

```

This approach pins exact package versions tested by Microsoft engineers, preventing dependency conflicts common in ML projects.

### Option 2: Dev Container

For VS Code users, the repository includes `.devcontainer/` configuration enabling one-click setup in GitHub Codespaces or local containers.

## Launch the Curriculum Components

### Run Jupyter Notebooks

With the environment activated, start the notebook server to access the 52 lessons across 6 modules:

```bash

# Launch JupyterLab (preferred) or classic Notebook

jupyter lab

```

Navigate to `lessons/` to find structured content from "Introduction to AI" through "AI Ethics."

### Start the Quiz Application

The repository includes a Vue.js-based assessment tool in `etc/quiz-app/` that reinforces learning through interactive questions:

```bash
cd etc/quiz-app
npm install
npm run serve

```

The application launches at `http://localhost:8080` and consumes questions from JSON files in the lessons directory.

## Optimize Your Fork for Storage

The full clone includes large translation assets. To minimize disk usage, the [`lessons/0-course-setup/setup.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/0-course-setup/setup.md) file documents **sparse checkout** techniques:

```bash

# Initialize sparse checkout after cloning

git sparse-checkout init --cone
git sparse-checkout set lessons/ etc/quiz-app

# This excludes translation folders (de, es, fr, id, ja, pt-br, etc.)

```

This reduces the working directory from ~500MB to ~180MB while preserving all functional curriculum content.

## Sync Your Fork with Upstream

Microsoft updates the curriculum regularly. To incorporate upstream changes without losing your modifications:

```bash

# Add the original repository as upstream

git remote add upstream https://github.com/microsoft/AI-For-Beginners.git

# Fetch and merge updates

git fetch upstream
git checkout main
git merge upstream/main
git push origin main

```

## Key Files in Your Forked Repository

| File Path | Purpose |
|-----------|---------|
| [`README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/README.md) | Entry point with forking instructions and curriculum overview |
| [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) | Conda environment specification with ML stack |
| [`lessons/0-course-setup/setup.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/0-course-setup/setup.md) | Detailed environment configuration including sparse checkout |
| [`etc/quiz-app/README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/etc/quiz-app/README.md) | Vue.js application setup and customization guide |
| [`.devcontainer/devcontainer.json`](https://github.com/microsoft/AI-For-Beginners/blob/main/.devcontainer/devcontainer.json) | Container configuration for cloud/local development |

## Summary

- **Fork via GitHub UI** creates your independent copy of the Microsoft AI curriculum
- **Clone and activate** the conda environment using [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) for verified dependency versions
- **Launch components** with `jupyter lab` for lessons and `npm run serve` for the quiz application
- **Optimize storage** by implementing sparse checkout documented in [`lessons/0-course-setup/setup.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/0-course-setup/setup.md)
- **Stay current** by configuring an upstream remote to pull official updates

## Frequently Asked Questions

### Do I need a GitHub account to fork AI For Beginners?

Yes, forking requires a free GitHub account. The fork button only appears when logged in. Without an account, you can still clone the repository directly using `git clone https://github.com/microsoft/AI-For-Beginners.git`, though you won't be able to push changes or submit pull requests.

### Can I fork the repository to an organization instead of my personal account?

Yes. After clicking **Fork**, GitHub presents a dropdown where you can select any organization where you have repository creation permissions. This is useful for educational institutions running the curriculum for multiple students.

### Will my fork automatically receive updates when Microsoft publishes changes?

No. Forks do not synchronize automatically. You must configure the upstream remote and manually merge changes using `git fetch upstream` followed by `git merge`. GitHub also provides a "Sync fork" button in the web interface for simple fast-forward scenarios.

### Is the quiz application necessary for completing the curriculum?

No. The Vue.js quiz app in `etc/quiz-app/` is an optional reinforcement tool. All assessment questions exist as JSON files that can be read directly. The application simply provides an interactive interface for practicing self-assessment.