Skip to content
autostand
v1.2.0 · local-first · open source · MIT

Automate your standup.Know what you did.

autostand gathers your commits, PRs, and notes — then writes your daily standup for you.

macOS, Windows and Linux. The bundles are unsigned, so the first launch takes one extra step — spelled out with the downloads.

autostand — Dashboard
The autostand dashboard, headed “Today's work — Aug 3, 2026” and filed in 2026-08-04.md, the next business day's standup. Two AUTO blocks sit under it, one per machine — mbp-miguel and linux-lab — above a MANUAL block badged “never overwritten”.
Monday's work, filed into the next business day's standup. One AUTO block per machine; the MANUAL block is yours.
2026-08-04.md08:59
<!-- AUTO:mbp-miguel -->
  • Implemented the LlmAdapter trait for six providers
  • Opened #41 — deterministic renderer fallback
  • Paired on the cron parser with the platform team
claude-sonnet-4 · 3 sources

Download

autostand 1.2.0

One installer per platform, attached to the GitHub release. Every bundle carries its own inference sidecar, so the built-in local provider works with no Ollama, no Homebrew and no system llama.cpp. None of the three is signed — each card says what your OS will show you and how to get past it.

  • macOS

    autostand_1.2.0_aarch64.dmg

    Apple Silicon (M1–M4). Intel Macs need the x64 build instead.

    Download for macOS

    macOS will say the app is damaged. It is not.

    The bundle carries no Developer ID signature, so macOS quarantines it and Gatekeeper reports the most misleading message it has. Clear the quarantine flag once, in Terminal:xattr -rd com.apple.quarantine /Applications/autostand.appRun it only on a build you took from this release page — that flag is the check that protects you from a tampered download.
  • Windows

    autostand_1.2.0_x64-setup.exe

    64-bit Windows. An NSIS installer, not a portable executable.

    Download for Windows

    SmartScreen will interrupt the installer.

    The installer is unsigned for the same reason the macOS bundle is, so Windows shows the blue “Windows protected your PC” screen. Choose More info, then Run anyway. Signed builds ship as soon as the codesigning secrets are configured.
  • Linux

    autostand_1.2.0_amd64.AppImage

    x86_64 with glibc 2.35 or newer. Mark it executable and run it.

    Download for Linux

    Not every distribution, and not ARM.

    Built on Ubuntu 22.04, so it needs glibc ≥ 2.35 on x86_64: Ubuntu 22.04+, Debian 12+, Fedora 36+, Arch and openSUSE Tumbleweed run it. RHEL 9 and its rebuilds ship glibc 2.34, and Alpine, anything else on musl, and ARM machines are out. AppImages self-mount through FUSE 2; where only FUSE 3 is installed, run it with --appimage-extract-and-run.

You download this once. From 1.2.0 onwards, Settings → Advanced → Updates installs later versions in place — checked only when you ask, and verified against autostand's own signing key before anything is replaced. Read the 1.2.0 release notes.

What it actually does

A standup you can check, line by line.

Every sentence below is something the app already does. The tiles are the real thing, not an illustration of it.

Audit · anti-backdating

Every line traced back to the thing that proves it

  • a3f19c2 feat(adapters/llm)Implemented the LlmAdapter trait for all six providerscommit
  • PR #41 · opened Aug 01Opened autostand #41 — deterministic renderer fallbackgithub
  • Github_Context/FIF-136.mdPaired on the cron parser with the platform teamnote
  • no matching sourceShipped the billing migrationphantom

A bullet with nothing behind it is flagged, not printed as fact.

Settings · Local AI

Usable with no account at all

Qwen 3.5 2Bselected1.19 GiB · GGUF · 32,768 context
  • Inference helper — bundled
  • llama.cpp runtime — bundled
  • Model — downloaded on request

A curated model runs through a llama.cpp sidecar that ships inside the bundle. No sign-in, no key, no Ollama, no Homebrew.

Settings · Providers

Quota reported as whatever it actually is

Claude · weekly
29% left
OpenAI · credits
821 credits
Grok · searches
12 searches
Cursor
No data

Credits stay credits. A number nobody reported reads No data, never 0%.

Pipeline · render

Only a measured dead end is skipped

  • Claudeweekly window exhaustedskipped
  • CodexCLI not on PATHunavailable
  • Geminirendered in 2.4 sused

