Repository navigation
Releases: elim-io/exodus
Release list
exodus 0.2.10
Install on macOS and Linux: curl -fsSL https://exodus.elim.io/install | sh. On Windows (PowerShell): irm https://exodus.elim.io/install.ps1 | iex. Then exodus init --code CODE in the repository (the code comes from the cabinet).
exodus 0.2.9
Install on macOS and Linux: curl -fsSL https://exodus.elim.io/install | sh. On Windows (PowerShell): irm https://exodus.elim.io/install.ps1 | iex. Then exodus init --code CODE in the repository (the code comes from the cabinet).
exodus 0.2.8
Install: curl -fsSL https://exodus.elim.io/install | sh, then exodus init --code CODE in the repository (the code comes from the cabinet).
exodus 0.2.7
Install: curl -fsSL https://exodus.elim.io/install | sh, then exodus init --code CODE in the repository (the code comes from the cabinet).
exodus 0.2.6
Install: curl -fsSL https://exodus.elim.io/install | sh, then exodus init --code CODE in the repository (the code comes from the cabinet).
exodus 0.2.5
Install: curl -fsSL https://exodus.elim.io/install | sh, then exodus init --code CODE in the repository (the code comes from the cabinet).
exodus 0.2.4
Your agent's description of the move now names the same targets the report prices.
What changed
- One plan, one set of words. Before the report, the agent writes a short "What we will do" paragraph. It could name a different target than the report priced (for example Cloud SQL for an app the report moves to Firestore) and then ask you to choose. The move instructions now list the targets the report prices: SQLite to Firestore, PostgreSQL and MySQL to Cloud SQL, files to Cloud Storage, a worker to Cloud Tasks, schedules to Cloud Scheduler.
Install or update
curl -fsSL https://exodus.elim.io/install | shThen, in your repository, exodus init --code CODE with the code from your cabinet at https://app.exodus.elim.io, or use the CLI offline as the README shows.
exodus 0.2.3
An app that keeps its data in SQLite now moves to Firestore, and the report prices it that way.
What changed
- Firestore in the price list. Document reads, writes and storage at Google's list prices (read 2026-10-13: $0.033 per 100,000 reads, $0.099 per 100,000 writes, $0.165 a GiB-month at europe-west1), with the free quota of 50,000 reads and 20,000 writes a day and 1 GiB stored.
- SQLite becomes Firestore. The report prices a SQLite database on Firestore from the app's requests per visitor, with no Cloud SQL line. PostgreSQL and MySQL still go to Cloud SQL. The plan names Firestore in the infrastructure task and copies each table into a collection.
- Clearer rules. The four SQLite rules say what changes in the code: a collection per table, a document per row, the Firestore client, and what happens to joins.
- Unit prices print up to nine decimals ($0.00000033), which also corrects the Tier 2 request price ($0.00000056).
Install or update
curl -fsSL https://exodus.elim.io/install | shThen, in your repository, exodus init --code CODE with the code from your cabinet at https://app.exodus.elim.io, or use the CLI offline as the README shows.
exodus 0.2.2
Exodus is a command line that moves an app to Google Cloud Run with the coding agent you already use (Claude Code, Codex, Cursor). It reads your repository, finds what will break on Cloud Run or keep billing while idle, prices the app on its current platform and on Cloud Run, writes a report with the changes in order, and keeps the plan while your agent makes them one commit at a time. It runs no AI of its own, it never uploads source code, and it reads the names of environment variables, never their values. It works without an account.
Install
curl -fsSL https://exodus.elim.io/install | shThe script picks the binary for your machine (Linux x86_64 and arm64, macOS Intel and Apple silicon), checks it against SHA256SUMS and puts it in ~/.local/bin. Then, in the repository you want to move:
exodus initand ask your agent to audit the repository "as the exodus instructions say". It audits, asks you only what it cannot read from the code, builds the report and works the plan. A free account at https://app.exodus.elim.io adds the report in a cabinet, sharing by link and the plan as a checklist; exodus init --code CODE links it.
What changed in 0.2.2
- A Procfile line such as
worker-beat: celery -A app beatis now read as a scheduler, whatever the process is called, and so arerqscheduler,rq-scheduler,clockworkandsidekiq-scheduler. Before, it was taken for an always-on Celery worker and priced as a queue, and the plan named no scheduler. - When a clock process has no schedules in the repository, the report says "schedules not in the repository" instead of "0 schedules".
Full list of changes: v0.2.1...v0.2.2
exodus 0.2.1
Exodus is a command line that moves an app to Google Cloud Run with the coding agent you already use (Claude Code, Codex, Cursor). It reads your repository, finds what will break on Cloud Run or keep billing while idle, prices the app on its current platform and on Cloud Run, writes a report with the changes in order, and keeps the plan while your agent makes them one commit at a time. It runs no AI of its own, it never uploads source code, and it reads the names of environment variables, never their values. It works without an account.
Install
curl -fsSL https://exodus.elim.io/install | shThe script picks the binary for your machine (Linux x86_64 and arm64, macOS Intel and Apple silicon), checks it against SHA256SUMS and puts it in ~/.local/bin. Then, in the repository you want to move:
exodus initand ask your agent to audit the repository "as the exodus instructions say". It audits, asks you only what it cannot read from the code, builds the report and works the plan. A free account at https://app.exodus.elim.io adds the report in a cabinet, sharing by link and the plan as a checklist; exodus init --code CODE links it.
What changed in 0.2.1
fly.tomlwithmin_machines_runningof 1 or more means the app does not sleep, and the report no longer says it does.- A folder of browser code that has its own Dockerfile is treated as the web process, and "not on the server" names that folder, not the whole site.
- A local file write in the file that opens SQLite is one change (move the database), not two.
- A plan for a new product reads "Plan N of M" in the report and the plan, the same as for an existing app.
- The agent's instructions now tell the person what
exodus initwrote and leave committing to them: nogit init, no commit author of its own, task commits use your git identity.
Full list of changes: v0.2.0...v0.2.1