You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Introduce RustShare Shell Memory: a vault-native shell history system that captures terminal commands with operational context, stores them securely in the RustShare vault, exposes them through web/API/SSH-style access, and reindexes them for search, AI/RAG, summaries, and runbook generation.
This should not be implemented as a simple .bash_history or .zsh_history file sync. The goal is to turn shell history into durable, searchable operational memory.
Problem
Current shell history is usually local, unstructured, hard to search across machines, and disconnected from project/workspace context. It also often contains sensitive data, so blindly syncing raw history files would be unsafe.
RustShare already aims to become a durable memory layer for files, notes, technical work, and company/project knowledge. Shell history is a natural extension of that idea because many infrastructure decisions, troubleshooting steps, and operational procedures happen in the terminal first.
Goals
Capture shell commands with useful context.
Store shell history inside the RustShare vault in a structured and secure way.
Allow searching history across multiple machines, projects, hosts, and sessions.
Allow access from machines where no permanent RustShare client is installed.
Reindex shell history for semantic search, AI summaries, and RAG.
Generate reusable runbooks from successful command sequences.
Provide a zsh plugin as the first capture integration.
Keep the implementation security-first, with strong redaction and privacy controls.
Non-goals for the first version
Do not replace all shell history tools immediately.
Do not build a full Atuin clone in the first iteration.
Do not sync raw .bash_history or .zsh_history files without filtering.
Do not execute remote commands from RustShare UI.
Do not make shell history shared by default.
Prior art and licenses
Existing tools validate this product direction:
Tool
Purpose
License note
RustShare relevance
Atuin
Encrypted shell history sync/search
Core project is MIT licensed
Strong prior art; possible future import/export integration. Do not vendor code in MVP unless license notices are handled.
fzf
Fuzzy terminal search UI
MIT licensed
Useful UX reference for terminal search.
McFly
Smarter shell history search
License must be verified before any reuse
Useful concept reference for context-aware ranking.
zsh history sync plugins
zsh-specific history sync using Git/GPG or similar
Usually permissive, but verify per project
Useful reference for shell plugin behavior and encrypted sync patterns.
RustShare should differentiate by treating shell history as vault-native operational memory, not just synchronized command recall.
Recommended policy:
Build a native RustShare collector first.
Support Atuin import later.
Mention Atuin as prior art, not as a dependency.
Keep any RustShare shell plugin under the same license strategy as RustShare unless intentionally separated.
Proposed architecture
1. Capture layer
Start with a small zsh plugin that captures commands using shell hooks and forwards events to a RustShare shell collector binary.
Summary
Introduce RustShare Shell Memory: a vault-native shell history system that captures terminal commands with operational context, stores them securely in the RustShare vault, exposes them through web/API/SSH-style access, and reindexes them for search, AI/RAG, summaries, and runbook generation.
This should not be implemented as a simple
.bash_historyor.zsh_historyfile sync. The goal is to turn shell history into durable, searchable operational memory.Problem
Current shell history is usually local, unstructured, hard to search across machines, and disconnected from project/workspace context. It also often contains sensitive data, so blindly syncing raw history files would be unsafe.
RustShare already aims to become a durable memory layer for files, notes, technical work, and company/project knowledge. Shell history is a natural extension of that idea because many infrastructure decisions, troubleshooting steps, and operational procedures happen in the terminal first.
Goals
Non-goals for the first version
.bash_historyor.zsh_historyfiles without filtering.Prior art and licenses
Existing tools validate this product direction:
RustShare should differentiate by treating shell history as vault-native operational memory, not just synchronized command recall.
Recommended policy:
Proposed architecture
1. Capture layer
Start with a small zsh plugin that captures commands using shell hooks and forwards events to a RustShare shell collector binary.
Example data to capture:
The zsh plugin should stay thin. The main logic should live in a Rust binary, for example:
2. Local buffer / offline support
The collector should work offline and buffer locally.
Possible local store:
or platform-specific equivalent.
The client should sync later when RustShare is reachable.
3. Vault storage model
Do not store everything as one huge Markdown file.
Use structured storage as source of truth and generate Markdown views where useful.
Possible vault layout:
Source of truth options:
Generated Markdown views should be human-readable but not the only authoritative data source.
4. Search and access without local client
Support access modes that do not require permanent client installation:
Web UI
A RustShare web view for shell history:
Search examples:
API
Provide authenticated API search:
Temporary bootstrap access
Optional one-time bootstrap command:
curl -s https://rustshare.example.com/shell/bootstrap | shThis should be disabled by default or gated behind short-lived tokens.
SSH-style access, future idea
Possible future UX:
This would allow shell-history search from machines without installing a RustShare client.
AI / RAG behavior
Shell history should be indexed at multiple levels:
Raw command index
For exact search:
Semantic command index
Generate normalized semantic text for embeddings, for example:
Session index
Group commands into sessions:
Project index
Infer project from:
AI use cases
RustShare AI should be able to answer questions like:
Security requirements
This feature must be private and security-first.
Local redaction before upload
Never upload obviously sensitive commands by default.
Examples to block or redact:
password=token=secret=AWS_SECRET_ACCESS_KEYPRIVATE_KEYsshpassmysql -p...psql postgresql://user:pass@...kubectl create secret ...Server-side redaction
Server-side validation should run even if the local client missed something.
User controls
Required controls:
Privacy defaults
Proposed MVP phases
MVP-1: Capture and vault storage
MVP-2: AI indexing
MVP-3: Clientless access
MVP-4: Compatibility
.zsh_history.bash_historyAcceptance criteria for MVP-1
Open questions
Suggested positioning
Do not market this as simple shell history sync.
Better positioning:
Alternative: