Nostr Article Publish is a free, open-source command-line tool for writers and developers who want to publish Markdown articles to the Nostr network without a graphical app. Written in Rust and released under the MIT license, it sends long-form posts to Nostr relays and can also remove them later. If you prefer scripting or keep your writing in plain text files, this tool fits your workflow well.
The project is at version 0.2.0, and its last code update came in July 2025, so it is an early-stage release rather than a mature product. Windows support is listed as likely rather than confirmed, so check the releases page for a ready-made build. The sections below cover installation, configuration, safe key handling and how it compares with other Nostr tools.
What Is NIP-23 Long-Form Content?
On Nostr, most posts are short notes. NIP-23 defines a separate way to share longer text, such as blog posts, documentation pages or essays, with Markdown formatting. Clients that support it can show the piece as an article with its own title, summary and image rather than as a stream of short messages.
A long-form article is also addressable. Each one is identified by a unique value you set, so a later version can replace the earlier one and a deletion request can target one specific piece. That is why this tool asks for an article identifier when you publish and again when you want to remove it.
Because the format is built on Markdown, your existing writing habits carry over. Headings, lists, links and code blocks work the way you expect, as long as you keep raw HTML out of the file. The validation step in this tool exists partly for that reason.
Who Should Use a Command-Line Publisher?
A command-line publisher suits people who already work in plain text. A developer who keeps release notes or technical guides in a Git repository can publish updates straight from the project folder. A writer who drafts articles in a Markdown editor can save the file and publish it without copying text into a web form.
Scripting is another strong use case. If you publish the same kind of update on a schedule, you can wrap the command in a batch file and reuse your settings. The tool does one job, so it is easy to fit into a larger routine alongside other utilities.
It is less suited to people who want a visual editor, image drag-and-drop or a feed to read. Those needs are better met by a graphical Nostr client, which can be used alongside this tool rather than instead of it.
Key features
Markdown Long-Form Publishing
Article Deletion by Identifier
Content Validation
Environment Variable Key Handling
Asynchronous Multi-Relay Connections
Supported coins
The documentation mentions Nostr as the network the tool works with, so it is built specifically for publishing to Nostr relays. It does not handle cryptocurrency or wallet functions; its job is to send and remove long-form articles.
How to install Nostr Article Publish on Windows
- 1
Get the release file
Open the official GitHub repository at github.com/madcato/nostr-article-publish and go to the Releases page. Download only from the official website or that repository, and avoid copies offered on other sites. If no Windows build is listed, you can build the program from source, which is the only route that requires the Rust toolchain.
- 2
Verify the file
Calculate the SHA-256 checksum of the downloaded file and compare it with the value published with the release. If a signature is provided, check it as well. Do not run the file if the values do not match.
- 3
Place the program
Move the executable into a folder that you control, such as a dedicated tools directory. You can add that folder to your PATH so the command works from any terminal window. Keeping it in one known location also makes updates easier to track.
- 4
Create the relay configuration
Create the TOML file that lists the relays you want to publish to. Save it somewhere you can reference when you run the tool. You can add or remove relays later without changing your articles.
-
Set your signing key
Store your key in the environment variable the tool reads, either for the current terminal session or in your user environment settings. Avoid writing the key into article files, batch scripts you share or screenshots.
How to use Nostr Article Publish
Once the program is installed and configured, publishing takes one command. Prepare your article as a Markdown file and choose a unique identifier for it. Keep the identifier stable if you plan to update or remove the post later.
Follow these steps:
- Write your article in a Markdown file, and leave out raw HTML tags and hard line breaks, since validation will reject them.
- Confirm that your key is set in the environment variable and that the relay TOML file lists the relays you want.
- Run the program with the -f or --file-name option, followed by the path to your Markdown file.
- Add the -a or --article-identifier option with a unique identifier for the article.
- Check your chosen relays or a Nostr client to confirm the article appears.
- To remove the article later, run the delete function with the same article identifier.
If validation fails, open the file and remove any HTML or forced line breaks, then run the command again. Saving a copy of each Markdown file in your project folder makes it simple to republish or delete an article with the correct identifier.
Pros & cons
- Free to use and released under the MIT license
- Publishes Markdown articles in a single command
- Validates content to block HTML tags and hard line breaks
- Reads the signing key from an environment variable
- Connects to multiple relays from one configuration file
- Simple to script and automate
- Command-line only, with no graphical editor or feed
- Windows support is listed as likely, not confirmed
- Version 0.2.0 with a last code update in July 2025 suggests an early-stage project
- Requires comfort with terminals, environment variables and TOML files
- Relays may not honor deletion requests in the same way
Is Nostr Article Publish safe?
Download the program only from the official GitHub repository at github.com/madcato/nostr-article-publish, and avoid copies on third-party download sites. Compare the SHA-256 checksum or signature of the file with the values published on the release page before running it. Because the tool signs your articles with your key, never enter your private key or seed phrase on third-party websites, even if they claim to help with publishing. Keep the key only in the environment variable, not in article files or shared scripts. The project is not deprecated, since its last code update was in July 2025, but check the latest version on the official website before you install.
- Official source only. Download from github.com/madcato/nostr-article-publish. Ignore ads and lookalike domains.
- Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
- Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
Alternatives
Nostr Article Publish has one focused job: turn a Markdown file into a published long-form article and remove it when asked. Gossip and Vega are graphical desktop clients for reading and posting, so they suit people who prefer to browse and write in a window. NAK is a broader command-line toolkit for working with Nostr events, and Nostr Commander RS is a command-line client for everyday messaging. Amethyst and Coop are client apps for ordinary Nostr use rather than publishing scripts. If your workflow is writing articles in files and publishing from a terminal, this tool is the narrower and more direct choice.
Specifications
- Price
- Free
- Type
- Open source
- License
- MIT
- Latest version
- 0.2.0
- Last update
- 17 Jul 2025
- Windows support
- Likely (builds for Windows; check releases)
- Source code
- github.com/madcato/nostr-article-publish
Frequently asked questions
Yes, Nostr Article Publish is free and open source under the MIT license. You can use, copy and modify the code under the terms of that license. The project does not charge for publishing, but you should still check the official repository for the latest version before installing.
Windows support is listed as likely rather than confirmed. The project builds for Windows, so you can compile it yourself if no ready-made build is available. Check the GitHub Releases page first, then follow the verification steps on this page before running any file you download.
The tool itself is a straightforward command-line program, but it handles your signing key, so safe habits matter. Download it only from the official GitHub repository, verify the SHA-256 checksum or signature, and keep your key in the environment variable. Never enter a seed phrase or private key on third-party websites.
Yes, the tool can request removal of a published article. You need the same article identifier you used when you published it. Keep in mind that relays are run independently and may not remove every copy, so deletion is not a guarantee that the article disappears everywhere.
No, you do not need to write Rust to run the program. Rust matters only if you choose to build the program from source, since that requires the Rust toolchain. If you use a ready-made build, you only need to set up the relay configuration and your key, then run the command.
The tool works with the Nostr protocol and publishes to the relays listed in your TOML configuration file. It is designed for long-form content under NIP-23, so it fits writers and developers who share articles on Nostr rather than people who use other networks.
Yes, the tool connects to multiple relays and reads their addresses from a TOML file. You can keep one shared list and update it as your needs change. Publishing to several relays can improve reach and reduce dependence on any single server.
Verdict
Nostr Article Publish is a good fit for developers, writers and technical users who publish Markdown articles to Nostr and are comfortable with a terminal. It is free, MIT licensed and focused on a narrow task, which makes it easy to automate. It is less suitable for anyone who wants a visual editor or a feed to read. Treat it as an early-stage tool, verify every download carefully and protect your signing key.