PostHelper 1.0.2
See the version list below for details.
dotnet tool install --global PostHelper --version 1.0.2
dotnet new tool-manifest
dotnet tool install --local PostHelper --version 1.0.2
#tool dotnet:?package=PostHelper&version=1.0.2
nuke :add-package PostHelper --version 1.0.2
π PostHelper CLI
Improve your tweets and social media posts with AI powered by the GitHub Copilot SDK.
β¨ Features
- π¨ Interactive UI - Beautiful ASCII art header, status display, and menu-driven workflow
- π― Multiple Styles - Professional, Friendly, or Hype modes
- π Emoji Control - Low, Default, or High emoji levels
- π 280 Character Limit - Automatically enforces Twitter/X limits
- π€ Smart Model Selection - Auto-selects efficient models (gpt-5-mini, gpt-4.1)
- π Clipboard Support - Copy improved tweets directly to clipboard
- π Session History - View all improvements made during session
- π₯ Dual Mode - Interactive UI or CLI for scripting/piping
π Prerequisites
- .NET 10.0 SDK or later
- GitHub Copilot CLI installed and authenticated
Installing GitHub Copilot CLI
# Windows (WinGet)
winget install GitHub.Copilot
# macOS/Linux (Homebrew)
brew install copilot-cli
# All platforms (npm)
npm install -g @github/copilot
Then authenticate:
copilot
# Type /login and follow the prompts
π Installation
As a .NET Tool (Recommended)
dotnet tool install -g PostHelper
From Source
git clone https://github.com/jamesmontemagno/post-helper-cli.git
cd post-helper-cli
dotnet build
π Usage
π§° dnx in .NET 10 (run without installing)
.NET 10 includes dotnet dnx (and on Windows a dnx shim) to execute a .NET tool package from NuGet without permanently installing itβthink of it like npx, but for .NET tools.
For PostHelper, this means you can do:
dnx PostHelper
That will restore/run the PostHelper tool package and launch the interactive UI.
Passing arguments to the tool
dnx has its own options (like --version, --source, etc.). To pass arguments through to the tool itself, use --:
# Show PostHelper help (forwarded)
dnx PostHelper -- -h
# Improve a tweet in one shot
dnx PostHelper -- "Check out my new blog post!" --style Friendly --emoji Default
Pinning a version
You can specify a version using @:
dnx PostHelper@1.2.3
If youβd rather install it permanently, use the .NET tool install approach below.
Interactive Mode (Recommended)
Simply run without arguments for the full interactive experience:
post-helper
This launches the interactive UI with:
- ASCII art header and Copilot status check
- Auto-selected efficient model (gpt-5-mini or gpt-4.1)
- Menu to enter tweets, change style/emoji, view history
- Side-by-side comparison of original vs improved
- One-click copy to clipboard
CLI Mode
For scripting and piping, use arguments:
# With tweet as argument
post-helper "Check out my new blog post!"
# Pipe from stdin
echo "Check out my new blog post!" | post-helper
Style Options
# Professional style (default)
post-helper "Check out my new blog post!" --style Professional
# Friendly style
post-helper "Check out my new blog post!" --style Friendly
# Hype style
post-helper "Check out my new blog post!" --style Hype
Emoji Levels
# Low emojis (0-1)
post-helper "Check out my new blog post!" --emoji Low
# Default emojis (1-3)
post-helper "Check out my new blog post!" --emoji Default
# High emojis (3-5)
post-helper "Check out my new blog post!" --emoji High
Model Selection
# Specify model directly
post-helper "Check out my new blog post!" --model gpt-4o
# Interactive model picker (default when --model not specified)
post-helper "Check out my new blog post!"
Combined Options
post-helper "Just shipped a new feature!" --style Hype --emoji High --model gpt-4o
Piping Output
# Pipe improved tweet to clipboard (macOS)
post-helper "Check out my new blog post!" | pbcopy
# Pipe improved tweet to clipboard (Windows)
post-helper "Check out my new blog post!" | clip
π§ CLI Options
| Option | Short | Description | Default |
|---|---|---|---|
--style |
-s |
Style/tone (Professional, Friendly, Hype) | Professional |
--emoji |
-e |
Emoji level (Low, Default, High) | Default |
--model |
-m |
AI model to use | Auto (gpt-5-mini) |
π Environment Variables
| Variable | Description |
|---|---|
GH_TOKEN |
GitHub token with Copilot access (optional, uses CLI auth otherwise) |
Optional .env for local development
If you prefer, you can set GH_TOKEN via an environment file in your shell/session (donβt commit it):
- Create a file named
.envin the repo root - Add:
GH_TOKEN=...
How you load .env depends on your shell and tooling. The app also works without it if youβre already authenticated with the GitHub Copilot CLI.
ποΈ .NET 10 commands (from source)
These are the modern equivalents youβd use instead of any dnx-style instructions.
Build
dotnet build
Run (project)
dotnet run --project .\PostHelper.Cli\PostHelper.Cli.csproj
Run with arguments
dotnet run --project .\PostHelper.Cli\PostHelper.Cli.csproj -- "Check out my new blog post!" --style Friendly --emoji Default
Pack & install as a local tool (optional)
dotnet pack -c Release
dotnet tool install --global --add-source .\PostHelper.Cli\bin\Release PostHelper
π¦ Dependencies
- GitHub.Copilot.SDK - Official Copilot SDK
- Refractored.GitHub.Copilot.SDK.Helpers - CLI checker and model selection
- Spectre.Console - Beautiful console UI
- TextCopy - Cross-platform clipboard
π License
MIT License - see LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.