You don't have to install anything to keep an AI-built project. This chapter covers the simplest possible option โ saving a file and opening it โ plus one lightweight step up if you ever want a backup.
This chapter is about skipping tools entirely, which only works for a web page project. Since a web app or multi-page site needs Node.js and npm to run at all, there's no fully tool-free version of this โ but don't worry, it's still quick. Head to Get it running below to get it running.
If an AI tool gave you some code, the first step is just getting it saved as a real file on your computer.
Have VS Code? It's the easiest option: File โ New Text File, paste your code in, then File โ Save As, type index.html as the filename, and save it somewhere you'll remember โ your Desktop is fine.
No VS Code yet? On Windows (Notepad): paste your code in, then File โ Save As. In the "Save as type" dropdown, choose All Files โ otherwise Notepad will quietly save it as index.html.txt, which won't work as a webpage. Type index.html as the filename and save.
No VS Code yet? On Mac (TextEdit): paste your code in, then go to Format โ Make Plain Text first โ this matters, since TextEdit saves rich text by default and that won't work as a webpage either. Then File โ Save As, type index.html, and save.
If you got several files (not just one), the same idea applies โ just save them all into the same folder together.
Find the file wherever you saved it, and double-click it โ it should open directly in your browser.
If it doesn't open automatically: right-click the file โ Open with โ choose Chrome, Safari, Edge, or whichever browser you use. You can also just drag the file into an already-open browser window.
Nothing is "running" here โ you're just viewing a file, the same way you'd open a photo or a Word document.
What you don't have yet โ and that's completely fine โ is a backup if your computer breaks, or a link you could send someone to view it online without emailing them the file itself. If either of those ever matters to you, the next section below is a lightweight way to get both, with no command line required.
GitHub is a free place to store a copy of your files online โ and you can do this entirely through your browser, no installation needed.
- Create a free account at github.com if you don't have one already.
- Click the + in the top-right corner โ New repository. Give it a name, then click Create repository.
- On the new repository's page, click Add file โ Upload files โ or just drag your file straight onto the page.
- Drop your file in, add a short message describing what it is, and click Commit changes.
That's it โ no Git installation, no terminal, nothing from the chapters below. Just your browser.
Want your page to be an actual live website with its own link? Or ready for proper version control as your project grows? Keep your work safe and Put it online below cover both, whenever you're ready โ there's no rush.
Getting a project running locally โ from installing prerequisites through to a production build. Never used a terminal before? The Run โ buttons are safe to click โ they simulate the output, nothing runs on your actual machine.
| Software | Purpose |
|---|---|
| Node.js (LTS) | JavaScript runtime |
| Git | Version control |
| Visual Studio Code | Development environment |
Verify each is installed:
node -vnpm -vgit --versionNode.js and npm aren't required โ there's no package manager or build step involved. Git and VS Code cover everything.
| Software | Purpose |
|---|---|
| Git | Version control |
| Visual Studio Code | Development environment (the Live Server extension is handy here) |
git --version๐ Before installing anything: your terminal needs to be open inside your project folder โ npm install only works if you're in the same folder as package.json.
Using VS Code? Open the folder you saved your files into (File โ Open Folder), then open its built-in terminal (Terminal โ New Terminal) โ it starts inside that folder automatically. You're all set โ skip to npm install below.
Using a plain terminal (Command Prompt, PowerShell, or Terminal.app)? Create your project folder and move into it โ skip the first command if you already made the folder another way:
mkdir project-namecd project-nameReplace project-name with whatever you actually named your folder โ then save your package.json and the rest of your files into it before continuing.
npm installInstalls every package listed in package.json.
If Vite's React plugin isn't already a dependency:
npm install -D @vitejs/plugin-reactAlways create a .gitignore before your first commit:
node_modules dist .env .env.local .vscode
npm installInstalls every package listed in package.json. Next.js ships with its own bundler and dev server built in โ no extra plugin needed.
Always create a .gitignore before your first commit:
node_modules .next .env .env*.local .vscode
Nothing to install โ the project is just its files. Create the .gitignore below before your first commit, mainly to keep editor/OS clutter out of the repo:
.DS_Store .vscode Thumbs.db
Install packages:
npm.cmd installStart the development server:
npm.cmd run devInstall packages:
npm.cmd installStart the development server:
npm.cmd run devNext's dev server defaults to port 3000, versus Vite's 5173 โ otherwise the routine is identical.
There's no dev server to start โ open index.html directly, or use VS Code's Live Server extension for auto-reload on save. If you'd like a quick local server from the terminal instead:
npx serve .Commands on this page auto-detect Windows vs. macOS/Linux/Git Bash from your browser and switch between npm.cmd and npm automatically.
Stop any running server:
Press Y if prompted to confirm.
Always confirm the project builds successfully before committing.
npm.cmd run buildPreview the production build โ this surfaces issues that don't show up in dev mode:
npx vite previewAlternative, using serve:
npm.cmd install -g serve serve -s dist
Always confirm the project builds successfully before committing.
npm.cmd run buildPreview the production build locally:
npm.cmd run startIf the project is configured for static export instead of a Node server, next export outputs plain HTML/CSS/JS โ at that point it deploys the same way a web page project does.
There's no build step โ the files in the project are exactly what gets deployed. Open index.html (or run the npx serve . command from the previous section) to give everything one last look before committing.
You can safely skip this until your project actually needs an API key or a secret โ most simple projects don't need it right away.
.gitignore from Section 2 โ never directly in code.Create a .env.local in the project root. Vite only exposes variables prefixed VITE_ to your frontend code โ anything else stays server-side only (irrelevant for a pure static build, but relevant if you're running a small dev-only server alongside it).
VITE_API_KEY=your-key-here
Create a .env.local in the project root. Next.js exposes variables prefixed NEXT_PUBLIC_ to the browser โ anything without that prefix stays server-side only, which is where real secrets belong.
NEXT_PUBLIC_SITE_NAME=my-site API_SECRET=your-server-only-secret
A static site has no server โ anything shipped to the browser is visible to anyone who views the page source, prefix or not. Don't put real secrets in a static project at all. Non-secret settings (a site name, a public analytics ID) can just live in a plain checked-in config.js instead of an env file.
Deploying to Vercel or Netlify? The same variable names need to be added again in the platform's dashboard โ Project Settings โ Environment Variables โ since your local .env.local file is gitignored and never reaches the server.
The commit/push routine โ for a brand-new repository and for one that already exists. New to terms like "commit" or "branch"? There's a plain-English Glossary in Look things up.
๐ Make sure your terminal is open inside your project folder before running the commands below.
Using VS Code? Its built-in terminal (Terminal โ New Terminal) always opens inside whichever folder you have open โ if that's your project, you're already set.
Using a plain terminal? Navigate there first (adjust the path to wherever you actually saved it):
cd Desktop\project-namegit initgit add .git commit -m "Initial release"git branch -M maingit remote add origin https://github.com/USERNAME/REPOSITORY.gitgit push -u origin mainSwap USERNAME/REPOSITORY for your actual GitHub path.
๐ Make sure your terminal is open inside your project folder before running the commands below.
Using VS Code? Its built-in terminal (Terminal โ New Terminal) always opens inside whichever folder you have open โ if that's your project, you're already set.
Using a plain terminal? Navigate there first (adjust the path to wherever you actually saved it):
cd Desktop\project-nameBefore pushing changes, a backup branch is a cheap safety net:
git branch backup-before-pushgit add .git commit -m "Describe changes"git push origin mainSee Undoing a bad deploy (in Put it online) for what the backup branch is for.
Use clear, descriptive messages.
Good
- Initial release
- Added dashboard filters
- Fixed login bug
- Improved mobile layout
- Refactored API service
Avoid
- Update
- Stuff
- Changes
- Test
- Fix
Recommended: Semantic Versioning โ Major.Minor.Patch, e.g. 1.0.0, 1.1.0, 1.1.1, 2.0.0.
| Change | Example |
|---|---|
| Patch | Bug fixes |
| Minor | New features |
| Major | Breaking changes |
Getting commits live, on Vercel, Netlify, or GitHub Pages โ and rolling back cleanly if something goes wrong. Unfamiliar terms are explained in the Glossary in Look things up.
๐ Make sure your terminal is open inside your project folder before running the commands below.
Using VS Code? Its built-in terminal (Terminal โ New Terminal) always opens inside whichever folder you have open โ if that's your project, you're already set.
Using a plain terminal? Navigate there first (adjust the path to wherever you actually saved it):
cd Desktop\project-nameFirst time pushing this project? Run all of these, in order:
git initgit add .git commit -m "Initial release"git branch -M maingit remote add origin https://github.com/USERNAME/REPOSITORY.gitgit push -u origin mainSwap USERNAME/REPOSITORY for your actual GitHub path. More detail on each of these steps is in Keep your work safe โ Your very first time.
Already pushed this project before? Just stage, commit, and push your latest changes:
git add .git commit -m "Describe changes"git push origin mainRecommended deployment method. Every push to main automatically creates a new deployment.
Connect the repository once โ automatic deployments happen after each push, same as Vercel.
Suitable for static websites that don't need a build server.
Restore from the backup branch created earlier:
git reset --hard backup-before-pushForce GitHub to match your local state:
git push origin main --forceOnce the deployment is verified, remove the backup branch:
git branch -d backup-before-pushHouse rules for structure and naming, common failure points, and a one-page cheat sheet.
Folder structure:
project-name/ src/ public/ assets/ components/ pages/ styles/ package.json README.md .gitignore vite.config.js
Branch naming:
Every repository should include:
๐ Make sure your terminal is open inside your project folder before running any of the commands below.
Using VS Code? Its built-in terminal (Terminal โ New Terminal) always opens inside whichever folder you have open โ if that's your project, you're already set.
Using a plain terminal? Navigate there first (adjust the path to wherever you actually saved it):
cd Desktop\project-nameMissing packages โ delete node_modules and package-lock.json, then reinstall:
rm -rf node_modules package-lock.jsonnpm installDev server won't start โ check:
Build fails โ run the build and read the first error carefully:
npm.cmd run buildMost build failures come from: missing imports, syntax errors, TypeScript errors, or missing packages.
Git push rejected โ pull, resolve conflicts, then push again:
git pullPlain-English meanings for terms used throughout this guide.
localhost:3000) where you preview your project while working on it.1.2.3 that signals what kind of change was made โ bug fix, new feature, or breaking change.Development
Git
Recovery
Deployment checklist โ before every deployment: