Architecture

Tern has two parts: a fully hosted web app and an optional local CLI.

app.tern.sh

The web application is the primary interface. You create migrations, build spreadsheets, chat with the agent, plan PRs, and run executions here. Code access comes through the Tern GitHub app; install it on your org, and Tern can search and transform your repos remotely. No local install required.

When you run from the spreadsheet, Tern provisions remote agents that execute your tasks, generate changes, and push branches. Results flow back into the spreadsheet for review.

Local Mode (Enterprise)

For teams that can’t send code off-machine, Tern supports a local CLI mode. A lightweight agent runs on your infrastructure: it proxies LLM calls (your API keys stay local, never sent to our servers), accesses your repos directly, and runs tasks using your machine’s resources.

The CLI connects to app.tern.sh through a secure channel. Your code never leaves your machine. You still get the shared spreadsheet and collaboration features in the web app.

Install the CLI and connect it to your repos:

curl -fsSL https://tern.sh/install.sh | bash
tern connect

See Quickstart for details.

Why This Split?

The default path (sign up, connect GitHub, start working) gets you running with no install. For enterprise teams, the local mode adds:

Security. Your code and API keys stay on your infrastructure.

Performance. Search and transformation happen locally, using your machine’s resources.

Collaboration. Either way, multiple team members see the plan and results in app.tern.sh.