Skip to Content
yolostart

yolostart

yolostart brings a project from your machine into a YOLO Studio workspace. It reads the project locally, has you sign in in the browser, and shows you exactly what would upload — nothing leaves your machine until you approve it. When the upload finishes, you have a running workspace with your project in it.

It’s a single native program for macOS and Linux (Intel and ARM). It needs no Node, npm or sudo. You need a YOLO Studio account to import into.

Install and run

Run it from your project folder:

curl -fsSL https://yolostart.sh | sh

Or, if you have Node 20 or later:

npx yolostart@latest

Keep the @latest: without it, npx runs any older yolostart already installed on your machine instead of the current release.

Both download the yolostart binary, check its SHA-256 checksum against the release, and run it. To pass options through the shell installer, put them after sh -s --:

curl -fsSL https://yolostart.sh | sh -s -- --dry-run

To pin a release, set YOLOSTART_VERSION (for example YOLOSTART_VERSION=0.3.13). Git is required to detect repositories.

How an import works

  1. Sign in. yolostart prints a sign-in link and opens it in your browser. Approve the sign-in there; the link is valid for 10 minutes.
  2. Scan. yolostart looks for your project and sends YOLO Studio a list of what it found — file paths, counts and sizes, not file contents.
  3. Approve. It opens an approval page, Bring this project into YOLO Studio, which says what would upload. There you:
    • pick the repository, if yolostart found more than one — a workspace holds one repository;
    • untick top-level paths you want to leave behind (What comes along);
    • name the workspace;
    • choose Approve & upload, or Cancel — upload nothing.
  4. Upload. yolostart packs exactly the files you approved and uploads them. If any file changed after the scan, it stops and asks you to re-run for fresh approval.
  5. Workspace. YOLO Studio creates the workspace and copies your project in. The browser follows along — Packing your project, Uploading, Creating your workspace, Starting your machine, Copying your project in — and yolostart prints the workspace link when it’s ready.

Every decision happens in the browser; yolostart never asks questions in the terminal. An approval link is valid for 24 hours, and only for the account that started it.

What comes along, and what doesn’t

yolostart uploads the files you approve, plus your git history when it is 25 MB or smaller. Your project on disk isn’t changed.

Never uploaded, even if you ask:

  • Secret-looking files, such as .env*, *.pem, *.key, id_rsa*, credentials.json, .aws, .ssh, .npmrc, .netrc and service-account JSON files, and JSON files that contain credentials. The approval page lists how many were left behind. Add those secrets to the workspace yourself afterwards.

Not included:

  • Files your .gitignore excludes.
  • Dependencies and build output, such as node_modules, dist, build, .next, target, vendor and __pycache__.
  • Files over 25 MB, symbolic links, and nested repositories.

Git history comes along as-is and isn’t scanned, so a secret that was ever committed is in it. Git hooks aren’t uploaded, and credential settings are stripped from the uploaded git config.

A folder that isn’t a git repository is imported as-is, and git is set up in the workspace. A repository with no commits yet is imported too; yolostart suggests committing first.

Limits

An import can be up to 100 MB compressed, 1 GB uncompressed, and 20,000 files. It counts as one of your plan’s workspaces; if you’re at your limit, the approval page says so.

Options

yolostart [--scan <directory>] [--project <name-or-path>] [--dry-run] [--no-browser]
OptionWhat it does
--scan <directory>Start looking from this directory instead of the current one. A repository at or above it is used; otherwise yolostart looks two levels down and offers every repository it finds.
--project <name-or-path>Import this repository only. Use the relative path when two share a name.
--dry-runSign in, scan, and print what would be imported as JSON — without creating an import or uploading anything.
--no-browserPrint the sign-in and approval links instead of opening them. yolostart also doesn’t open a browser when CI is set.
--versionPrint the version.

What yolostart sends

  • Before you approve: the scan — file paths, counts and sizes, and your git remote with any password removed.
  • After you approve: the approved files, and your git history if it’s included.

Your sign-in is kept in memory only; yolostart writes no credentials to disk. The uploaded package is deleted once your workspace has copied it in. YOLO Studio records each import — the project name and remote, how many candidates were found, the resulting workspace, and which yolostart version you used.

Troubleshooting

You seeWhat to do
Files changed after scanningSomething in the project changed during the import. Re-run yolostart.
Sign-in expired or deniedRe-run yolostart and approve the sign-in within 10 minutes.
The browser didn’t openOpen the printed link yourself, or use --no-browser.
This import has expired or isn’t yoursApproval links last 24 hours and work only for the account that started the import. Re-run yolostart.
You’re at your workspace limitDelete a workspace or upgrade your plan, then re-run.
The import page shows a failureThe page says what went wrong. Most failures are fixed by re-running yolostart.
A checksum or download errorRe-run the installer. If npx yolostart@latest fails, try curl -fsSL https://yolostart.sh | sh.
import refused (HTTP 400, bad-request): Request body is not valid JSONAn old yolostart is installed globally. Remove it with npm rm -g yolostart, then run npx yolostart@latest.

Uninstalling

yolostart installs nothing system-wide. The npm route caches binaries in ~/.cache/yolostart/ — delete that folder. The shell installer runs yolostart from a temporary folder (yolostart.* in your temp directory), which you can delete.

Last updated on