A repo just landed on your laptop and the imports are red. Magic Install figures out which package manager belongs to which file, runs the right command, and turns the red lines green — one click, no thinking.
Cloning a repo and immediately needing to install dependencies is the most ordinary developer-friction there is. The work itself is trivial — every package manager has a default install command, and they all just work. The friction is in remembering which one. npm install for a Node project. pip install -r requirements.txt if it has a Python requirements file. poetry install if it has a pyproject.toml. cargo build for Rust. pod install if it has a Podfile. bundle install for Ruby. mix deps.get for Elixir. The list keeps going, and every repo asks you to load the right command into working memory before the project can even start.
LingCode treats this as a lookup problem, not a memory problem. Your repo's files are public information — package.json exists, or it doesn't. Cargo.toml is right there. A glance at the file tree is enough to know which package manager is in play, and which command to run. The agent does that glance for you, runs the command, and reports what happened. The friction collapses to "yes, install."
That sounds small, and the time savings per use is small. The reason it matters is that it removes the activation energy for working on unfamiliar repos. The "ugh, what's the install command here" pause before you start exploring a codebase is gone. You open the repo and start.
Open a project that hasn't had its dependencies installed yet. Maybe you just cloned it. Maybe a teammate added a new dep and your node_modules is out of date. Maybe a Python virtualenv evaporated.
LingCode's editor catches the symptom: unresolved imports, missing types, lookup failures. As soon as you open a file with unresolved imports, a small prompt appears (typically as a banner at the top of the file or as a notification in the corner) offering to install the missing packages.
The prompt names the package manager it's about to run: "Install dependencies with npm" or "Install with poetry" or whichever is right for this repo. Click. The terminal pane shows the running command; when it exits successfully, the red squiggles disappear from your file.
For most repos this is the entire step. Magic Install reads the project's manifest files (package.json, Cargo.toml, requirements.txt, Podfile, etc.), picks the manager the project clearly uses, and runs that manager's default install command. The fact that this is invisible most of the time is the point.
The detection is right almost always. The two cases where it isn't:
package.json and requirements.txt needs both managers. Magic Install will offer to run them in sequence — accept both prompts. If it only offers one, run the other manually.pnpm-lock.yaml → pnpm, poetry.lock → poetry) — usually right. When the project author has a strong preference that isn't recorded in a lockfile, override the offer and run the right one yourself.Magic Install is fast for the common case but doesn't know about:
apt-get on Linux, system frameworks that the project assumes are installed. Magic Install does packages-in-this-repo; it doesn't audit the rest of your machine.npm login first, a Cargo registry behind a token, a private CocoaPod. Magic Install runs the install command; if the command fails because of missing auth, you have to set up the auth and re-run.Makefile that wraps the install, or a custom shell script that does pre-fetch work. Run the project's documented setup instead.Magic Install is the cheap default. Falling through to manual is the right move when the agent's default would obviously miss.
Once the install command completes, the editor's language server re-indexes. The red squiggles disappear. Imports resolve. Autocompletion works. You're ready to write code in a repo you'd never seen ten seconds ago.
If the squiggles don't clear, the install probably failed silently — check the terminal pane for error output. Common failures: a missing system dep, a Node version mismatch, a Python virtualenv that didn't activate.
package.json that you forgot to add." For that, ask the agent: "are there imports in this project that aren't in package.json?" It can read both and tell you.