Skip to main content

A CLI logbook for makers, builders, and creators to track their project journey.

Project description

Chronicle — Your Project Logbook

PyPI version Python versions License

Log the journey. Tell the story.

Chronicle is a minimal CLI logbook built for builders, makers, and anyone tracking their project journey. Log your ideas, wins, failures, and progress — with accurate timestamps — as you build.


Features

  • Quick Logging — Multiple ways to log entries (standard, quick, interactive)
  • Categories — Organize entries by type (idea, build, learn, fail, win, research, general)
  • Tags & Mood — Add metadata to entries for better organization
  • Rich CLI — Beautiful terminal output with colors and formatting
  • Interactive TUI — Browse entries in an interactive terminal interface
  • Search & Filter — Find entries by keyword, category, or date
  • Statistics — Track your journey with stats, streaks, and heatmaps
  • Export — Export your logbook to Markdown or JSON
  • Backup/Restore — Full database backup and restore capability
  • Undo/Redo — Revert accidental edits
  • Cross-Platform — Works on Linux, macOS, and Windows
  • Shell Completions — Bash, Zsh, and Fish support

Installation

pip install chronicle-log

Or install from source:

git clone https://github.com/distortedteen/chronicle.git
cd chronicle
pip install -e .

Quick Start

# Log an entry
chronicle log "Had a breakthrough on the auth flow" -c build

# Quick log with category shortcut
chronicle q b finished the auth module

# Log an idea
chronicle idea "What if we added voice logging?"

# Log a win
chronicle win "First real user signed up"

# Log a failure/lesson
chronicle fail "Shipped a bug that deleted sessions. Lesson: always backup."

# View your entries
chronicle show

# View stats
chronicle stats

# Export to Markdown
chronicle export --format markdown

Commands

Logging Commands

Command Description Example
log Log a new entry chronicle log "content" -c build
idea Quick-log an idea chronicle idea "new feature idea"
win Log a win chronicle win "milestone achieved"
fail Log a failure/lesson chronicle fail "what went wrong"
q Ultra-fast log chronicle q b quick note
note Interactive multi-line chronicle note -c build

Viewing Commands

Command Description
show Show log entries (card/table view)
last Show last N entries in full detail
view View one entry by ID
search Search entries by keyword
stats Show journey stats and heatmap
tags List all tags with counts
browse Open interactive TUI browser

Management Commands

Command Description
edit Edit an existing entry
delete Delete an entry by ID
undo Restore entry from backup
redo Re-apply undone edit
backup Create full database backup
restore Restore from backup file
export Export to Markdown or JSON
theme Set terminal theme (light/dark/system)

Global Options

Option Short Description
--version Show version number
--quiet -q Suppress output
--json -j JSON output
--help Show help

Categories

Chronicle supports 7 categories:

Category Shortcut Description
general g General notes (default)
idea i Ideas and brainstorming
build b Building/implementation
learn l Learning and research
fail l Failures and lessons
win w Wins and achievements
research r Research and investigation

Category Shortcuts with q Command

chronicle q b built the login page       # build
chronicle q i a new feature idea          # idea
chronicle q w shipped v1.0                # win
chronicle q f fixed a bug                 # fail
chronicle q l learned about async         # learn
chronicle q r researched APIs              # research
chronicle q g random thought              # general

TUI Browser

Launch the interactive terminal UI:

chronicle browse

Keyboard Shortcuts

Key Action
/ Navigate entries
/ Focus search
Esc Clear search
s Toggle stats view
n New entry
e Edit selected entry
q Quit

Shell Completions

Bash

# Source the completion script
source /path/to/shell_completions/chronicle.bash

# Or copy to your completions directory
cp shell_completions/chronicle.bash /etc/bash_completion.d/

Zsh

# Copy to your completions directory
cp shell_completions/chronicle.zsh ~/.zsh/completions/_chronicle

# Or add to fpath in .zshrc
fpath=(~/.zsh/completions $fpath)

Fish

# Copy to your completions directory
cp shell_completions/chronicle.fish ~/.config/fish/completions/chronicle.fish

Configuration

Chronicle stores data in:

  • Database: ~/.chronicle/logbook.db
  • Config: ~/.chronicle/ (theme settings, etc.)

Development

# Clone the repo
git clone https://github.com/distortedteen/chronicle.git
cd chronicle

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows

# Install dependencies
pip install -e .

# Run tests
pytest

# Run the CLI
chronicle --help

License

MIT License — Copyright (c) 2024 Pratyay Mukherjee


Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chronicle_cli-0.1.0.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chronicle_cli-0.1.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file chronicle_cli-0.1.0.tar.gz.

File metadata

  • Download URL: chronicle_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for chronicle_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9b7ebf5c8ce992964bcf602e05049b99bf96dc158b2b8de6c14d40bf396e4b69
MD5 228f62995ffffc66ebcdc44a3669d394
BLAKE2b-256 a2e128d9a68254da1b1bcda927fb4e82b88489ce2b9d0508cf41e4d7a9d6e788

See more details on using hashes here.

File details

Details for the file chronicle_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: chronicle_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for chronicle_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ee99e9ff70255e145984e92eac3f0116c81f0e75b1aafae055cd72fe6a5445a
MD5 5d62030286d29c5f49a967cdfdaabf80
BLAKE2b-256 4d26f8ce7ad82bb15d5839a808f117f8cbe119ebe8a67731693698849d9280e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page