Skip to main content
Shell

startup-motd

No description provided

Files
5
Size
19.9 KB
Langs
1
Created
Dec 5, 2025
Last push
10 months ago
README.md

startup-motd (modular MOTD)

Fast, configurable terminal startup inspired by the original ~/.startup.sh. Modules run in parallel with caching, optional LLM bits, and graceful fallbacks. Defaults are safe (skip when deps are missing), and every data source can be swapped for your own commands.

Quick start

git clone <repo-url> startup-motd
cd startup-motd
./install.sh                 # copies config + symlink + runs --check
startup-motd                 # render MOTD once (after install)

To load at shell start, add to ~/.zshrc or ~/.bashrc:

startup-motd

Configure

Copy config.sample.sh to ~/.config/startup-motd/config.sh and tweak:

  • Toggle modules: MOTD_ENABLE_STATS, MOTD_ENABLE_TASKS, etc.
  • Cache + timeouts: MOTD_CACHE_*, MOTD_GLOBAL_WAIT, MOTD_NETWORK_TIMEOUT.
  • Providers: MOTD_STATS_CMD, MOTD_TASKS_CMD, MOTD_CALENDAR_CMD, MOTD_EMAIL_CMD.
  • Repo scan roots: MOTD_REPO_ROOTS (space-separated) and MOTD_REPO_LIMIT.
  • Colors/symbols: MOTD_COLOR_*, MOTD_SYMBOL_*.
  • LLM: MOTD_TASKS_LLM_CMD, MOTD_ORACLE_LLM_CMD, MOTD_TASKS_LLM_ENABLE, MOTD_ENABLE_ORACLE.

Flags:

  • --check show module readiness
  • --clear-cache purge caches before rendering
  • --config /path/to/config.sh use an alternate config
  • --no-color disable ANSI

Modules & providers

  • Stats: no network default; set MOTD_STATS_CMD="your-stats-command" (e.g., echo \"85 WPM • 3.2h\") or disable with MOTD_ENABLE_STATS=0.
  • Tasks: default uses things-cli today. If you don’t use Things, set MOTD_TASKS_CMD="todoist list" (or any command) or disable via MOTD_ENABLE_TASKS=0. LLM prioritization uses MOTD_TASKS_LLM_CMD.
  • Calendar: default uses icalBuddy. For non-Apple setups, set MOTD_CALENDAR_CMD="icalendar_cli eventsToday" or disable with MOTD_ENABLE_CALENDAR=0.
  • Repos: scans MOTD_REPO_ROOTS (space-separated) for git repos and sorts by last commit.
  • Email: default runs ~/.email-summary.sh; set MOTD_EMAIL_CMD="your-email-summary" or disable via MOTD_ENABLE_EMAIL=0.
  • Oracle: optional; uses cached sections and MOTD_ORACLE_LLM_CMD when online. Disable with MOTD_ENABLE_ORACLE=0.

If you don’t want to hit the example APIs, set MOTD_ENABLE_STATS=0 or point MOTD_STATS_CMD at your own source.

Note: on a clean system without optional tools, sections simply skip (you’ll just see the header/footer). That’s normal—enable modules as you add providers.

Make it feel like a plugin

  • Keep the project in ~/.config or ~/code, and symlink bin/startup-motd into your $PATH.
  • Expose aliases: alias motd='startup-motd'.
  • Run startup-motd --check after changing providers to verify dependencies.