Skip to content

rdark/za

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Za - Zettelkasten Augmentation

CI Release

A CLI tool for managing daily journal entries and standup notes in a zettelkasten-style knowledge base.

Features

  • 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

Installation

Download Binary

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 PATH

Build from Source

go install github.com/rdark/za@latest

Quick Start

# 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 links

Configuration

Create .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 PRs

GitHub Integration

The GitHub integration is optional and requires:

  1. GitHub CLI (gh) installed and authenticated
  2. Configuration in .za.yaml with github.enabled: true and 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"

Usage

Generate Notes

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 extraction

Slack Updates

za standup-slack                 # Generate update for today
za standup-slack 2025-01-15      # Generate update for specific date

Outputs 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

Fix Links

za fix-links journal/2025-01-15.md --dry-run  # Preview
za fix-links journal/2025-01-15.md            # Apply

Fixes temporal links (Yesterday/Tomorrow) and cross-references (Journal/Standup) to point to actual existing files.

File Format

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)

License

MIT License - see LICENSE file for details

Built With

About

Zettlekasten Augmentation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages