A few weeks ago, I introduced Termim as a way to stop shell history from bleeding across projects.
The idea was simple:
You run a Docker command in one repo…
then later press ↑ (arrow-up key) somewhere completely different and get unrelated history back.
That friction always felt unnecessary.
Since then, Termim has evolved quite a bit — both technically and conceptually.
From “Project-Aware” to Directory-Aware
One thing I realized while building this:
“Project-aware” wasn’t precise enough.
A lot of work happens inside projects:
- nested backend folders
- monorepos
- temporary workspaces
- isolated environments
So Termim now scopes history to your actual directory context, not project root.
That means:
- cleaner recall
- less irrelevant history
- less searching through noise
- What Changed Recently
- Binary-First Installers
Here's What Changed Recently
Binary-First Installers
Installers were rewritten for:
- Bash
- Zsh
- Fish
- PowerShell
Instead of forcing local builds, Termim now downloads the correct Rust binary automatically.
Also added:
- SHA256 checksum verification
- idempotent installs
- instant activation on Windows
- In-Memory Secret Redaction
In-Memory Secret Redaction
This became important pretty quickly.
Termim now scrubs sensitive data before history is written:
- API keys
- JWTs
- passwords
- tokens
The filtering happens in-memory, so secrets never touch disk history.
Still Zero-Daemon
One thing I wanted to preserve from day one:
No background services.
Termim stays lightweight:
- no daemon
- low latency
- Rust-native execution
- minimal overhead
The shell should still feel fast.
Cross-Shell Parity
Behavior is now consistent across:
- Bash
- Zsh
- Fish
- PowerShell
The core interaction model is:
↑ → your directory history
↓ → predicted next commands
One Unexpected Thing
The most useful feedback I got wasn’t praise.
It was people saying:
“I still don’t understand what this actually does.”
And honestly, they were right.
That feedback forced me to explain the product more concretely, which ended up improving the direction of the project itself.
The real value of Termim isn’t “AI workflow optimization.”
It’s much simpler:
keeping terminal history relevant to where you actually are.
Architecture & Internals
I also added a detailed ARCHITECTURE.md covering:
- state management
- locking
- prediction flow
- shell integration
- execution model
For anyone interested in the internals.
GitHub: https://github.com/akhtarx/termim
Still early. Still refining.
But the direction feels much clearer now.
Top comments (0)