01 · Install the local daemon
Install Git and the Rust toolchain, including Cargo, on the computer where you will keep your courses. Open a terminal and run:
git clone https://github.com/randall-sim/cruise.git
cd cruise
cargo install --locked --path . --force
Keep this checkout: it is the daemon’s home and contains your local workspace. Make sure Cargo’s bin directory is on your PATH (~/.cargo/bin on Linux/macOS or %USERPROFILE%\.cargo\bin on Windows). Open a new terminal if cruise is not recognized.
Using Windows with a WSL checkout?
Install Rust and clone the repository inside WSL. To also make cruise available from Windows, open PowerShell in that checkout and run the installer below. It builds in WSL and installs a Windows launcher. Then open a new terminal.
powershell -ExecutionPolicy Bypass -File scripts/install.ps1
02 · Run and connect
Start the daemon on the same computer as your browser. This command allows the exact site you are viewing to connect:
cruise run --origin https://your-app.vercel.app
- Leave the terminal running. It prints a port and a connection key.
- Enter port
4321 and that key in the connection form above. - Click Connect. Choose Allow if the browser asks to access apps on this device.
To use another port, add --port 5432 to the command and enter 5432 in the form. Stop the daemon with Ctrl+C. Start it again with the same command when you return; your key and courses are preserved, and this browser remembers your connection.
If connecting fails, check the port, key, and site origin first. Allow access to apps on this device in browser site settings. If an extension blocks localhost requests, pause it for this site and retry.
03 · Make the workspace your own
Open the cloned cruise folder in Codex—the folder containing Cargo.toml and AGENTS.md. From that folder, run:
cruise setup-codex
cruise check-mcp
If Windows Codex opens a WSL folder, use cruise setup-codex --windows-host instead of the first command. Reopen the project to load the tools. The MCP tools work without the web server; cruise run is needed for the browser dashboard.
Ask your agent for the work you want, using your actual courses and links:
- “Add CS 101 for this semester, using this course website: [URL].”
- “Import this CS 101 lecture and create its complete study guide: [recording URL].”
- “Help me work through Assignment 2 one part at a time, saving explanations and progress.”
- “Create a practice exam from my saved lectures 1–8.”
Use the browser workspace to read guides, review saved assignments and course files, and practice with exams. Lecture imports may need you to sign in to your course site and enable browser tools for your agent. Coursework stays local; cruise does not submit it for you.
Your saved content lives in workspace/content/ inside the daemon checkout, including state.json and courses/. To choose another content folder, set CRUISE_WORKSPACE=/absolute/path in the daemon’s .env.local, then restart the daemon and reopen Codex so both use that folder. Changing the setting does not move existing content.
04 · Save your workspace to GitHub
Create an empty private repository in your GitHub account for your course backup. Leave the README, license, and .gitignore options unchecked. Use your own backup repository, separate from the cruise application and any instructor or submission repository.
The easiest setup is to give your agent its URL and ask:
Set up Git backup for my workspace content using my private repository [repository URL]. Exclude credentials, browser sessions, caches, and generated dependencies, then commit and push my course content.
Set up the first backup manually
From the daemon checkout, run the following only if your content folder does not already have its own Git repository:
cd workspace/content
git init -b main
Create a .gitignore in that content folder with at least:
.env*
connection-key
.auth/
sessions/
.cache/
node_modules/
__pycache__/
target/
Add any other private credentials or generated folders used by your courses. Then stage and inspect the backup:
git add .
git status --short
git diff --cached
Check that only intended course content is staged, including its state, Markdown, and assets. Remove any secrets from staging before continuing. Replace YOUR_USERNAME and YOUR_PRIVATE_REPO below with your private repository:
git commit -m "Back up course workspace"
git remote add origin https://github.com/YOUR_USERNAME/YOUR_PRIVATE_REPO.git
git push -u origin main
GitHub will require your Git credentials or credential manager. If this content folder already has a repository, check git remote -v and use its existing private backup remote instead of initializing another one.
After setup, ask your agent to back up new changes; the project’s instructions also tell it to commit and push completed course-content work to the configured private remote. Starting the daemon alone does not sync GitHub. To restore on another computer, clone your private backup into an empty workspace/content/ before adding courses. Keep connection keys, credentials, and browser sessions out of the backup.
05 · Log out or reset your connection key
Your connection key stays the same across page refreshes and daemon restarts. Treat it as a password. In the workspace, choose Settings → Log out to forget the key in this browser and return to the landing page. You can reconnect with the same key later.
If your key is compromised, run this locally:
cruise reset-connection-key
Or ask your agent to use reset_connection_key. Reset immediately revokes the old key, even while the daemon is running. Copy the new key from the command or tool result and reconnect each browser. Your course content is preserved.