Skip to content

Table of Contents

🔧 Scripts

Helper automation for the learning workflow.

Script Purpose
new-day.sh Scaffold today's journal entry from templates/DAILY_TEMPLATE.md, auto-filling day number, date, month, and week.
gen-learning-log.py Regenerate LEARNING_LOG.md from the frontmatter of every day note.
gen-badges.py Regenerate the dynamic README badges + content-stats table from the file tree. Run with --check to fail if stale (used by CI).
build-docs.py Assemble the Markdown into docs_build/ for the MkDocs site (see docs/PUBLISHING.md).

Keeping the README & log fresh

python3 scripts/gen-learning-log.py   # after adding day notes
python3 scripts/gen-badges.py         # after adding content; --check verifies

CI auto-runs gen-badges.py on pushes that change content (see .github/workflows/badges.yml) and commits the refreshed README, so you rarely need to run it by hand.

Usage

./scripts/new-day.sh            # next day, today's date
./scripts/new-day.sh 12         # force day 12
./scripts/new-day.sh 12 2026-07-08

Ideas for more scripts (good Go practice projects!)

  • progress.go — parse the YAML frontmatter of all day notes to recompute totals, streak, and update the badges in README.md / PROGRESS.md.
  • new-week.sh / new-month.sh — scaffold review notes.
  • heatmap.go — render the streak heatmap from journal dates.

Rewriting new-day.sh as a Go CLI is a great Month-2 exercise — see projects/01-cli-todo for the pattern.


README