Make It Portable
Goal — Set up the project so anyone, on any operating system, can clone it and run it without changes.
By the end — Four small files committed — .gitignore, .nvmrc, packageManager, .gitattributes — that let anyone clone the project and run it on any machine.
1Understand the portability problem
You build on your machine. Someone else clones it onto theirs — maybe a different operating system. What has to be true for it to just work?
The answer is a handful of small files that travel in the repo and settle these questions once.
2Keep generated files out of Git
Some files are regenerated automatically and should never be tracked — they bloat the repo and differ per machine.
Create a .gitignore that excludes node_modules and common build output folders.3Pin the Node version
Different Node versions can break a project. Pinning one keeps everyone aligned.
Add an .nvmrc file pinning a recent LTS Node version, and explain how a teammate uses it.4Pin the package manager
Projects should agree on which tool installs their dependencies.
Add a packageManager field so everyone uses the same tool, and explain what "corepack enable" does.5Settle line endings
Windows and Mac store line endings differently, which can create noise in Git. One file fixes it for everyone.
Add a .gitattributes that normalizes line endings across operating systems.6Understand what you just did
Before committing, ask for a plain-language summary so you own each file, not just the result.
Summarize what these four files do and why they make the project portable.Why this is a design-engineer skill: these four small files are the difference between "works on my machine" and "works everywhere." You did each with one prompt, but you now understand each one.
Commit the result. Now anyone can clone and run it.
Open the Terminal app.
git add . && git commit -m "Make the project portable" && git pushRecap — You added four small files that make the project clone-and-run on any machine, turning a personal experiment into something a team can use.