Usage nobody reported is never treated as exhausted.

Settings · Paths

Weekend work lands in Monday's file

Fri4 commitsSat1 commitSun2 commits
Mon2026-08-04.md

Today's work files under tomorrow's standup, or today's — your choice. Neither loses a Saturday.

Terminal panel

Every process it starts, and never your argv

▸ git · reading commits▸ gh · pull requests since Aug 01▸ claude · rendering standup✓ done in 4.1 s

No heuristic separates a safe subcommand from a customer's branch name, so callers pass a label and the default is the program's name.

Data sources

Eight places it reads, all read-only

  • local git
  • gh
  • claude-code
  • remember
  • opencode
  • codex
  • gemini-cli
  • grok-cli

Local git is authoritative and always on. The only files autostand writes are your standup and its own state.

Settings · Providers

The panel those readings come from

Settings — Providers
Settings → Providers in autostand: an ordered provider list with Claude preferred, beside a usage rail showing Claude at 66% of a 5-hour session and 29% of the weekly window, and Openai with 821 credits left.
Audit

And the sidecar behind every compile

Audit
The Audit screen in autostand, listing the classification legend, the two hosts that filed on 2026-08-03, and the window, render mode, provider and inputs hash for the selected sidecar.

Pipeline

How it works

One trigger, six steps, always in this order. Nothing is written until the last two. The trigger is normally your machine's own scheduler — a launchd agent, a systemd --user timer or a Task Scheduler job — so a closed app still files a standup, and a missed run is filled from what is already on disk.

  1. 1

    Gather

    Reads your local git history, your GitHub activity through the gh CLI, and your Claude Code, Remember, opencode, Codex, Gemini and Grok sessions across the last two business days.

  2. 2

    Scrub

    Drops every note that repeats work git already reported, and every note that claims a ticket whose commits landed outside the window.

  3. 3

    Render

    Sends the scrubbed facts to the first healthy provider in your order — Claude, Ollama, OpenAI/Codex, Gemini, Grok or the built-in local model — and renders deterministically instead when every one of them is missing, exhausted or returns something the validator rejects.

  4. 4

    Merge

    Replaces this machine's AUTO block in the dated Markdown file, puts back any earlier bullet the new render missed, and leaves your MANUAL notes exactly as you wrote them.

  5. 5

    Audit

    Writes a local sidecar holding every input it used, so each bullet can be traced back to the commit, pull request, review or note behind it.

  6. 6

    Commit

    Stages the standup file, commits it with the dates it touched, and pushes.

Provenance

Every bullet says where it came from

Each compile writes an audit sidecar into autostand's state directory, never into your dailies repo. It records the commits, pull requests, reviews and notes that went in, so any line in the file can be traced back to the thing that produced it — or exposed as a line with nothing underneath it.

2026-08-03.md

AUTO block for mbp-miguel · window Aug 01–02

Example data
Standup bulletMatched sourceClass
Implemented the LlmAdapter trait for all six providersa3f19c2 — feat(adapters/llm): implement 6 providerscommit
Opened autostand #41 — deterministic renderer fallbackPR #41, opened Aug 01github
Approved autostand #38 — IPC contractsReview on #38, Aug 02review
Paired on the cron parser with the platform team.remember/now.md, Aug 02note
Fixed the retry logic in the billing workerFIF-118 — commits only on Jul 28, outside the windowphantom
Drafted the provider support matrixNo matching sourceunverified

The billing-worker line is a phantom. It reads like work, but its ticket has no commit inside the window — a sentence carried over from a day that was already filed. One phantom fails the audit, and you find out before anyone else reads the standup.

What the classes mean

commit
Matches a commit in your local git history.
github
Matches a pull request or issue read through the gh CLI.
review
Matches a pull request review you left inside the window.
note
Matches a note of yours that survived the scrub.
phantom
Claims code work no commit backs. The audit fails.
unverified
No matching source at all. A warning, not a failure.

Questions

Before you run it

There is no autostand server, no account and no telemetry. The only outbound traffic is the request to the AI provider you configured — none at all when you render with the built-in local model, with Ollama, or with the deterministic renderer — plus git push and the gh CLI talking to GitHub with your own credentials. Gathering, scrubbing, writing and the audit trail all happen on your machine.

Something else? Open an issue.