Gitcast
git diff → published post. under 60 seconds.
Gitcast is a privacy-first developer tool that captures your coding session via a global hotkey, reads your local git diff and project context, generates AI-powered social media posts, PR descriptions, and articles, and publishes them without breaking your flow.
Works immediately after installation with zero setup required — Gitcast comes with a built-in shared key.
Features
- Global Hotkey Capture: Press
Ctrl+Shift+PorCtrl+Alt+Sanywhere (VS Code, terminal, browser) to instantly capture your screen and local code changes (git diff). - Privacy-First & Local OCR: Screen text extraction (Tesseract OCR) runs 100% locally on your machine. Sensitive credentials (API keys, secrets, tokens, passwords) are automatically detected and blocked.
- Automated macOS Window Framing: Raw screenshots are automatically wrapped in a sleek macOS-style window frame with traffic light controls and soft drop shadows for social posts.
- Multi-Format AI Generation: Generates distinct content formats simultaneously in under 8 seconds:
- X (Twitter) Post: High-impact, tech-focused updates with code context.
- LinkedIn Draft: Structured narrative posts tailored for developer networks.
- PR Description: Full GitHub/GitLab markdown pull request descriptions (What, Why, How, Testing).
- Quick Win: Short punchy updates ideal for feature ships.
- Longform Article: Medium/Substack-ready markdown blog posts.
- Sprint Mode (Deep Work): Silently log multiple code captures throughout a long coding session without popups, then synthesize them into a cohesive multi-step "sprint thread" at the end.
- Smart Vision AI Fallback: If local OCR confidence falls below 60%, Gitcast seamlessly routes the screenshot to Gemini Vision for high-accuracy multimodal reading.
- Interactive Local Dashboard & Review Room: Web UI running locally at
http://localhost:8000with live preview, inline editing, and natural language AI refinement chat. - 1-Click Publishing & Clipboard Integration: Publish directly to X (Twitter) via API v2 with media upload support, or copy pre-formatted markdown to clipboard.
- Bring Your Own Key (BYOK): Zero setup required out-of-the-box, plus optional BYOK support for Groq, Gemini, DeepSeek, OpenRouter, and Moonshot/Kimi.
Quick Start
Step 1: Install Tesseract OCR
Required for local screenshot text extraction. Runs entirely on your device — your code never leaves your computer without permission.
pip install gitcast installs the Python OCR wrapper, but it cannot install the native Tesseract executable into your operating system. Install it separately and run gitcast doctor to verify it. README- and git-diff-based generation can still work without OCR; screenshot text extraction cannot.
-
macOS:
brew install tesseract
-
Linux (Ubuntu/Debian):
sudo apt install tesseract-ocr
-
Windows:
- Download installer from UB-Mannheim Tesseract Wiki.
- Run installer and check "Add to PATH" during installation.
- Restart your terminal.
Step 2: Install Gitcast
pip install gitcast
Step 3: Launch
gitcast
The web dashboard opens automatically at http://localhost:8000.
- Press
Ctrl+Shift+PorCtrl+Alt+Sfrom any application to capture screen context and generate your post. - Or trigger a quick capture directly from your terminal:
gitcast "just added instant fallback routing for AI models"
Step 4: Optional: Add Your Own Key (BYOK)
The built-in shared key has rate limits shared across users. For unlimited personal usage, add your own free key:
gitcast --setup
Or configure keys in the dashboard sidebar under BYOK. Get a free Groq key in 2 minutes at console.groq.com.
Architecture & Flow
[HotKey / CLI Trigger] ──> Press Ctrl+Shift+P or run `gitcast "thought"`
│
▼
[Local Parallel Capture] ──> Capture active screen (mss) + git diff HEAD + project README & stack
│
▼
[Privacy & OCR Engine] ──> Tesseract OCR (Local) ──> Scan & block API keys/secrets
│ (If confidence < 60% ──> Gemini Vision)
▼
[AI Provider Routing] ──> Multi-format parallel completions (Groq / Gemini / OpenRouter)
│
▼
[Dashboard & Review] ──> http://localhost:8000 (Inline edit, AI refinement, macOS window framing)
│
▼
[Publish / Export] ──> 1-Click X/Twitter API Publish OR Copy to Clipboard
Context Awareness
Gitcast automatically detects project context from your current working directory:
- Reads
README.mdfor project background. - Scans
package.json,requirements.txt,Cargo.toml,go.mod, etc., for main tech stack & language. - Remembers your Project Narrative (e.g., "Building an open-source observability engine"), ensuring every generated post sounds authentic to what you are creating.
Sprint Mode
For deep work sessions where you do not want to break your flow:
- Activate Sprint Mode: Toggle Sprint Mode
[ON]from the dashboard sidebar or tray icon. - Capture Silently: Every
Ctrl+Shift+Ppress logs your screenshot andgit diffsilently in the background without popups or AI calls. - Finish & Synthesize: Toggle Sprint Mode
[OFF]. Gitcast synthesizes all logged captures into a single, high-converting 6–7 tweet "sprint thread" covering your entire build arc (the problem, failed attempts, solution, and outcome).
CLI Reference
| Command | Description |
|---|---|
gitcast |
Start dashboard server (http://localhost:8000), global hotkey listener, and system tray. |
gitcast "your thought here" |
Trigger a capture immediately passing a specific thought or note. |
gitcast capture |
Start an interactive terminal screenshot & diff capture session. |
gitcast --setup |
Interactive setup to add your personal API key (Groq, Gemini, etc.). |
gitcast --version |
Display installed Gitcast version. |
Privacy & Security
- 100% On-Device OCR: Text from screenshots is extracted locally via Tesseract before any API requests.
- Automated Secret Scanning: Regex scanner screens OCR text for API keys (
sk-,gsk_), tokens, passwords, and long hashes, automatically redacting and blocking sensitive captures. - Automatic Cleanup: Screenshots are encrypted with Fernet locally and auto-cleaned after 24 hours. Declined captures are securely deleted immediately.
- No Background Screen Recording: Gitcast only captures screen data when explicitly triggered by your hotkey or CLI command.
AI Providers & BYOK Priority
Gitcast routes each post format to the optimal provider for performance and output quality:
| Format | Primary Model | Fallback Model |
|---|---|---|
| X (Twitter) / Quick Win | Groq (llama-3.3-70b) |
Cerebras ➔ OpenRouter |
| LinkedIn / PR Description | Groq / DeepSeek | OpenRouter (qwen3-coder) |
| Article & Sprint Thread | Moonshot / Kimi | Gemini ➔ OpenRouter |
| Vision Fallback | Gemini (gemini-1.5-flash) |
— |
Key Resolution Priority:
- Your personal BYOK key (if set via
gitcast --setupor saved in~/.gitcast/.env). - Gitcast built-in shared key (fallback).
Tech Stack
- Backend: Python 3.10+, FastAPI, Uvicorn, Pydantic,
httpx - System & Screen:
mss,Pillow,pytesseract,pynput,plyer - AI Engine: Groq, Google Gemini Vision, OpenRouter, Cerebras, DeepSeek
- Publishing:
tweepy(Twitter/X API v2), Clipboard / Native Web Compose - Frontend: Lightweight responsive dashboard (HTML5, CSS3, JavaScript)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request or open an Issue on GitHub.
Links
- PyPI: https://pypi.org/project/gitcast
- GitHub: https://github.com/drizzy765/gitcast
- LinkedIn: https://www.linkedin.com/company/gitcast-dev/
- Issues: https://github.com/drizzy765/gitcast/issues
License
Distributed under the MIT License. See LICENSE for more information.
Built by Timilehin Agoro (@drizzy765).
Metadata
Release files for gitcast 1.0.41
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gitcast-1.0.41.tar.gz | 152.9 kB | Without provenance | Details for gitcast-1.0.41.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gitcast-1.0.41-py3-none-any.whl | Python 3 | none | any | Details for gitcast-1.0.41-py3-none-any.whl |
Total release size: 296.6 kB
Release files / gitcast-1.0.41.tar.gz
| Download URL | gitcast-1.0.41.tar.gz |
|---|---|
| Size | 152.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba2d01dab2bb7662a3b680453402a48c6cc829d22c5edc1c0f49ea53a6fe4bfb
|
|
BLAKE2b-256 checksum How to use checksums |
6308cddab37924d89d5c58f88e7fb5ddbb834687e78e5ec7fd911ed78779219a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / gitcast-1.0.41-py3-none-any.whl
| Download URL | gitcast-1.0.41-py3-none-any.whl |
|---|---|
| Size | 143.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db4c566fe8dfa05df3eb19fb77656948c81ce8dfb098227245cc3031f0c3d2ee
|
|
BLAKE2b-256 checksum How to use checksums |
77cd55ef7142034c4544c1220f2854d887188a09c868d347030e59043a61d871
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for gitcast 1.0.41
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.