TurtleShell:將雜亂的 Git 歷史整理成每日站會摘要
TurtleShell: Let a Local Tortoise Turn Messy Git History into Standups
TurtleShell 是一款在本機執行的開源工具,會讀取近期 Git 提交、差異內容及工作樹狀態,生成包含 Yesterday、Today 和 Blockers 的站會摘要,以及按 Features、Fixes 和 Chores 分組的變更紀錄。
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
What I Built
Standup time has a familiar ritual: open the terminal, scan a handful of commits called wip, it works now, and fix typo, then try to remember what the work actually meant.
I built TurtleShell 🐢, a local-first tool that inspects a Git repository and turns recent commit messages and filtered diff excerpts into two useful drafts:
- A standup with Yesterday, Today, and Blockers sections.
- A changelog grouped into Features, Fixes, and Chores.
The dashboard also compares raw commits with the generated summary and lets me copy the standup to Slack. When MongoDB Atlas is configured, TurtleShell saves generated updates for later search. The goal is to spend less time reconstructing yesterday and more time getting on with today.
Demo
TurtleShell runs locally. Start the backend and open http://localhost:3456 to try the dashboard. There is no hosted demo or video at the moment.
Code
The project is open source: DaKaufeeBoii/turtle-shell on GitHub.
How I Built It
TurtleShell is a TypeScript app with an Express backend and a browser dashboard. Its workflow is:
- Read recent Git commits, file statistics, and diffs, plus working tree status.
- Skip noisy files such as lockfiles, generated output, minified bundles, and binary assets; cap diff excerpts so they don’t overwhelm the model’s context.
- Send the selected repository context to Gemma 2 9B running locally through Ollama. The model returns structured JSON for the standup and changelog.
- Show the output in the dashboard or terminal. The dashboard has a one-click copy action.
- Optionally save standups to MongoDB Atlas for history and semantic search. Sentry spans can trace Git extraction, model generation, and persistence when configured.
The agent workflow uses Mastra for orchestration and Ollama for local inference. MongoDB and Sentry are optional integrations; without MongoDB configured, the app falls back to local JSON history.
To run it locally, install Node.js 20+, install Ollama, and pull the model:
ollama pull gemma2:9b
Then install and start the backend:
git clone https://github.com/DaKaufeeBoii/turtle-shell.git
cd turtle-shell/backend
npm install
npm run dev
Open http://localhost:3456. For terminal output, run npm run sloth.
Why Does Open Innovation Matter?
Git history can reveal unreleased work, internal names, and implementation details. Running an open-weight model locally lets me summarize that context without sending it to a hosted model API. I can inspect the model workflow, change the prompts, and run the tool on my own machine.
Open tools also make the workflow adaptable: the model, repository filtering, memory store, and tracing can each be configured or replaced. That control matters for a tool whose input is a developer’s private working history.
My Agent Session
Here’s the published DevRelay session behind the project: Building TurtleShell: The Slow and Steady Git Janitor.
The Lazy Payoff
The payoff is a ready-to-edit standup and changelog instead of manually translating commit fragments into a coherent update. I haven’t measured time saved across repeated use yet, so I’m keeping the claim qualitative: TurtleShell cuts down the daily context-reconstruction work and leaves the final wording in my hands.
Built for Hacktoberfest 2026 Week 3: Slow and Steady.
來源:DEV Community · dev.to