Skip to main content

standup-ai

Generate your daily standup from git history — in seconds.

standup-ai                         # scan current dir, auto-detect provider
standup-ai --yesterday             # only commits from yesterday
standup-ai --days 3                # last 3 calendar days
standup-ai --style slack --copy    # Slack format, copy to clipboard
standup-ai --provider ollama       # no API key needed

PyPI version Python 3.9+ License: MIT Tests


The problem

Every developer on a remote team has to write a daily standup:

"Yesterday I worked on auth, fixed a bug in the login flow, started the JWT implementation. Today I'll finish JWT and write tests."

You already did the work. Why are you also writing about it?

standup-ai reads your git commits and writes the standup for you.


Demo

$ standup-ai ~/projects --style slack --copy

╭─────────────────────────── Daily Standup (slack) ──────────────────────────╮
│                                                                              │
│  Shipped JWT auth and fixed two production bugs                              │
│                                                                              │
│  • [gitbrief] Added --changed-only flag for PR review mode                  │
│  • [gitbrief] Implemented git diff embedding with --include-diff            │
│  • [api-service] Fixed null pointer in /users/profile endpoint              │
│  • Today: finish JWT refresh token rotation, write integration tests        │
│                                                                              │
╰──────────────────────────── 4 commits · gitbrief, api-service ─────────────╯

✓ Copied to clipboard

Why standup-ai?

git-standup (6k stars) is the closest thing — it lists raw commits from the last 24 hours. Great for finding what you did, but you still have to write the standup yourself.

standup-ai goes further:

Feature standup-ai git-standup manual
Scans multiple repos ✅ ✅ ❌
AI-generated summary ✅ ❌ ❌
Slack/bullet/standard styles ✅ ❌ ❌
Auto-detects your author ✅ ✅ ❌
Clipboard copy ✅ ❌ ❌
Works with local LLMs ✅ ❌ ❌
No API key required (Ollama) ✅ ✅ ✅

Install

pip install standup-ai

Or with pipx (recommended):

pipx install standup-ai

Requires Python 3.9+.


Quick Start

# Auto-detects provider from env (ANTHROPIC_API_KEY or OPENAI_API_KEY)
standup-ai

# Scan multiple project directories
standup-ai ~/projects ~/side-projects

# Only commits from yesterday (great for morning standups)
standup-ai --yesterday

# Last 3 calendar days (e.g. Monday morning covering the weekend)
standup-ai --days 3

# Slack format, copy to clipboard
standup-ai --style slack --copy

# No API key needed — use Ollama
standup-ai --provider ollama --model llama3.2

# Show raw commits before generating
standup-ai --show-commits

# Raw output for piping
standup-ai --raw > standup.txt

Config File

Save your defaults in ~/.standup.yaml so you never have to type them again:

# ~/.standup.yaml
paths:
  - ~/projects
  - ~/work
style: slack
provider: claude
# author: "Your Name"   # override git user.name
# hours: 24             # default time window

Any CLI flag still overrides the config file.


Providers

Provider Flag Requires
Claude (default if key exists) --provider claude ANTHROPIC_API_KEY
OpenAI --provider openai OPENAI_API_KEY
Ollama (local, free) --provider ollama Ollama running

Using Ollama (no API key)

# Install Ollama: https://ollama.ai
ollama pull llama3.2

standup-ai --provider ollama --model llama3.2

Output Styles

--style standard (default)

**Yesterday:**
- [myrepo] Implemented JWT authentication with refresh token rotation
- [api-service] Fixed null pointer exception in profile endpoint

**Today:**
- Write integration tests for JWT flow
- Code review on open PRs

**Blockers:**
- None

--style bullet

- Added JWT auth and refresh tokens [myrepo]
- Fixed profile endpoint bug [api-service]
- Today: integration tests + PR reviews

--style slack

Shipped JWT auth and fixed a prod bug

* [myrepo] JWT authentication with refresh token rotation
* [api-service] Profile endpoint null pointer fix
* Today: tests + code review

Options

standup-ai [PATH...] [OPTIONS]

Arguments:
  PATH...           Directories to scan (default: current directory or ~/.standup.yaml paths)

Time window (mutually exclusive):
  --yesterday       Only commits from yesterday (midnight to midnight, local time)
  --days INT        Last N calendar days (from start of day N days ago)
  --hours INT       How many hours back to look [default: 24]

Options:
  --author TEXT     Filter by author name/email (auto-detected if not set)
  --no-filter       Include all authors (don't filter to current user)
  --provider        claude | openai | ollama (auto-detected from env)
  --model TEXT      Override model name
  --style           standard | bullet | slack [default: standard]
  --copy            Copy output to clipboard
  --raw             Plain text output (no formatting)
  --show-commits    Print raw commits found before generating
  -V, --version     Show version
  -h, --help        Show this message and exit

Tips

# Monday morning standup (covers the weekend)
standup-ai --yesterday --days 3

# Monday morning — all commits since Friday
standup-ai --days 3

# Team standup: see what everyone did (no author filter)
standup-ai --no-filter

# Add to your shell as an alias
alias standup='standup-ai --yesterday --style slack --copy'

# See what commits were found before generating
standup-ai --show-commits --provider ollama

Development

git clone https://github.com/faw21/standup-ai
cd standup-ai
python -m venv .venv && source .venv/bin/activate
.venv/bin/pip install -e ".[dev]"
pytest tests/   # 83 tests, 89% coverage

Related Tools

gitbrief — Pack the right files from any repo into LLM-ready context using git history.

gpr — AI-powered PR descriptions and commit messages from your git diff.

# The full AI-powered git workflow:
standup-ai                    # 1. morning standup
gitbrief . --changed-only     # 2. pack context for code review
gpr                           # 3. generate PR description
gpr --commit-run              # 4. commit with AI message

License

MIT

Metadata

Release files for standup-ai 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for standup-ai 0.2.0
File Size Uploaded
standup_ai-0.2.0.tar.gz 15.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for standup-ai 0.2.0
File Interpreter ABI Platform
standup_ai-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.6 kB

Release files / standup_ai-0.2.0.tar.gz

Download URL standup_ai-0.2.0.tar.gz
Size 15.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ba8ff778eeb015dab8a4225a2e60b3ab607056ddb56d14c15b7be6c57c336ebd
BLAKE2b-256 checksum
How to use checksums
d1451712211d73761ca7389fa786b77960abbb06b28c2596f2636b3873990ed2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release files / standup_ai-0.2.0-py3-none-any.whl

Download URL standup_ai-0.2.0-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be24b95973c80ab95c33ef37845e28991f7b6a500390ecf3b7d4c957dd76ad44
BLAKE2b-256 checksum
How to use checksums
7668e3e7310bb97399733dde6e636758f5116bb7c406c350053279ae7a2d6351
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page