From terminal to link, for anyone or anything.
Publish markdown and its images in one command. A rendered page for people, plain text for agents.
curl -fsSL https://mdfly.dev/install.sh | shbrew install Abir66/mdfly/mdflygo install github.com/Abir66/mdfly/cmd/mdfly@latestOne command. One link.
The URL is the only thing on stdout, so it pipes anywhere.
- mdfly publish notes.md
- uploaded 1/2
- uploaded 2/2
- https://mdfly.dev/abc12345
- mdfly publish notes.md | pbcopy
Release notes
What shipped this week, written once and read by the team and their agents.
- Search covers archived tickets
- Webhooks retry with backoff
- Reports keep the viewer's timezone
diagram.png
webhooks:
retries: 3
backoff: exponentialSame document. Two ways to read it.
Every link has a raw twin. People get a clean page; agents and scripts get the exact markdown.
For people
Release notes
What shipped this week, written once and read by the team and their agents.
- Search covers archived tickets
- Webhooks retry with backoff
- Reports keep the viewer's timezone
diagram.png
webhooks:
retries: 3
backoff: exponentialFor agents
# Release notes
What shipped this week, written once and read by the team and their agents.
- Search covers archived tickets
- Webhooks retry with backoff
- Reports keep the viewer's timezone

```yaml
webhooks:
retries: 3
backoff: exponential
```curl -s https://mdfly.dev/raw/abc12345Everything the file links to comes along.
Images and linked files
Relative images and attachments are found and uploaded with the page.
Whole folders
Follow links to other pages and folders with
-r.mdfly publish docs/index.md -rEdit in place
Push changes to the same URL.
mdfly update notes.mdTake it down
Delete any time. The link then returns 410 Gone.
mdfly delete abc12345Renders properly
GitHub-flavored markdown, syntax highlighting, Mermaid diagrams and math.
Scriptable
URL-only stdout, clear exit codes, and
--jsonfor tools.mdfly publish notes.md --jsonNo account
Install and publish. Nothing to sign up for.
Fast because there's nothing in the way.
Zero setup
Install and publish. No config file required.
Only changes upload
Files are content-hashed, so an update uploads only the ones that changed.
Served from the edge
Files are cached on Cloudflare's network.
Straight to your clipboard
mdfly publish notes.md | pbcopy
Built for agents, too.
An agent can publish its own report and share the link. Any other agent reads the raw view with a plain HTTP GET.
agent › Wrote the report to report.md. Publishing…
$ mdfly publish report.md
https://mdfly.dev/abc12345
agent › Shared: https://mdfly.dev/abc12345curl -s https://mdfly.dev/raw/abc12345# Release notes
What shipped this week, written once and read by the team and their agents.
- Search covers archived tickets
- Webhooks retry with backoff
- Reports keep the viewer's timezonePublish your first link.
curl -fsSL https://mdfly.dev/install.sh | shbrew install Abir66/mdfly/mdflygo install github.com/Abir66/mdfly/cmd/mdfly@latest