Social Media Management from your TerminalSocial Media Management aus deinem Terminal
A Markdown-first, terminal-native post scheduler. 100% free and open-source for up to 2 social networks, with optional donations. Manage Threads, Bluesky, Mastodon, Twitter, LinkedIn, Telegram, Discord, and Facebook directly from the CLI or TUI.Ein Markdown-first, Terminal-nativer Post-Scheduler. 100% kostenlos und Open-Source für bis zu 2 soziale Netzwerke. Verwalte Threads, Bluesky, Mastodon, Twitter, LinkedIn, Telegram, Discord und Facebook direkt über die CLI oder TUI.
Try the TUITUI ausprobieren
A faithful replica of the postctl terminal UI. Click the window to focus, then use Tab to switch tabs and ↑↓ to navigate.Eine originalgetreue Nachbildung der postctl-Terminal-UI. Klicke in das Fenster und nutze dann Tab zum Wechseln der Tabs und ↑↓ zur Navigation.
Built for Developer WorkflowsFür Entwickler-Workflows gebaut
Why switch to bloated web UIs when you can distribute your content alongside your code?Wozu aufgeblähte Web-UIs, wenn du deine Inhalte direkt neben deinem Code verwalten kannst?
Markdown-FirstMarkdown-First
Write your posts inside your favorite editor. Frontmatter fields handle platform targets, scheduling, and image paths. Perfectly Git-versionable and reviewable in PRs.Schreibe deine Posts in deinem Lieblingseditor. Frontmatter-Felder steuern Plattform-Ziele, Zeitplanung und Bildpfade. Perfekt Git-versionierbar und in PRs überprüfbar.
Interactive TUI EditorInteraktiver TUI-Editor
Draft and edit posts directly inside the terminal. Form validations catch platform errors, automatic splitting parses Twitter threads, and `ctrl+v` opens Neovim/Vim instantly.Entwirf und bearbeite Posts direkt im Terminal. Formularvalidierungen fangen Plattformfehler ab, automatisches Splitting zerlegt Twitter-Threads, und `ctrl+v` öffnet sofort Neovim/Vim.
AI-as-OperatorKI-als-Operator
Engineered for AI assistants. Claude/GPT can generate Markdown draft files, test publication flows with `--dry-run`, and receive machine-readable outcomes using `--format json`.Für KI-Assistenten konzipiert. Claude/GPT können Markdown-Entwürfe erzeugen, Veröffentlichungsabläufe mit `--dry-run` testen und mit `--format json` maschinenlesbare Ergebnisse erhalten.
Zero InfrastructureKeine Infrastruktur nötig
Built in Go with a CGO-free SQLite storage engine. Packaged as a single offline-first binary. Copy the database file to backup all your posts and schedules.Gebaut in Go mit einer CGO-freien SQLite-Speicher-Engine. Verpackt als einzelnes Offline-First-Binary. Kopiere einfach die Datenbankdatei, um alle Posts und Zeitpläne zu sichern.
Offline DocumentationOffline-Dokumentation
Access the full README directly inside the app with a split-pane layout, interactive table of contents, and responsive terminal scrolling—no browser required.Greife direkt in der App auf das komplette README zu — mit geteiltem Layout, interaktivem Inhaltsverzeichnis und responsivem Terminal-Scrolling, ganz ohne Browser.
AES-256 Encrypted SyncAES-256-verschlüsselte Sync
Securely sync your local database and config files. Backups are encrypted using AES-256-GCM and key-stretched (PBKDF2) for safe storage in public Git repos.Synchronisiere deine lokale Datenbank und Konfigurationsdateien sicher. Backups werden mit AES-256-GCM verschlüsselt und per PBKDF2 key-gestreckt — sicher auch in öffentlichen Git-Repos.
Cloud Deployment (VPS/Pi)Cloud-Bereitstellung (VPS/Pi)
Cross-compile to Linux and run postctl as a background daemon on a VPS or Raspberry Pi. Posts publish automatically, even when your Mac is shut down.Kompiliere für Linux und lasse postctl als Hintergrund-Daemon auf einem VPS oder Raspberry Pi laufen. Posts werden automatisch gesendet, auch wenn dein Mac aus ist.
How It WorksSo funktioniert's
Three steps from draft file to multi-platform publication.Drei Schritte von der Entwurfsdatei bis zur Veröffentlichung auf mehreren Plattformen.
Write Markdown PostsPosts in Markdown schreiben
Structure your post as Markdown. Frontmatter defines platforms, campaigns, schedule times, and tags. Separate thread elements using headers.Strukturiere deinen Post als Markdown. Frontmatter definiert Plattformen, Kampagnen, Sendezeiten und Tags. Trenne Thread-Elemente mit Überschriften.
---
platform: twitter
type: thread
campaign: launch-v1
schedule: 2026-06-25T09:00
images:
- img/dashboard.png
---
## Tweet 1
Your CMS is a single file...
## Tweet 2
Calendar grid screenshots attached...
Import & PreviewImportieren & Vorschau
Import the Markdown directory to populate the local SQLite database. Open the TUI to visually inspect thread limits, character lengths, and schedules.Importiere das Markdown-Verzeichnis, um die lokale SQLite-Datenbank zu befüllen. Öffne die TUI, um Thread-Limits, Zeichenlängen und Zeitpläne visuell zu prüfen.
$ postctl import ./posts/
Importing...
✔ post-1.md -> Import successful
✔ post-2.md -> Import successful
$ postctl list
ID Platform Type Status
launch-v1-twitter twitter thread draft
launch-v1-linkedin linkedin single draft
Post or Run DaemonPosten oder Daemon starten
Publish campaigns instantly with `--dry-run` safety gates, or start `postctl daemon` in the background to automatically trigger scheduled items.Veröffentliche Kampagnen sofort mit `--dry-run`-Sicherheitsprüfung, oder starte `postctl daemon` im Hintergrund, um geplante Posts automatisch auszulösen.
# Start background scheduler
$ postctl daemon --interval 30 --background
# Or post immediately (simulate first)
$ postctl campaign post launch-v1 --dry-run
$ postctl campaign post launch-v1
Campaign successfully posted!
Terminal UI PreviewTerminal-UI-Vorschau
Real screenshots of the Bubbletea TUI — Dashboard, Posts, Schedule & Settings tabs running in your terminal.Echte Screenshots der Bubbletea-TUI — Dashboard-, Posts-, Zeitplan- & Einstellungen-Tabs live in deinem Terminal.

