Understanding Vibium's Installed Folder Structure
What npm install vibium actually puts on disk — the package, the bundled Go binary, the auto-downloaded Chrome, and where Vibium caches everything.
After npm install vibium, your project has a node_modules/vibium package that bundles a single Go binary; on first launch that binary downloads its own Chrome for Testing into a local cache. There's no ChromeDriver, no PATH edits, and no Selenium Grid — the binary manages the browser for you. Knowing the layout helps you debug installs and .gitignore the right things.
What is on disk after install?
A minimal Vibium Node project looks like this:
my-vibium-project/
├── node_modules/
│ └── vibium/ # the client library + the bundled Go binary
├── package.json
├── package-lock.json
└── first_test.js # your scriptThe important part is node_modules/vibium — it contains the JavaScript client you require() plus the single Go binary that actually drives the browser over WebDriver BiDi.
Where does Chrome go?
The first time you run a script, the Go binary downloads a pinned Chrome for Testing build into a local cache (outside your project) so every machine runs the same browser version. You never point Vibium at your system Chrome, and you never install ChromeDriver.
What to commit and what to ignore
Commit your scripts and package.json / lockfile. Ignore the rest:
# .gitignore
node_modules/
.vibium-cache/
*.logVerify your install
npm ls vibium # shows the installed version
node first_test.js # first run triggers the one-time Chrome downloadIf the first run is slow, that's the one-time Chrome download — subsequent runs are fast.
Next steps
Frequently asked questions
What does npm install vibium install?
It installs the Vibium client package into node_modules/vibium, which bundles (or fetches on first run) the single Go binary that manages the browser. The first time you launch Vibium it also downloads a Chrome for Testing build into a local cache.
Where does Vibium download Chrome?
On first launch the Go binary downloads a pinned Chrome for Testing build into a local cache directory rather than using your system Chrome, so runs are reproducible. You don't install or configure ChromeDriver.
Do I need a separate driver like ChromeDriver?
No. The bundled Go binary speaks WebDriver BiDi to the browser directly, so there is no ChromeDriver to download or version-match the way classic Selenium requires.
Vibium is created by Jason Huggins. This is an independent tutorial — see the official Vibium site and GitHub repo for canonical docs.
Related guides
Your First Vibium Script in JavaScript
Write your first Vibium script in JavaScript: launch Chrome, open a page, find and click elements, and save a screenshot with the sync API in minutes.
3 min read→Getting StartedYour First Vibium Script in Python
Write your first Vibium Python script: launch a browser, visit a page, find and click elements, and save a screenshot in about ten lines of code.
3 min read→Getting StartedHow Vibium Works: BiDi, the Go Binary, and MCP
How Vibium works: a single Go binary speaks WebDriver BiDi to Chrome, enforces auto-waiting, and exposes a built-in MCP server for AI agents. Architecture explained.
4 min read→Getting StartedHow to Install Vibium (Python & Node)
Install Vibium in seconds: pip install vibium for Python or npm install vibium for Node. Learn how the single Go binary auto-downloads Chrome for you.
4 min read→