npm install -g @postcli/substackThis automatically installs @postcli/cli as a peer dependency. The postcli command becomes available globally.
postcli <platform><command> [options]postcli substack auth login
postcli substack posts list --limit 5
postcli substack notes publish "Hello from the terminal"
postcli substack profile meStart an MCP server for any installed platform:
postcli --mcp substack{
"mcpServers": {
"substack": {
"command": "postcli",
"args": ["--mcp", "substack"]
}
}
}{
"mcpServers": {
"substack": {
"command": "postcli",
"args": ["--mcp", "substack"]
}
}
}| Plugin | Platform | Status |
|---|---|---|
| @postcli/substack | Substack | Available |
| @postcli/medium | Medium | Planned |
| @postcli/linkedin | Planned | |
| @postcli/ghost | Ghost | Planned |
| @postcli/wordpress | WordPress | Planned |
| @postcli/hashnode | Hashnode | Planned |
| @postcli/devto | DEV.to | Planned |
A PostCLI plugin exports two things:
import{Command}from'commander';// Register CLI subcommands under the platform nameexportfunctionregisterCommands(program: Command): void{constplatform=newCommand('myplatform').description('My platform description');platform.command('hello').action(()=>console.log('Hello from my plugin!'));program.addCommand(platform);}// Optional: MCP server for AI agent integrationexportasyncfunctionstartMcpServer(): Promise<void>{// Start your MCP server with stdio transport}Set your package's main export to point to this file, and @postcli/cli will discover it automatically.
