A personal developer memory engine that tracks terminal history to rebuild the story of your projects.
Project description
TermStory — Your Personal Developer Memory Engine
Parse your shell history. Recover your past. Understand your work.
TermStory turns your terminal history into a searchable, AI-narrated timeline of your development life. It groups shell commands into sessions, correlates Git commits, resolves project names, and renders everything into a high-density TUI dashboard — with a built-in forensic engine that can recover the real dates of commands you typed before you even knew timestamps were missing.
Install
One-liner (recommended):
curl -fsSL https://raw.githubusercontent.com/bitflicker64/Termstory/main/scripts/install.sh | bash
Or from PyPI:
pip install termstory
Quick Start
1. Enable timestamps (zsh only — one time setup)
TermStory works best when your shell records timestamps.
echo '\nsetopt EXTENDED_HISTORY\nsetopt HIST_STAMPS="yyyy-mm-dd"' >> ~/.zshrc
source ~/.zshrc
(If you have old history without timestamps, TermStory's Timestamp Detective will automatically forensically recover real dates.)
2. First Run
# Launch the interactive TUI Dashboard
termstory ui
# View your developer activity for today
termstory today
# Search across your history and session summaries
termstory search auth
TUI Dashboard
TermStory v0.6.0 — AI-narrated daily chronicle, project timeline, focus metrics, and command playback.
Documentation & Key Features
Learn more about TermStory by exploring the detailed documentation below:
- Architecture & Core Concepts — Project layout, ingestion pipeline, timestamp detective, and git correlation.
- Database Schema — Thread-safe SQLite WAL schema and concurrency handling.
- Privacy Sanitizer — Learn how TermStory redacts credentials and protects local PII.
- AI Integration — Zero-dependency LLM client supporting Groq, OpenAI, and Ollama.
- TUI & AI Narratives — Dashboard layout, interactive features, and AI-generated logs.
- CLI Reference — Extended subcommands (Predict, Ask, RPG Classes, Replay, etc.).
- Configuration — Setup guide for AI providers and settings.
- Troubleshooting — Tips for recovering history and handling errors.
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to get started, set up your development environment, and submit pull requests.
Uninstall
Use the dedicated uninstaller script — it removes the venv, data directory, and the PATH line that the installer added to your shell RC file:
curl -fsSL https://raw.githubusercontent.com/bitflicker64/Termstory/main/scripts/uninstall.sh | bash -s -- --yes
Or run locally:
bash scripts/uninstall.sh --yes
Or uninstall by hand (a subset of what the script does):
pip uninstall termstory -y 2>/dev/null
rm -rf ~/.termstory-venv
rm -rf ~/.termstory
License
MIT © TermStory Contributors
GitHub: https://github.com/bitflicker64/Termstory
PyPI: https://pypi.org/project/termstory/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file termstory-0.6.3.tar.gz.
File metadata
- Download URL: termstory-0.6.3.tar.gz
- Upload date:
- Size: 295.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa1863ad0d63e8986234ed58e3d3a1b89882b0cabb410ff2f44c27c8fac85f1c
|
|
| MD5 |
866a7bb896f0b40de883062c8b9913be
|
|
| BLAKE2b-256 |
ee843caf67107c90c8e05457dd1fb613f904f7e1f24ed5e0275f7d650552ef0c
|
File details
Details for the file termstory-0.6.3-py3-none-any.whl.
File metadata
- Download URL: termstory-0.6.3-py3-none-any.whl
- Upload date:
- Size: 206.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cfca037d04a6a04940409953197f06d23e6177119a011d63aabbf5ed980a302
|
|
| MD5 |
061c71fc91bfb7b55452e12e177204c4
|
|
| BLAKE2b-256 |
1740ca8fe956d26cf3ccceb605f47f519c41b9dbef32fcc9d4c2c6f24289e125
|