A content curation queue based on GitHub projects. Originally built for tweeting. Crowd sources content creation, improves collaboration and gives better control over content quality.
- Represent tweets as GitHub issues
- Supports replying and retweets
- Auto add unhandled mentions as new issues
- Auto add issues to a column in a dedicated project board
- Auto post issues from a column in the dedicated board
- Validate issue content to be valid for posting
- Scheduling of posts to an exact time
- Reaction squad system to ping people to react to a mention
- Auto posting from a column in certain spacing (à la buffer)
- Reminder system for posts that are due but not ready
- Auto create posts for events from an ical feed
- Auto create posts for new discourse threads
- Auto create posts for posts in an Atom or RSS feed
- Mastodon support
- Supports replying, reposts and spoilers
- Tweet pinning management (will probably happen for Mastodon first, since there's actually an API for that there)
- See all the issues with the enhancement tag...
Set up a repo for use with this tool
- GitHub user auth token (will use that to create issues and comment on them etc.)
- Log in with your GitHub user
- Go to your settings
- Go to "Personal access token" and go click on the "Generate new token" button
- Select the "public_repo" scope and if you are using it with an organization "read:org" and click save
- Add the resulting token to the
- Twitter API credentials incl. OAuth tokens and secret (will tweet to this account)
- Create a new App through developer.twitter.com/apps
- Apply for a developer account if you don't have one yet
- There is no need to define a redirect URL, just leave the field blank
- Copy the consumer key and secret to the fields in the
- Click on "Create access token"
- Copy the access token key and secret to the fields in the
- Mastodon OAuth access token (will toot to this account)
- In the following, replace
https://mastodoninstance.example.comwith the URL of your instance
- Create a new application at
- Grant all read and write scopes. In theory the
write:statusesshould be enough at the moment, but this is untested
- Go to the application and copy the access token under "Your access token"
- The instance URL is probably
- Add both the access token and the instance URL to the fields in the
- In the following, replace
- Node >= 8.0.0
Issue templates are generated in the repository. See the documentation for GitHub issue templates.
The tool can be executed with
npm start. Note that you should first run
npm ci --production or equivalent.
The docker container
Official Docker container:
The latest tag corresponds to the master branch in this repository. Note that the docker container can only be configured via environment.
The test suite can be ran with the default
npm test. It includes linting of the code using eslint and unit tests with ava. Tests require no prior configuration other than running
npm ci and that all files from this repository be present.