Beta

Install the cin90 CLI

cin90 runs on your machine next to your AI coding tool. It records how you worked on an assignment and submits that record with your git push, so your instructor can grade the process, not just the diff.

Install

One command on macOS and Linux. No sudo, no package manager.

curl -fsSL https://coderin90.com/cli/install.sh | bash

The installer picks the build for your platform, checks it, and writes it to ~/.local/bin/cin90. It supports macOS and Linux on Intel and ARM. Whether a build for your platform is published is a separate question, and it tells you rather than guessing. On Windows, install inside WSL and follow the Linux path; there is no native Windows build.

If ~/.local/bin is not on your PATH, the installer prints the export line to add, with the usual file for macOS and the usual one for Linux. Restart your shell afterwards.

Connect your account

Then, from any project directory:

cin90 login

The CLI prints a code like KJMB-RTQN and waits. Open coderin90.com/cli/activate/, sign in, and enter the code to approve it. Only ever approve a code you started yourself. Deny anything you did not.

What gets sent, and when

Submission happens on git push. There is no second prompt, so the CLI asks for your consent before any of that starts: once per cohort, and again if the terms change. What travels is your AI tool sessions, the prompts and the responses, together with the commands you ran inside the cin90 session shell.

The CLI reads project config such as .env to find secrets and replaces the values it finds. Whether that redaction happens on your machine before anything is uploaded or on the server after it depends on your cohort, and the consent screen names your cohort's mode before you agree. Run cin90 inspect or cin90 transcript at any time to read everything collected and everything sent. Our privacy policy covers how we handle it.

Why this curl is safe to pipe

Releases live in object storage, which this site treats as untrusted. The manifest the installer reads is served from here only after the server has verified its Ed25519 signature against a pinned keyring, and the installer then checks the sha256 of the downloaded binary against that manifest. A swapped artifact fails one of those two checks and nothing is installed. You can read the script before running it: /cli/install.sh (your browser may download it rather than display it).

If something goes wrong

Every message the installer prints starts with install:, and it installs nothing when it prints one. These are the ones you can act on.

cin90: command not found

The binary installed but your shell cannot see it. Add ~/.local/bin to your PATH using the line the installer printed, then open a new terminal.

required command not found

The installer needs curl, uname, cut, awk, and either sha256sum or shasum. A minimal container or server image may be missing one. Install it and run the command again.

unsupported OS or unsupported arch

The installer has no mapping for your platform. macOS and Linux on amd64 and arm64 are what it supports.

no release artifact for your platform

Different problem: your platform is supported, but this release has no build published for it. Nothing you can fix locally. Tell us at hello@coderin90.com.

this curl cannot decode compressed downloads

Your curl was built without zlib, so it cannot decode the release download. Update curl and run the command again. Nothing was downloaded.

could not fetch the release manifest or could not read the release manifest

Either no verified release is available or the manifest is malformed. Both are on our side and both affect everyone at once. Retry in a few minutes; if it persists, tell us.

could not download the release artifact

The binary itself did not transfer. Usually the network. Retry.

sha256 mismatch

The download did not match the manifest, so nothing was installed. Retry once; if it repeats, stop and email hello@coderin90.com rather than working around it.

Next