The first time I published through the new DotShare workflow, the post started as a draft in Codex. I opened that draft in VS Code, reviewed the saved preview, and clicked publish. DotShare recorded which revision went out and returned the link to the public Mastodon post. See the test post.

That’s the workflow I wanted to build. I can give an agent the context for a release, then pick up the draft in the editor and see what each account is about to receive. The text, preview, and receipt stay together in one local library.

DotShare started as an open-source VS Code extension for sharing developer updates. Release 3.6.0 adds the shared Publishing Library. The companion dotshare-cli 3.0.0 package adds a local Model Context Protocol (MCP) server and the terminal commands that work with the same library. GitHub release.

Codex or another MCP client saves a draft, VS Code reviews the same local draft, and DotShare delivers the saved preview to the selected platform.

Install the CLI and connect Codex

Use Node.js 22.12 or newer and an unlocked OS credential store. On Linux, the CLI uses Secret Service. Install the extension as well if you want to review the draft in VS Code. npm package · VS Code Marketplace · Open VSX.

npm install -g dotshare-cli dotshare-agent setup dotshare-agent doctor 

setup starts the local MCP server to verify its handshake, then writes the DotShare entry to Codex’s configuration. doctor checks the launcher, configuration, local storage, and MCP connection. Restart or reconnect Codex after setup so it picks up the new entry. The server exposes 23 tools for accounts, drafts, templates, previews, delivery history, and cloud scheduling. The agent supplies the copy and DotShare handles the publishing workflow. Other MCP clients can use the configuration snippet from dotshare-agent setup --client generic. Agent setup guide.

Connect a named account. I used Mastodon because I could verify the whole path against a public post.

dotshare-agent accounts add personal-mastodon --platform mastodon dotshare-agent doctor --account personal-mastodon 

Enter the instance and access token in the terminal prompts. DotShare stores credentials in the OS keyring. The agent sees the account ID, and doctor --account checks identity without creating a post.

The CLI can target Mastodon, Bluesky, X, LinkedIn, Telegram, Discord, and Dev.to. Supported content depends on the platform. For example, Mastodon, Bluesky, and X support threads. For local images, add an explicit allowed directory such as dotshare-agent setup --media-root /absolute/path/to/images and reconnect the client. Platform and media details.

Save the draft in Codex

In Codex, start with one destination and a small test message.

Use DotShare to save a draft titled “My first DotShare post” for personal-mastodon with the text “Hello from DotShare!” Leave it in Draft so I can review it in VS Code.

The agent calls create_draft and gets a draft ID, a revision, and the state Draft. A draft can be incomplete, so you can start with copy and choose accounts later. It’s saved in the shared local library as soon as the tool returns successfully.

Open the same draft in VS Code

Open the Command Palette and choose DotShare: Open Publishing Library. Pick My first DotShare post. The library connects to the configured local DotShare server, so the draft you open is the same saved record that Codex created. You can edit the shared copy, choose accounts, write a thread, or review a different version for each account. Publishing Library guide.

The Publishing Library with a saved draft on the left, shared post content in the middle, and a customized version for a selected account on the right.

Publishing Library preview with example accounts and draft content.

Select Prepare preview. Check the destination, final text, thread parts, and media in the saved preview. Editing the draft after this point invalidates that preview. If you make a change, save it and prepare a fresh one.

When you’re happy with it, select Publish this saved preview. The result shows the delivery state per account and a receipt URL when the platform returns one. In my Mastodon test, the draft ended at Published, and the receipt opened the public post linked above.

Reuse the workflow for a real release

The library includes five starter templates. A template can hold placeholders such as {{version}} and {{link}}, plus variations for specific platforms or accounts. Fill it with verified release details and save it as a draft. That draft has its own revisions, so you can edit the template later and keep the original draft and receipt for reference.

For a release, I start with one set of facts and review each destination’s version. A short Mastodon update can use the shared copy, while LinkedIn can use a different introduction. If I override the text only, the version still inherits the shared images. The preview is where I check the actual output for every destination. Templates and account versions.

Part 2 covers how DotShare binds approval to a specific revision, keeps track of uncertain deliveries, and migrates the local library to encrypted storage.

I used AI assistance to draft and edit this write-up. The workflow is based on the shipped implementation and the linked Mastodon test.