CommandChronicles Documentation
Complete guide to architecture, security, and usage of the ultimate terminal history tracker.
Introduction
CommandChronicles is the ultimate terminal history tracker for developers, designed to capture, secure, and organize your command line experience. Unlike traditional shell history, CommandChronicles provides rich metadata, cross-device synchronization, and military-grade encryption.
Built with modern Go architecture, CommandChronicles offers real-time command capture, intelligent search capabilities, and seamless integration with your existing workflow. Every command is encrypted locally before storage, ensuring your sensitive information remains private and secure.
🔒 Secure by Design
XChaCha20-Poly1305 encryption with Argon2id key derivation
🔍 Intelligent Search
Fuzzy search with rich metadata and context
🌐 Cross-Device Sync
Perfect synchronization across all your devices
Installation & Setup
Download & Install
Download the latest release for your platform:
Available for Linux (amd64, arm64), macOS (Intel, Apple Silicon), and Windows
Initial Setup
After installation, set up CommandChronicles in 3 simple steps:
Command Capture
Hook System Architecture
CommandChronicles uses shell integration hooks that automatically capture commands as you execute them. The system supports bash and zsh shells with transparent capture.
Captured Data
Each command execution captures comprehensive metadata:
- Command text and arguments
- Exit code (success/failure)
- Execution duration
- Working directory
- Git repository information
- Session and hostname
- User and shell type
- Environment variables
Data Processing
Encryption Pipeline
All command data flows through a secure encryption pipeline before storage:
Search Engine
Hybrid Search Architecture
CommandChronicles implements a sophisticated hybrid search system combining exact matching with fuzzy search capabilities for optimal user experience.
🎯 Exact Search
- • SQL-based pattern matching
- • Directory and git filtering
- • Exit code filtering
🔍 Fuzzy Search
- • Bleve full-text indexing
- • Typo tolerance
- • Relevance scoring
Cache Implementation
High-performance caching system with configurable memory limits and intelligent eviction:
Background Daemon
Daemon Architecture
The background daemon handles automatic synchronization, maintenance tasks, and system integration. It runs as a lightweight service with minimal resource usage.
Daemon Control
Security Implementation
XChaCha20-Poly1305 Encryption
CommandChronicles uses XChaCha20-Poly1305, a state-of-the-art authenticated encryption algorithm that provides both confidentiality and integrity protection.
Key Features:
- • 256-bit key size
- • 192-bit nonce (extended nonce)
- • Authenticated encryption
- • Resistance to timing attacks
Security Benefits:
- • Data confidentiality
- • Data integrity verification
- • Protection against forgery
- • Large nonce space prevents collisions
Argon2id Key Derivation
Key Derivation Process
User passwords are strengthened using Argon2id, the winner of the Password Hashing Competition and recommended by OWASP for password storage.
Default Parameters:
Privacy Model
✓ What We Protect:
- • All command history data
- • Working directories and paths
- • Git repository information
- • Environment variables
- • User session data
🛡️ How We Protect:
- • Local-only storage by default
- • End-to-end encryption for sync
- • Secure session management
- • No telemetry or tracking
- • Memory protection & cleanup
Basic Commands
Installation and Setup
ccr setup
Initialize CommandChronicles with default configuration and create necessary directories
ccr install-hooks
Install shell integration hooks for automatic command capture (bash/zsh)
ccr uninstall-hooks
Remove shell hooks to disable automatic command recording
Authentication
Session Management
ccr login
Authenticate and create a new session (required for encrypted operations)
ccr lock
Lock the current session and require re-authentication
ccr unlock
Unlock with password and restore session access
Search Operations
Interactive Search
Ctrl+R
Launch interactive TUI for command search and selection (when hooks are installed)
ccr tui
Launch TUI directly (view-only mode without command injection)
Command Line Search
ccr search [query]
Search command history with fuzzy matching and filters
ccr search --directory /path [query]
Filter search results by working directory
ccr search --success-only
Show only commands that executed successfully (exit code 0)
Tag System
Command Organization with Tags
Tags are short labels that help categorize and organize your commands for better discoverability. CommandChronicles supports both manual tagging and automatic tag assignment based on command patterns.
Manual Tagging
ccr tag add 123 deployment
ccr tag add 123 production
ccr tag search docker
Auto-Tagging
docker
→ dockergit
→ gitkubectl
→ k8sTUI Tag Features
Keyboard shortcuts
ctrl+g
- Manage tags for selected commandctrl+f+g
- Toggle tag search modectrl+t
- Access color picker for tagsctrl+a
- Auto-tag rules management
Visual Features
- • Colored tag labels for visual grouping
- • Up to 5 tags per command
- • 16 color palette for customization
- • Integrated search by tags
Notes System
Contextual Command Documentation
Add detailed notes to any command explaining why you ran it and how it solved your problem. Transform your command history into a personal knowledge base with rich context and explanations.
CLI Note Management
ccr note add 123 "Deploy to production"
ccr note edit 123 "Updated deployment"
ccr note search "deployment"
TUI Note Features
ctrl+n
- Edit note for selected commandctrl+f+n
- Search commands and notestab
- View command details with notesBest Practices for Notes
What to include
- • Context: Why was this command run?
- • Solution: What problem did it solve?
- • Environment: Which server/environment?
- • Parameters: Important flags or options
Note Features
- • Maximum 1000 characters per note
- • Multi-line support with word wrapping
- • Visual indicators (● dot) for noted commands
- • Combined search with command text
Data Management
Import/Export Operations
ccr export --format json
Export complete command history with metadata in JSON format
ccr import ~/.bash_history --format bash
Import existing shell history from standard history files
ccr delete --id [command-id]
Delete specific commands from encrypted storage
Sync Operations
Cross-Device Synchronization
ccr sync register
Register device for cross-device sync with CommandChronicles servers
ccr sync now
Sync local command history with server ( pull / push )
ccr sync pull
Pull command history from other synchronized devices
Daemon Control
ccr daemon-control start
ccr daemon-control stop
ccr daemon-control status
ccr daemon-control restart
ccr daemon-control install-service
ccr daemon-control remove-service
Configuration
Config File Structure
Configuration is stored in ~/.config/commandchronicles/config.toml
Environment Variables
[Content placeholder: Available environment variables and their usage]
Troubleshooting
Common Issues
Shell Integration Not Working
If commands aren't being captured after installation:
Search Not Finding Commands
If your search isn't returning expected results:
- • Check if the search index needs rebuilding with
ccr rebuild-index
- • Verify commands are being captured with
ccr stats
- • Try exact matching before fuzzy search
- • Ensure you're using the correct shell where hooks are installed
Sync Issues
If cross-device sync is not working properly:
Memory and Performance
If CommandChronicles is using too much memory or feels slow:
- • Adjust cache settings in
~/.config/commandchronicles/config.toml
- • Reduce hot cache size if memory usage is high
- • Consider archiving old command history
- • Check if search index needs optimization
Permission Issues
If you're getting permission errors:
- • Ensure
~/.local/share/commandchronicles/
is writable - • Check that
~/.config/commandchronicles/
exists and is accessible - • Verify your user has permission to write to the shell RC files
- • Try running
ccr debug
to diagnose issues
Getting Help
If you're still experiencing issues:
Community Support
- • Check our FAQ page
- • Visit GitHub Issues
- • Search existing discussions and solutions
Direct Support
- • Email: support@commandchronicles.dev
- • Include system info and error messages
- • Describe steps to reproduce the issue
Troubleshooting
Common Issues
[Content placeholder: FAQ-style troubleshooting guide]
Debug Mode
[Content placeholder: How to enable debugging and log analysis]