A command-line devtools toolkit for tracking and managing life goals. Check, validate, generate, format, lint, explain, convert, template, diff, preview, fix, and report on your goals — all from your terminal with persistent logging and full activity history.
CommandDescriptionlifegoals check <input>Check goal entries for completeness; view recent checks without argslifegoals validate <input>Validate goal structure, format, and feasibilitylifegoals generate <input>Generate new goal ideas or milestone breakdownslifegoals format <input>Format goal data for readability or presentationlifegoals lint <input>Lint goals for vague language or missing deadlineslifegoals explain <input>Explain a goal's structure and progress pathlifegoals convert <input>Convert goal data between different formatslifegoals template <input>Create or apply goal templates for common objectiveslifegoals diff <input>Diff two goal snapshots to track changes over timelifegoals preview <input>Preview goal output or milestone timelinelifegoals fix <input>Auto-fix common issues in goal definitionslifegoals report <input>Generate a progress report on your goalslifegoals statsShow summary statistics across all actionslifegoals export <fmt>Export all logs (formats: json, csv, txt)lifegoals search <term>Search across all log entrieslifegoals recentShow the 20 most recent activity entrieslifegoals statusHealth check — version, disk usage, entry countlifegoals helpShow help with all available commandslifegoals versionPrint current version (v2.0.0)
Each data command (check, validate, generate, etc.) works in two modes:
bash
# See all available commands
lifegoals help
# Check current system status
lifegoals status
# View statistics across all commands
lifegoals stats
All data is stored locally in ~/.local/share/lifegoals/. The directory structure:
check.log, validate.log, generate.log, format.log, etc. — per-command log fileshistory.log — unified activity log across all commandsexport.json, export.csv, export.txt — generated export filesModify the DATA_DIR variable in script.sh to change the storage path.
set -euo pipefail)date, wc, du, tail, grep, sed, catlifegoals generate to brainstorm objectives and lifegoals template to apply proven goal-setting frameworks like SMART goalslifegoals check and lifegoals validate to ensure each goal has clear, actionable steps and deadlineslifegoals diff to compare goal snapshots at different dates and lifegoals report to generate progress summarieslifegoals lint to catch vague language, then lifegoals fix to tighten up weak goal definitionslifegoals export and lifegoals convert to transform your goal history into JSON, CSV, or text for journals, coaches, or planning toolsbash
# Check a goal for completeness
lifegoals check "Learn Spanish to B2 level by December 2026"
# Validate a goal's structure
lifegoals validate "Run a marathon — target: sub-4-hours"
# Generate milestone ideas for a goal
lifegoals generate "Save $50k emergency fund"
# Lint a goal for vague language
lifegoals lint "Get healthier somehow"
# Format goal data for presentation
lifegoals format "Career: Get promoted to senior engineer"
# Create a goal from a template
lifegoals template "fitness-90-day-challenge"
# Diff two goal snapshots
lifegoals diff "Q1-goals vs Q2-goals"
# Generate a progress report
lifegoals report "2026-goals"
# View summary statistics
lifegoals stats
# Export all history as JSON
lifegoals export json
# Search for goals mentioning fitness
lifegoals search "fitness"
# View recent activity
lifegoals recent
All commands output structured text to stdout. You can redirect output to a file:
bash
lifegoals report annual-review > review.txt
lifegoals export csv
The data directory defaults to ~/.local/share/lifegoals/. Modify the DATA_DIR variable at the top of script.sh to customize the storage path.
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com