Designed for AI OperatorsEntwickelt für KI-Operatoren
Let your AI assistant handle social media distribution while you retain total approval control.Lass deinen KI-Assistenten die Social-Media-Veröffentlichung übernehmen, während du die volle Freigabe-Kontrolle behältst.
1. AI Generates Drafts1. KI erstellt Entwürfe
Your coding agent reads web contents or release files and generates formatted Markdown draft files into a directory.Dein Coding-Agent liest Webinhalte oder Release-Dateien und erstellt formatierte Markdown-Entwürfe in einem Ordner.
2. AI Imports & Checks2. KI importiert & prüft
AI runs `postctl import` and checks results using `postctl list --format json`. Validation catches lengths and files.Die KI führt `postctl import` aus und prüft Ergebnisse mit `postctl list --format json`. Die Validierung prüft Längen & Bilder.
3. Dry-Run Validation3. Dry-Run Validierung
AI executes `postctl campaign post launch-v1 --dry-run` to query APIs and verify integrity without causing live posts.Die KI führt `postctl campaign post launch-v1 --dry-run` aus, um APIs zu testen und die Integrität ohne Live-Posts zu prüfen.
4. Human Approves & Posts4. Mensch prüft & postet
You review the simulated outcome in chat. Give the agent approval, and it triggers the final publish command.Du prüfst das simulierte Ergebnis im Chat. Gib dem Agenten die Freigabe und er stößt den finalen Veröffentlichungs-Befehl an.
🤖 Try the AI Operator Workflow🤖 Teste den KI-Operator-Ablauf
Any LLM or command-line agent (like Antigravity, Claude Engineer, or Aider) can interface directly with postctl. Use these commands to let your agent manage your campaign pipeline:Jedes LLM oder Terminal-Agent (wie Antigravity, Claude Engineer oder Aider) kann direkt mit postctl interagieren. Nutze diese Befehle, damit dein Agent deine Kampagnen verwaltet:
# 1. Let the AI import all drafts (idempotent, safe to repeat)
./postctl import ./posts/marketing-plan/
# 2. Let the AI run a dry-run validation with JSON output to inspect formatting
./postctl campaign post postctl-marketing --dry-run --format json
# 3. Once validated and human-approved, let the AI trigger the publish command
./postctl campaign post postctl-marketing --format jsonStrategic Product RoadmapStrategische Produkt-Roadmap
Explore upcoming developer-focused features designed to supercharge your social media pipeline.Entdecke kommende Entwickler-Features, um deine Social-Media-Pipeline zu revolutionieren.
AI Repurposer (`postctl repurpose`)KI-Beitragsumwandlung (`postctl repurpose`)
Convert long technical blog posts or Git release notes automatically into formatted platform-specific updates and threads using integrated LLMs.Verwandle lange Blogposts oder Release Notes automatisch in plattformgerechte Beiträge und Threads mit integrierten LLMs.
Git Hook Integration & AutopostGit-Hook-Integration & Autopost
Trigger automatic scheduling and publication directly upon committing code or pushing release tags in your repositories.Löse automatische Einplanungen und Veröffentlichungen direkt beim Commit von Code oder Push von Release-Tags in deinen Repositories aus.
Terminal Analytics DashboardTerminal-Statistik-Dashboard
Inspect engagement, impressions, and click rates directly in the Bubbletea TUI, or pull metrics as structured JSON for your AI agents.Überwache Interaktionen, Impressionen und Klickraten direkt in der Bubbletea TUI oder exportiere Metriken als JSON für deine KI-Agenten.
Code-Snippet Social CardsCode-Snippet Social Cards
Automatically render beautiful code snippet image cards directly from your markdown source files using local rendering engines.Rendere automatisch wunderschöne Code-Grafikkarten direkt aus deinen Markdown-Quelltexten über lokale Syntax-Rendering-Engines.
Transparent Lifetime PricingTransparente Lifetime-Preise
postctl is open-source. Use it for free with up to 2 networks, or buy a lifetime license for unlimited access.postctl ist Open-Source. Nutze es kostenlos mit bis zu 2 Netzwerken, oder erwirb eine Lifetime-Lizenz für unbegrenzten Zugriff.
Core (OSS)
For developers looking to version and post files to their personal networks.Für Entwickler, die Dateien versionieren und in ihren persönlichen Netzwerken posten möchten.
- Connect up to 2 social networksBis zu 2 soziale Netzwerke verbinden
- Unlimited drafts & publicationUnbegrenzte Entwürfe & Veröffentlichungen
- Full Bubbletea TUI & Cobra CLIVollständige Bubbletea-TUI & Cobra-CLI
- In-process daemon background schedulerIn-Process-Daemon als Hintergrund-Scheduler
- Analytics Dashboard & ASCII chartsAnalytics-Dashboard & ASCII-Diagramme
- 100% Open Source (MIT Licensed)100% Open Source (MIT-Lizenz)
Pro License
postctl2026Unlock all 6 platforms, stats dashboard, and support open-source development.Schalte alle 6 Plattformen und das Statistik-Dashboard frei und unterstütze die Open-Source-Entwicklung.
- Connect all 6 supported platformsAlle 6 unterstützten Plattformen verbinden
- Use on up to 5 personal devicesAuf bis zu 5 Geräten nutzen (activations limit)(Aktivierungslimit)
- Automated license key issuance via Polar.shAutomatische Lizenzschlüssel-Ausstellung über Polar.sh
- Support open-source development & fundingUnterstützt Open-Source-Entwicklung & Finanzierung
Frequently Asked QuestionsHäufig gestellte Fragen (FAQ)
Got questions? We've got answers. Explore how postctl secures credentials, syncs devices, and handles offline workflows.Hast du Fragen? Wir haben Antworten. Erfahre mehr über Verschlüsselung, Synchronisation und Offline-Workflows.
Is postctl really free? What are the limitations?Ist postctl wirklich kostenlos? Was sind die Einschränkungen?
Yes, the core of postctl is completely open-source (MIT licensed) and free to use. You can connect up to 2 social networks with unlimited posts and drafts. To connect more than 2 accounts, you can buy a Pro lifetime license on Polar.sh, which helps fund development.
Ja, der Kern von postctl ist komplett Open-Source (MIT-Lizenz) und kostenlos. Du kannst bis zu 2 Netzwerke verbinden und unbegrenzt posten. Um mehr als 2 Konten zu nutzen, kannst du eine Pro-Lizenz auf Lebenszeit erwerben, was die Entwicklung unterstützt.
How does postctl store my API keys? Is it secure?Wie speichert postctl meine Zugangsdaten? Ist das sicher?
Your API keys, tokens, and cookies are stored locally on your machine inside a SQLite database. No credentials ever leave your computer or get sent to third-party servers. Your backups are encrypted locally using AES-256-GCM with key-stretching (PBKDF2).
Deine API-Keys, Tokens und Cookies werden lokal in einer SQLite-Datenbank auf deinem Rechner gespeichert. Keine Zugangsdaten verlassen jemals dein Gerät. Backups werden lokal mit AES-256-GCM und Key-Stretching (PBKDF2) verschlüsselt.
What happens if my computer is closed when a post is scheduled?Was passiert, wenn mein Computer zugeklappt ist, wenn ein Post geplant ist?
If your machine is asleep, postctl will not post instantly. However, we have Auto-Catchup: as soon as you wake your machine and open the TUI or start the daemon, it immediately detects missed scheduled slots and posts them. Alternatively, you can run the daemon 24/7 on a $4 VPS or a Raspberry Pi.
Wenn dein Gerät im Ruhezustand ist, kann postctl nicht sofort senden. Dank Auto-Catchup erkennt die App beim nächsten Start sofort verpasste Sendezeitpunkte und holt diese nach. Alternativ kannst du den Daemon 24/7 auf einem 4$-VPS oder Raspberry Pi laufen lassen.
Which Twitter/X authentication methods are supported?Welche Authentifizierungs-Methoden für Twitter/X werden unterstützt?
postctl supports both the official OAuth 2.0 API credentials and cookie-based web session login. Since Twitter/X API pricing is high (~$100/mo), the cookie-based bypass simulates standard browser interactions (including randomized delays and automated headless Google Chrome via chromedp) to post for free. If you have a developer account, we highly recommend using the official API for maximum stability.
postctl unterstützt sowohl die offizielle OAuth 2.0 API als auch die Cookie-basierte Web-Session-Anmeldung. Da Twitter/X hohe API-Preise (ca. 100$/Monat) verlangt, bietet der Cookie-Bypass eine kostenlose Alternative, die typische Browser-Aktionen (inklusive zufälliger Verzögerungen und headless Google Chrome via chromedp) simuliert. Wenn du einen Entwickler-Account hast, empfehlen wir die Nutzung der offiziellen API für maximale Stabilität.
How do I sync settings between multiple devices?Wie synchronisiere ich meine Einstellungen zwischen Geräten?
Simply run ./postctl config export -o backup.bin on your source machine, set a password, transfer the file, and run ./postctl config import -f backup.bin on the target. You can also symlink your ~/.config/postctl/ directory directly into iCloud, Dropbox, or Syncthing.
Führe einfach ./postctl config export -o backup.bin auf deinem Rechner aus, vergebe ein Passwort und importiere die Datei auf dem Zielgerät mit ./postctl config import -f backup.bin. Alternativ kannst du deinen ~/.config/postctl/-Ordner mit iCloud, Dropbox oder Syncthing verknüpfen.
Can my local AI agent (like Claude Engineer or GPT) run postctl?Kann mein lokaler KI-Agent (wie Claude oder GPT) postctl steuern?
Yes! postctl is built on the "AI-as-Operator" principle. Every command runs non-interactively without prompt blocks. Adding the --format json flag forces commands to output machine-readable JSON, and the --dry-run flag lets the AI verify and test the pipeline safely.
Ja! postctl ist für das "KI-als-Operator"-Prinzip optimiert. Alle Befehle laufen ohne interaktive Prompts ab. Mit --format json gibt die CLI maschinenlesbare Daten aus, und mit --dry-run kann dein KI-Agent Posts testen, bevor er dich um Freigabe bittet.
Changelog & Latest UpdatesChangelog & Letzte Updates
Track the latest features, improvements, and bug fixes in postctl.Verfolge die neuesten Funktionen, Verbesserungen und Bugfixes in postctl.
TUI Immediate Posting & Remote DeletionTUI Direkt-Posting & Remote-Löschung
- TUI Quick Publish: Press p in the posts list or detail view to publish drafts immediately.TUI Direkt-Post: Drücke p in der Liste oder Detailansicht, um Entwürfe sofort zu veröffentlichen.
- Remote Deletion: Deleting a post locally (TUI d or
postctl delete) now automatically deletes the post from the remote platform (Threads, Bluesky, Mastodon, Telegram, and Discord webhook messages).Remote-Löschung: Das Löschen eines Posts (TUI d oderpostctl delete) löscht diesen jetzt auch automatisch direkt auf der Plattform (Threads, Bluesky, Mastodon, Telegram, und Discord Webhooks). - New CLI commands: Added
postctl delete <id>for remote cleanup andpostctl cancel <id>to abort scheduled posts.Neue CLI-Befehle:postctl delete <id>zur Remote-Bereinigung undpostctl cancel <id>zum Abbrechen geplanter Beiträge hinzugefügt. - Safe spacing & overdue protection: Scheduler daemon automatically reschedules accumulated overdue posts (e.g. after offline periods) in 20-minute intervals to prevent spam flags.Spam-Schutz: Der Scheduler-Daemon verschiebt überfällige Posts (z.B. nach Offline-Phasen) automatisch in 20-Minuten-Intervalle, um Spam-Sperren zu verhindern.
Headless Daemon & TUI Replica DemoHeadless-Daemon & TUI Replica-Demo
- Headless scheduler daemon: Run
postctl daemonto monitor and publish scheduled posts in the background.Hintergrund-Scheduler: Führepostctl daemonaus, um geplante Posts im Hintergrund automatisch zu veröffentlichen. - Interactive web TUI replica: Added a fully-interactive mockup of the postctl TUI directly to the homepage.Interaktive TUI-Demo: Ein voll-interaktives Mockup der postctl-TUI wurde direkt auf der Homepage integriert.
- Bilingual support: Fully translated TUI, CLI, and docs into English and German.Zweisprachiger Support: Komplette Übersetzung von TUI, CLI und Dokumentation auf Deutsch und Englisch.