I built Omniscient, a command history tracker for your shell. It captures every command you run, categorizes them intelligently, and makes them instantly searchable across machine migrations.
*What it does:*
- Captures every shell command with zero overhead (<10ms)
- Auto-categorizes by command type (git, docker, npm, etc.)
- Full-text search through your entire history
- NEW in v1.2.0: Contextual queries - filter commands by directory (`omniscient here`)
- Export/import for syncing across machines
- Privacy-first: automatic redaction of passwords/tokens
*Example:*
```bash
# What git commands did I use in this project?
omniscient here --recursive | grep git
# How did I deploy the backend last time?
omniscient search deploy --dir ~/services/backend
# What's my most-used docker command?
omniscient top 10 | grep docker
```
*The AI elephant in the room:*
Yes, this was built with AI assistance (Claude). I know that raises trust questions for a tool that captures your command history. Here's how I addressed that:
1. *100% Open Source*: Every line is auditable (https://github.com/daneb/omniscient)
2. *91 Automated Tests*: Comprehensive test coverage
3. *Zero Network Calls*: Grep the source yourself - all data stays local
4. *Security Audits*: cargo-audit on every commit
5. *Architecture Decision Records*: All major decisions documented
6. *Human Review*: Every AI-generated line was reviewed and validated
The AI helped with implementation, but humans made all architectural decisions, wrote tests, and validated everything. Full transparency: CONTRIBUTING.md documents the development process.
*Tech stack:* Rust, SQLite FTS5, zero dependencies on external services
*Privacy:* Everything stored in `~/.omniscient/`. No telemetry, no analytics, no network calls. You can audit the code yourself.
-- Fixed 1⃣
* Search with Special Characters - Fixed search failure when querying for commands containing special characters
* IP addresses (e.g., 10.104.113.39) now work correctly
* URLs (e.g., https://api.github.com) are fully supported
* File paths with dots (e.g., ./config/settings.yaml) search successfully
* Email addresses and other special character combinations work properly
* Added automatic FTS5 query sanitization by wrapping queries in quotes
* Implemented fallback to SQL LIKE search for edge cases where FTS5 still fails
* Error: "fts5: syntax error near "."" is now resolved
-- Added 2⃣
* sanitize_fts5_query() helper function for safe FTS5 queries
search_with_like() fallback method for robustness
* 7 new test cases for special character searches (98 total tests)
* Architecture Decision Record: ADR-001: FTS5 Query Sanitization
-- Changed 3⃣
All search queries now use exact phrase matching for better accuracy
Search is now more robust with multi-layered fallback mechanisms
This is my own personal daily driver and the aim is to keep it minimal, open and secure. It's not trying to compete, it's only trying to defeat - my own brain fog :)
Atuin is a monster. I was looking to prove an idea I had around my workflow and the problems I experience. I want something small, minimal and source code I trust.
I am not looking for what atuin or x does. Been using Linux, *BSD for over 15 years. Just got tired of the same issue, depending on Obsidian for my commands. This was just easy. So I shared what was useful. I don't believe I was trying to convince anyone to use it. If you find it useful, use it, if not, don't.
I did take a look, a bit more than what I am looking for. It costs nothing to build these things in Rust and that meet my very exact needs. Thanks for the suggeston :)
Omniscient is a cross-platform command history tracker that captures every command you run, categorizes them intelligently, and makes them instantly searchable. Survive machine migrations, access your command library anywhere, and boost your CLI productivity.
Cause I got tired of having to record commands and store them in my second brain. And history search often hits limits. Also it would be great to have richer search for commands that are contextual (kubectl, git)
Providing insufficient context
Not sharing relevant dependencies or environment details
Omitting important business rules or constraints
Not explaining how the code fits into the larger system
Failing to specify performance requirements or scale
There is more in the post.
But is there more? What are some things you've messed up on and learnt from?
*What it does:*
- Captures every shell command with zero overhead (<10ms) - Auto-categorizes by command type (git, docker, npm, etc.) - Full-text search through your entire history - NEW in v1.2.0: Contextual queries - filter commands by directory (`omniscient here`) - Export/import for syncing across machines - Privacy-first: automatic redaction of passwords/tokens
*Example:*
```bash # What git commands did I use in this project? omniscient here --recursive | grep git
# How did I deploy the backend last time? omniscient search deploy --dir ~/services/backend
# What's my most-used docker command? omniscient top 10 | grep docker ```
*The AI elephant in the room:*
Yes, this was built with AI assistance (Claude). I know that raises trust questions for a tool that captures your command history. Here's how I addressed that:
1. *100% Open Source*: Every line is auditable (https://github.com/daneb/omniscient) 2. *91 Automated Tests*: Comprehensive test coverage 3. *Zero Network Calls*: Grep the source yourself - all data stays local 4. *Security Audits*: cargo-audit on every commit 5. *Architecture Decision Records*: All major decisions documented 6. *Human Review*: Every AI-generated line was reviewed and validated
The AI helped with implementation, but humans made all architectural decisions, wrote tests, and validated everything. Full transparency: CONTRIBUTING.md documents the development process.
*Tech stack:* Rust, SQLite FTS5, zero dependencies on external services
*Privacy:* Everything stored in `~/.omniscient/`. No telemetry, no analytics, no network calls. You can audit the code yourself.
reply