Skip to main content

Turn your git history into standup notes, weekly summaries, and release notes — developer-owned, run on your machine, nothing uploaded.

Project description

Oneport Standup

Your git history → standup notes, weekly summaries, and release notes. Developer-owned: it reads your git on your machine and writes your narrative. Nothing is uploaded.

You already did the work — it's in your commits. Stop re-typing it into Slack every morning. One command turns your commits into a clean update in the right voice.

$ oneport-standup daily

# Standup — the last 24 hours
_you (priya@acme.io)_

**Shipped the checkout retry fix and started the refund flow.**

## Shipped
- Fixed the double-charge on checkout retries (ABC-412, #88)
- Added idempotency keys to the payments client

## In progress
- Refund flow — models + migration landed, API next

_6 commit(s) · 14 file change(s) · +512/-97 · refs: ABC-412_

Why it's different

LinearB, Jellyfish, and Swarmia read your GitHub from their cloud to build manager dashboards — engineers experience that as surveillance. oneport-standup inverts it: it runs on your machine, defaults to your commits, and the output is yours to paste wherever you want. There is no server. Your history never leaves the building.

Install

pip install oneport-standup
# optional — for the written narrative; without it you still get a clean,
# deterministic commit summary grouped by day:
export GEMINI_API_KEY=AIza...    # free at https://aistudio.google.com/apikey

Use

oneport-standup daily                 # last 24h → standup notes (defaults to you)
oneport-standup weekly                # last 7 days → weekly summary
oneport-standup since 2026-07-01      # since a date
oneport-standup since v2.3.0          # since a tag/branch/commit
oneport-standup release v2.3.0 v2.4.0 # release notes for a version range

oneport-standup weekly --all          # everyone's commits, not just yours
oneport-standup daily --author jo@x   # a specific author
oneport-standup daily -f json         # machine-readable
oneport-standup weekly --no-llm       # facts only, no API key needed

Markdown is the default output — the whole point is to paste it into Slack, a standup doc, a PR description, or a CHANGELOG. -f inline renders it prettily in the terminal; -f json is for tooling.

What's deterministic vs. AI

  • Deterministic (always): which commits, by whom, in the window; files touched; line stats; ticket keys (ABC-123, CVE-2026-…) and PR refs (#42) pulled from subjects. This is pure git log — no model, no network.
  • AI (optional): grouping those commits into themed, readable bullets in the right voice. The model may only rephrase and group what the commits say — it never invents work. If it's unavailable, you get the deterministic day-grouped report instead (never nothing).

Configure — .oneportrc

standup:
  model: gemini-flash-latest
  output_format: markdown     # markdown | inline | json
  max_commits: 120            # cap fed to the summariser

The shared .oneport/guidelines.md is passed to the summariser as tone/context (e.g. "write standups in past tense, no fluff").

Privacy

Serverless by design. Every fact comes from your local .git. Only the optional prose summary calls a model, on your key. There is no Oneport server; your commit history and code never leave your machine.

MIT licensed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oneport_standup-0.1.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oneport_standup-0.1.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file oneport_standup-0.1.0.tar.gz.

File metadata

  • Download URL: oneport_standup-0.1.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for oneport_standup-0.1.0.tar.gz
Algorithm Hash digest
SHA256 643ef302cea7375deabf514a16bd69364da67c183e29de8cb13076f5c9cba11b
MD5 1b1aa67e39f2fb46f99cb05768c988aa
BLAKE2b-256 5749e3e20d903f3277c2b013f8251315ffc8f8ffa92ee59f938a00cca4f79d71

See more details on using hashes here.

File details

Details for the file oneport_standup-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for oneport_standup-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b14bbc2d59d835f743e3fb59e2a9c5039802e5468cbb4460cd098b0324805d2
MD5 4374026870250c4176937814da1fce6b
BLAKE2b-256 5cb579b679c365a4a3a2d705e1d04e008e49bc085100743f4751ae7606f33421

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page