Ferrum is in public alpha
Ferrum is a family of developer tools written in Rust: a code editor, an API client, a Git client, a database IDE, a terminal and four more, each a native app drawn on the GPU. All of them are now a free public download for Macs with Apple Silicon, installed through Ferrum Launcher. They are alpha software, and this post says what that means in practice.
- ▾ notes
- ▾ src
- main.rs
- theme.rs
- ▸ snippets
- keymap.toml
- README.md
- theme.rs
- keymap.toml
- README.md
pub struct Theme {
pub bg: Rgb,
pub fg: Rgb,
pub accent: Rgb,
}
pub fn dark() -> Theme {
bg: rgb(0x14110d),
fg: rgb(0xf1e9df),
accent: rgb(0xc5dc3a),
}
› toggle
- Editor: Toggle Comment⌘/
- Editor: Toggle Soft Wrap⌥Z
- Tree View: Toggle⌘\
- Markdown Preview: Toggle⇧⌘M
Each app is compiled Rust rendered with GPUI, the GPU UI framework from the Zed editor. There is no Electron, no webview and no bundled browser runtime. Requests, queries, repositories and terminal sessions stay on your Mac. The apps share one interface and one theme, and they open each other.
There is no Ferrum account. Nothing to sign up for before you use the apps; the CI page in Ferrum Editor and the pull request views in FerrumGIT use your own GitHub or GitLab token.
What is available
Nine apps and the launcher that installs them. Each name links to the app's page, which lists what works today and what isn't built yet.
Ferrum EditorCode editor
A small, hackable code editor in the spirit of Atom, written from scratch in Rust and configured in plain TOML.
FerrumAPIAPI client
A native, local-first API client with the Postman basics, minus the bloat.
FerrumGITGit client
A native Git client with a commit graph, line staging and per-project SSH profiles.
FerrumDataDatabase IDE
A local-first, DataGrip-class database IDE for PostgreSQL, MySQL, SQLite, SurrealDB, MongoDB and Redis.
FerrumTermTerminal
A GPU terminal whose sessions live in a server, with the fterm CLI for humans and agents.
FerrumKitDeveloper utilities
JSON, JWT, Base64, regex, hashes and timestamps in one native window. Nothing leaves your Mac.
FerrumContainersContainer manager
A fast, native window on your containers, for Docker Desktop, OrbStack, Colima and Podman.
FerrumPortsPort inspector
Every listening port with its process and project, and a confirmed way to stop it.
FerrumEnvEnvironment vault
A password-locked vault for your projects' environment variables, with encrypted sharing between developers.
Ferrum Launcher installs all of them
Ferrum LauncherApp manager
Installs, updates, rolls back and launches every Ferrum app from one window.
You download one thing. The launcher installs any app with one click, checks each download against its published checksum, updates the apps and itself in place, and keeps the last three versions of each app so you can switch back. Releases come from a public GitHub repository, so there is nothing to sign in to.
curl -fsSL https://raw.githubusercontent.com/Amygdal-doo/ferrum-releases/main/install.sh | bashOr download the DMG and drag it to Applications.
One project across the apps
Ferrum Editor, FerrumAPI, FerrumGIT, FerrumData, FerrumTerm, FerrumPorts and FerrumEnv share a project bar at the top of the window. It shows the current project's name, path and Git branch. ⌥⌘O switches between recent projects, a list every app shares, and buttons open the project in Ferrum Editor, FerrumGIT or FerrumTerm.
From your shell
Turn on a shell command for an app in the launcher, and open things from any terminal:
fee . # Ferrum Editor on this folder
feg . # FerrumGIT on this repository
fet # a FerrumTerm session in this folderCommands are off by default and you pick their names. The launcher also links each app's own command-line tools, such as fterm, into ~/.ferrum/bin.
Platforms
Today Ferrum is for Macs with Apple Silicon. The launcher comes as a DMG, signed and notarized by Apple, or as a one-line install from Terminal. The release workflow also builds the launcher, and many of the apps, for Windows and Linux on x86_64. Those builds have only been compiled in CI, not tried by hand, so the download page still lists them as coming soon. FerrumTerm has no Windows build.
What to expect
Alpha means usable for real work, released often, and rough at the edges. In particular:
- Tested, but not all by hand. The logic in every app is covered by automated tests, many of them headless tests that drive the real views. Some windows haven't been clicked through by a person yet, FerrumEnv and FerrumPorts among them. Each app's page says how it was tested.
- Frequent updates. The launcher checks for new releases when it starts and every six hours. If a release breaks something for you, activate the previous version on the app's page in the launcher.
- Missing pieces. Every product page has a "Not built yet" list. We would rather show you that list than write around it.
- Local data. The apps keep their data on your Mac. FerrumEnv encrypts its vault behind a master password.
What it costs
Ferrum is free to download and use. There is no account, no sign-in and no licence key: the launcher and every app come from public releases on GitHub.
What is next
No dates here, only the direction. Windows and Linux installers for the launcher are listed as coming soon. Beyond that, these are some of the bigger gaps on each app's "Not built yet" list:
- Ferrum Editor: packages and plugins, code folding, multiple windows
- FerrumAPI: OAuth 2.0 and Digest auth, pre-request and test scripts
- FerrumGIT: interactive rebase and a merge-conflict editor
- FerrumData: row editing, syntax highlighting and autocomplete
- FerrumTerm: a config file, themes and search
- FerrumKit: saved inputs between launches
- FerrumContainers: building images and pulling from private registries
- FerrumPorts: column sorting and keyboard navigation in the table
- FerrumEnv: unlocking with Touch ID, and per-person keys
We'll write here when something lands. Follow the Atom feed to get it in your feed reader.