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

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. 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 utility validates that all required files and directories are present according to the repository specification.

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.

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

pip install -r requirements.txt

The 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 manifest located in phases/*/*/code/ directories. Install Node dependencies within each lesson folder that contains TypeScript code.

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 script specifically validates certification lesson integrity.

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 file serves as the canonical sanity check for the environment.

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.

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.
  • 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 to maintain isolation.
  • Configure TypeScript lessons by running npm install in each phases/*/*/code/ directory containing a package.json.
  • Validate your setup by running 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 and AGENTS.md files.

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

The 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 and 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 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.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →