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) andMOTD_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:
--checkshow module readiness--clear-cachepurge caches before rendering--config /path/to/config.shuse an alternate config--no-colordisable ANSI
Modules & providers
- Stats: no network default; set
MOTD_STATS_CMD="your-stats-command"(e.g.,echo \"85 WPM • 3.2h\") or disable withMOTD_ENABLE_STATS=0. - Tasks: default uses
things-cli today. If you don’t use Things, setMOTD_TASKS_CMD="todoist list"(or any command) or disable viaMOTD_ENABLE_TASKS=0. LLM prioritization usesMOTD_TASKS_LLM_CMD. - Calendar: default uses
icalBuddy. For non-Apple setups, setMOTD_CALENDAR_CMD="icalendar_cli eventsToday"or disable withMOTD_ENABLE_CALENDAR=0. - Repos: scans
MOTD_REPO_ROOTS(space-separated) for git repos and sorts by last commit. - Email: default runs
~/.email-summary.sh; setMOTD_EMAIL_CMD="your-email-summary"or disable viaMOTD_ENABLE_EMAIL=0. - Oracle: optional; uses cached sections and
MOTD_ORACLE_LLM_CMDwhen online. Disable withMOTD_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
~/.configor~/code, and symlinkbin/startup-motdinto your$PATH. - Expose aliases:
alias motd='startup-motd'. - Run
startup-motd --checkafter changing providers to verify dependencies.