3 unstable releases

0.1.0 Jun 15, 2020
0.0.2 Jun 15, 2020
0.0.1 Jun 13, 2020

#2013 in Command line utilities

MIT license

410 lines



a dev.to tool for the road


Via homebrew (osx)

$ brew install softprops/tools/devtogo

Via cargo

$ cargo install devtogo

Via GitHub Releases

Using a version from the GitHub Releases Page, substitute VERSION below

$ cd $HOME/bin
$ VERSION=v0.1.0 curl -L "https://github.com/softprops/devtogo/releases/download/${VERSION}/devtogo-$(uname -s)-$(uname -m).tar.gz" \
  | tar -xz -C ~/bin


devtogo is a cli primarily focused on publishing offline markdown files to dev.to. These files follow the same formatting rules documented in dev.to's editor guide.

At a bare minimum you'll want to declare a title in a frontmatter section of your markdown file.

title: my very first post
# hello everybody

To get started, you will first need to export an DEVTO_API_KEY env variable. You can get one here

The most basic usage is to run the program inside the directory containing content

$ devtogo

This will scan the current working directory for articles: markdown documents containing frontmatter describing metadata about the article. devtogo uses the title frontmatter field as a unique identifier to compare existing remote content.

When it can't resolve an article by title it uploads it. When it can, it compares content and uploads local copy if the content of the local copy differs.

you can use the published frontmatter to indicate if and when an article should be published by default articles are saved as drafts only you can see. Setting published to true will publish articles. If you do this by accident you can set published back to false to unpublish an article if needed

To be more explicit you can provide a source argument which provides a path where content is stored.

$ devtogo --source path/to/content

You can also experiment without actually posting your content using the --dryrun flag. This will perform all operations except for uploading your content. This may be useful for validating your content.

$ devto --dryrun

You can always review the posts uploaded in your dev.to dashboard online

Doug Tangren (softprops) 2020


~388K SLoC