Install the Essential Development Tools
Your development environment is the set of programs used to create, run, inspect, and save software. Install the minimum now. Add platform SDKs only when a later lesson needs them.
Before installing anything
Create a normal user account on your computer, enable automatic operating-system updates, and make sure you have several gigabytes of free space. Download software from official sites. Avoid commands from old videos, shortened links, and random package mirrors.
Record your operating system and processor type. On macOS, Apple silicon and Intel downloads can differ. On Windows, choose whether your projects will live in native Windows or WSL 2; mixing paths and package installations across both environments causes confusing permission errors.
1. A code editor or agent environment
Install one primary environment:
- Codex users: follow the current official OpenAI setup for the Codex surface available to your account. VS Code remains useful for viewing files.
- Claude Code users: use the current official Claude Code installation page for your operating system, authenticate, and run it from inside the project folder.
- Cursor users: download Cursor from its official site, finish onboarding, and open the project folder.
If you install VS Code, add no extensions yet except those required by your chosen agent. Too many extensions can change formatting, run commands on save, or create noisy conflicts.
2. Git
Git records snapshots of a project. Download it from git-scm.com or use the official package method for your operating system. Verify:
git --versionConfigure the name and email that should appear in your commits:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"This email is commit metadata, not a password. You can use a privacy address supported by your Git host.
3. Node.js LTS and npm
Node.js runs the Next.js and Expo development tools. Install the current LTS release from nodejs.org, not an experimental current release. npm is included. Verify:
node --version
npm --versionDo not use sudo npm install to solve package permission problems. Ask the agent to diagnose your installation or use a documented version manager. Running package managers as administrator can create files your normal account cannot edit.
4. Python and uv
The FastAPI project needs a maintained Python 3 release. Use python.org or your operating system's trusted package manager. Never remove the system Python supplied by the OS.
Verify:
python3 --versionWe will use uv to create an isolated environment and manage Python dependencies. Install it from the official uv documentation when you reach the API project, because installation guidance may evolve.
5. A browser and phone test app
Use a current Chrome, Edge, Firefox, or Safari for web testing. Browser developer tools show responsive layouts, network requests, console errors, storage, and accessibility information.
For mobile development, install Expo Go from your phone's official app store. Expo Go is useful for early lessons, but production apps and native libraries eventually require development builds. Do not pay for an Apple or Google developer account yet.
6. Create a workspace
Create a folder you own, not a system directory or cloud-synchronized folder with aggressive file locking. Examples:
Documents/vibe-coding-projects/
expense-dashboard/
expense-mobile/
expense-api/Avoid spaces and unusual punctuation in project folder names while learning. Open the folder itself—not only a single file—in your editor or agent.
Verify the environment
Run these read-only commands in the integrated terminal:
pwd
git --version
node --version
npm --version
python3 --versionOn Windows PowerShell, use Get-Location instead of pwd if needed. Versions will differ; success means each installed command is found and reports a plausible maintained version.
Ask the agent for a diagnostic, not an installation spree
Inspect my development environment without changing files or installing
anything. I plan to build Next.js, Expo, and FastAPI projects. Run only
read-only version and path checks. Report what is ready, what is missing, and
which official installation page I should use. Do not use sudo or administrator
privileges. Do not change global configuration.Review every proposed command. A version check is low risk. A command that downloads a script, changes shell configuration, or installs globally deserves a separate explanation.
Tool-specific notes
Codex: Confirm the workspace and sandbox or approval boundaries shown by your Codex surface. Approve only commands you understand.
Claude Code: Start claude from the intended project directory. Native, package-manager, and Windows options change, so use the live official installation guide.
Cursor: Check the project path displayed in the editor. Cursor can import VS Code settings; review which settings and extensions are brought across.
Common problems
“Command not found.” Close and reopen the terminal so it loads the updated PATH. Confirm you installed for the correct user and architecture.
Different Node versions in two terminals. One shell may load a version manager while the other does not. Ask the agent to show which node on macOS/Linux or Get-Command node on PowerShell.
Permission denied. Do not immediately use administrator privileges. Confirm the project is in a user-owned directory and inspect ownership of the exact path.
Windows path confusion. If using WSL, keep Linux toolchains and projects inside the Linux filesystem. If using native Windows, install and run native tools consistently.
Cost and security
The base tools in this lesson are free. AI access may require a subscription or usage billing. Expo Go is free. Never enter payment information into a link supplied by generated output; navigate to the provider's official account page yourself.
Completion checklist
- My editor or agent opens the entire workspace folder.
- Git, Node.js LTS, npm, and Python report versions.
- I installed software only from official sources.
- I did not use
sudoor administrator access as a shortcut. - I can identify the exact folder in which commands will run.
Next: Files, Terminals, Commands, Packages, and Environment Variables