All Projects β†’ JasonEtco β†’ Todo

JasonEtco / Todo

Licence: isc
πŸ€–βœ… GitHub App that creates new issues from actionable comments in your code.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Todo

Mergeable
πŸ€– All the missing GitHub automation πŸ™‚ πŸ™Œ
Stars: ✭ 475 (-30.66%)
Mutual labels:  github-app, probot-app, probot
linter-alex
πŸ“Sensitive, considerate writing before you merge your Pull Requests
Stars: ✭ 67 (-90.22%)
Mutual labels:  probot, github-app, probot-app
Auto Assign
πŸ€– A Probot app that adds reviewers to pull requests when pull requests are opened.
Stars: ✭ 140 (-79.56%)
Mutual labels:  github-app, probot-app, probot
Request Info
Requests more info from PRs/Issues with either the default title or a blank body
Stars: ✭ 89 (-87.01%)
Mutual labels:  github-app, probot-app, probot
triage-new-issues
A GitHub App, built with Probot that adds `triage` label to newly-created issues which don't have labels
Stars: ✭ 23 (-96.64%)
Mutual labels:  issues, github-app, probot-app
Wuffle
A multi-repository task board for GitHub issues.
Stars: ✭ 93 (-86.42%)
Mutual labels:  github-app, issues, probot-app
branch-switcher
a GitHub bot that switches the base branch of pull requests to the preferred branch
Stars: ✭ 15 (-97.81%)
Mutual labels:  probot, github-app, probot-app
Commitlint Bot
[NOT MAINTAINED] use https://github.com/apps/semantic-pull-requests
Stars: ✭ 157 (-77.08%)
Mutual labels:  github-app, probot-app, probot
scalafmt-probot
πŸ€–Github bot for checking code formatting with scalafmt
Stars: ✭ 15 (-97.81%)
Mutual labels:  probot, github-app, probot-app
Weekly Digest
Weekly summary of activity on your GitHub repository πŸ“†
Stars: ✭ 199 (-70.95%)
Mutual labels:  github-app, probot-app, probot
issuelabeler
A GitHub bot to label issues automatically based on title and body against list of defined labels. System status (https://status.verticalaxisbd.com/)
Stars: ✭ 23 (-96.64%)
Mutual labels:  probot, github-app, probot-app
boring-cyborg
πŸ€– A Github bot to automatically label PRs, issues and perform all the boring operations that you don't want to do.
Stars: ✭ 66 (-90.36%)
Mutual labels:  probot, github-app, probot-app
Stale
A GitHub App built with Probot that closes abandoned Issues and Pull Requests after a period of inactivity.
Stars: ✭ 1,070 (+56.2%)
Mutual labels:  github-app, probot-app, probot
react-preview
a GitHub App built with probot that generates preview links for react based projects.
Stars: ✭ 14 (-97.96%)
Mutual labels:  probot, github-app, probot-app
Probot Gpg
A GitHub App that enforces GPG signatures on pull requests (no longer maintained)
Stars: ✭ 13 (-98.1%)
Mutual labels:  github-app, probot-app, probot
Gh Polls Bot
Automatically create polls in GitHub issues.
Stars: ✭ 187 (-72.7%)
Mutual labels:  github-app, probot-app, probot
new-pr-welcome
Welcome users when they open their first PR in your repository
Stars: ✭ 20 (-97.08%)
Mutual labels:  probot, github-app, probot-app
merge-me
A GitHub app that merges your pull requests once all required checks pass.
Stars: ✭ 19 (-97.23%)
Mutual labels:  probot, github-app, probot-app
dont-merge
Prevent merging of Pull Requests with a custom label selected on labels area.
Stars: ✭ 26 (-96.2%)
Mutual labels:  probot, github-app
App
The WIP GitHub App
Stars: ✭ 590 (-13.87%)
Mutual labels:  github-app, probot-app

todo[bot]

A GitHub App built with Probot that creates new issues based on actionable comments in your code.

GitHub Actions status Codecov

Usage

Using todo should be really simple. Once you've installed it in your repository, simply push some code (to your default branch, a PR; doesn't matter). If the code you pushed includes one of the configured keywords (defaults are @todo and TODO), then the integration will create a new issue for you using the comment your wrote in your code!

If I pushed this:

/**
 * @todo Take over the world
 * @body Humans are weak; Robots are strong. We must cleanse the world of the virus that is humanity.
 */
function ruleOverPunyHumans () {
  // We must strategize beep boop
}

todo would create a new issue:

todo

Note: While the above example is in Javascript, todo has been tested in JS, Go, C, C#, Ruby, Bash and Python, and should work in any language.

Behaviour in pull requests

To reduce noise and keep your todo notes in the right context, todo comments made in commits that are part of a pull request will be converted into comments on that pull request. When the PR is merged, todo will determine which of those todos have yet to be resolved and open an appropriate issue.

Configuring for your project

There are a couple of configuration options in case you need to change the default behaviour.

Note: Adding a configuration file is completely optional. The defaults are likely fine for most projects, so you might not need to change them.

Add a todo object in your .github/config.yml file (and make the file if you don't already have it) like this:

todo:
  keyword: "@makeAnIssue"

Available options

Name Type Description Default
autoAssign boolean, string[], string Should todo automatically assign a user to the new issue? If true, it'll assign whoever pushed the code. If a string, it'll assign that user by username. You can also give it an array of usernames or false to not assign anyone. true
keyword string[] The keyword(s) to use to generate issue titles ['@todo','TODO']
bodyKeyword string[] If this is in the line right after the main keyword, it will become the generated issue body. ['@body','BODY']
blobLines number, boolean The number of lines of code to show, starting from the keyword. 5
caseSensitive boolean Should the keyword be case sensitive? false
label boolean, string[] Add a label to the new issue. If true, add the todo label. If false, don't add any label.You can also give it a label name or an array of label names. true
reopenClosed boolean If an issue already exists and is closed, reopen it. Note: if set to false, no new issue will be created. true
exclude string Exclude certain files and/or directories. Should be a valid regular expression. null

CLI

There is a CLI tool in this repo that you can use to verify that todo is working on your commits. This tool will not actually create new issues, but will let you know what issues a commit would create. Follow the setup instructions below, then run:

$ node ./bin/todo -o OWNER -r REPO -s SHA

You can also parse a local file instead of a sha:

$ node ./bin/todo -o OWNER -r REPO -f ./path/to/file.txt

Or check a merged PR:

$ node ./bin/todo -o OWNER -r REPO --pr NUMBER

Setup

# Install dependencies
npm install

# Run the bot
npm start

See docs/deploy.md if you would like to run your own instance of this app.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].