A CLI tool for managing daily journal entries and standup notes in a zettelkasten-style knowledge base.
- Automatic work extraction - Populate standups with yesterday's completed work and today's goals
- GitHub integration - Automatically include PRs created yesterday and open/unreviewed PRs in standups
- Goals management - Copy unfinished goals between journal entries
- Smart link fixing - Resolve relative date references (Yesterday/Tomorrow) and cross-references
- Slack-ready updates - Generate concise daily updates in Slack-compatible format
- Gap handling - Handles weekends and holidays automatically
- Template-based generation - Integrates with external tools like zk
Download the appropriate binary for your platform from the releases page, make it executable, and move it to your PATH:
# Linux/macOS
chmod +x za-*
sudo mv za-* /usr/local/bin/za
# Or add to your PATH
mv za-* ~/bin/za # Make sure ~/bin is in your PATHgo install github.com/rdark/za@latest# Generate configuration file
za generate-config
# Edit .za.yaml with your paths and settings
# Then start using:
za generate-journal # Create today's journal
za generate-standup # Create standup with yesterday's work and today's goals
za standup-slack # Generate Slack-ready daily update
za fix-links journal/2025-01-15.md # Fix stale linksCreate .za.yaml in your notes directory:
journal:
dir: ./journal
work_done_sections: ["work completed", "worked on"]
create:
cmd: "zk new --title 'Daily Log {date}' --print-path journal/"
standup:
dir: ./standup
work_done_section: "Worked on yesterday"
create:
cmd: "zk new --title 'Standup {date}' --print-path standup/"
search_window_days: 30
# GitHub integration (optional)
# Requires GitHub CLI (gh) to be installed and authenticated
github:
enabled: true
org: "my-org" # GitHub organization to search for PRsThe GitHub integration is optional and requires:
- GitHub CLI (gh) installed and authenticated
- Configuration in
.za.yamlwithgithub.enabled: trueand your organization name
When enabled, generate-standup will automatically:
- Add PRs created yesterday (in any state) to "Worked on yesterday"
- Add PRs opened in the last 7 days that are still open and unreviewed to "Working on today"
za generate-journal # Creates journal with fixed links
za generate-standup # Creates standup with yesterday's work and today's goals
za generate-standup --no-work # Skip work extractionza standup-slack # Generate update for today
za standup-slack 2025-01-15 # Generate update for specific dateOutputs a concise summary of yesterday's completed work and today's planned goals in Slack-compatible format:
previous:
* Completed feature X
* Fixed bug Y
next:
* Review code changes
* Deploy to staging
za fix-links journal/2025-01-15.md --dry-run # Preview
za fix-links journal/2025-01-15.md # ApplyFixes temporal links (Yesterday/Tomorrow) and cross-references (Journal/Standup) to point to actual existing files.
Notes use date-based filenames (YYYY-MM-DD.md) with markdown + YAML frontmatter:
---
title: Daily Log 2025-01-15
---
# Work Completed
- Implemented feature X
- Fixed bug Y
[Yesterday](2025-01-14.md) | [Standup](../standup/2025-01-15.md)MIT License - see LICENSE file for details