# How to Set Up Your Development Environment for AI Engineering from Scratch

> Set up your AI Engineering from Scratch development environment. Clone the rohitg00/ai-engineering-from-scratch repo, install Python and Node.js, and run validation scripts.

- Repository: [Rohit Ghumare/ai-engineering-from-scratch](https://github.com/rohitg00/ai-engineering-from-scratch)
- Tags: getting-started
- Published: 2026-08-30

---

**You can set up your development environment for AI Engineering from Scratch by cloning the rohitg00/ai-engineering-from-scratch repository, installing Python 3.11+ and Node.js 20+, creating a Python virtual environment, and running the validation scripts in the `scripts/` directory.**

The rohitg00/ai-engineering-from-scratch repository delivers a structured, hands-on curriculum for building AI systems from the ground up. To work through the lessons locally, you must configure a multi-language environment that supports Python-centric machine learning workflows, TypeScript utilities, and optional high-performance implementations in Rust or Julia. This guide provides the exact commands to set up your development environment for AI Engineering from Scratch using the repository's official audit tools and dependency manifests.

## Prerequisites for AI Engineering from Scratch

### Required Language Runtimes

The curriculum mandates specific runtime versions to ensure compatibility with the numerical computing stack and modern build tools defined in [`AGENTS.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/AGENTS.md). You must install:

- **Python 3.11+** (required for core ML libraries including `torch`, `numpy`, and `h5py`)
- **Node.js 20+** (required for TypeScript lesson utilities and testing frameworks)

### Optional Language Support

Several advanced lessons provide alternative implementations that require additional runtimes. While optional, installing these unlocks high-performance algorithmic examples:

- **Rust 1.70+** (for systems-level implementations)
- **Julia 1.9+** (for numerical computing comparisons)

## Step-by-Step Installation Guide

### Clone the Repository and Validate Structure

Pull the latest `main` branch to obtain the complete lesson hierarchy and scaffolding tools. The [`scripts/audit_lessons.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/audit_lessons.py) utility validates that all required files and directories are present according to the repository specification.

```bash
git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
python3 scripts/audit_lessons.py

```

### Configure the Python Environment

Isolate the curriculum dependencies to avoid conflicts with your global Python installation. Create a virtual environment in the repository root, then install the stdlib-first package list from [`requirements.txt`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/requirements.txt).

```bash
python3 -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate

pip install -r requirements.txt

```

The [`requirements.txt`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/requirements.txt) file consolidates all allowed packages, including `numpy`, `torch`, `h5py`, `zstandard`, and `safetensors`.

### Install TypeScript Dependencies

Each TypeScript lesson ships with its own [`package.json`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/package.json) manifest located in `phases/*/*/code/` directories. Install Node dependencies within each lesson folder that contains TypeScript code.

```bash
find . -type f -name package.json -execdir npm install \;

```

This installs lesson-specific dependencies such as `hono`, `zod`, and `ws` without polluting the global namespace.

### Verify Your Setup with Helper Scripts

After installing dependencies, run the repository's audit tools to confirm your environment matches the curriculum's expectations. The [`scripts/audit_certifications.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/audit_certifications.py) script specifically validates certification lesson integrity.

```bash
python3 scripts/audit_lessons.py
python3 scripts/audit_certifications.py

```

## Testing Your Installation

Execute a sample lesson to verify that Python paths and imports resolve correctly. The [`phases/01-intro-to-math/code/main.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/phases/01-intro-to-math/code/main.py) file serves as the canonical sanity check for the environment.

```bash
python3 phases/01-intro-to-math/code/main.py

```

Confirm the script exits with status 0. Next, run the unit test suite located in `phases/*/*/code/tests/` to validate the full stack.

```bash
python -m unittest discover phases/01-intro-to-math/code/tests -v

```

For TypeScript lessons, execute `npm test` within the specific lesson directory. If you installed optional runtimes, verify Rust with `cargo test` and Julia with `julia --project=phases/xx-lesson/code -e "using Pkg; Pkg.test()"`.

## Summary

- **Clone** the rohitg00/ai-engineering-from-scratch repository and validate the directory structure using [`scripts/audit_lessons.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/audit_lessons.py).
- **Install** Python 3.11+ and Node.js 20+ as mandatory runtimes, with optional Rust 1.70+ and Julia 1.9+ support.
- **Create** a Python virtual environment and install dependencies from [`requirements.txt`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/requirements.txt) to maintain isolation.
- **Configure** TypeScript lessons by running `npm install` in each `phases/*/*/code/` directory containing a [`package.json`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/package.json).
- **Validate** your setup by running [`phases/01-intro-to-math/code/main.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/phases/01-intro-to-math/code/main.py) and executing unit tests with `python -m unittest discover`.

## Frequently Asked Questions

### What are the minimum Python and Node.js versions required for AI Engineering from Scratch?

You need **Python 3.11+** and **Node.js 20+** to execute the core curriculum. These versions ensure compatibility with the PyTorch ecosystem and the modern TypeScript build chain referenced in the repository's [`README.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/README.md) and [`AGENTS.md`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/AGENTS.md) files.

### Where does the repository store the list of required Python packages?

The [`requirements.txt`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/requirements.txt) file at the repository root contains the consolidated list of allowed Python packages. This stdlib-first manifest includes `numpy`, `torch`, `h5py`, `zstandard`, and `safetensors`, and is generated by the lesson scaffolding to ensure reproducible builds.

### How do I confirm my local environment is configured correctly?

Run the [`scripts/audit_lessons.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/audit_lessons.py) and [`scripts/audit_certifications.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/scripts/audit_certifications.py) validators to check lesson structure and required files. Then execute a sample entry point like [`phases/01-intro-to-math/code/main.py`](https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/phases/01-intro-to-math/code/main.py) and run the unit test suite using `python -m unittest discover` to verify that all dependencies resolve and tests pass.

### Is Rust or Julia required to complete the curriculum?

No. **Rust 1.70+** and **Julia 1.9+** are entirely optional. The core curriculum uses Python for machine learning workflows and TypeScript for utilities. Rust and Julia implementations are provided for specific lessons as optional tracks for students interested in systems-level or high-performance computing paradigms.