Giter Club home page Giter Club logo

toodoo's Introduction

Toodoo is a CLI tool that syncs TODO and FIXME comments from your code with Trello.

Features

  • all @TODO and @FIXME comments will be synced with trello
  • when the comment is removed from code, it's associate card will be moved to your done list
  • @username mentions will be linked to trello board menbers (feautre needs fixing)

๐Ÿš€ Getting Started

1. intall toodoo in your project

npm i toodoo

or

yarn add toodoo

2. setup trello

you will need to create a private powerup and authorize it to access your workspace.

Please follow these stepts:

  • go to https://trello.com/power-ups/admin
  • create a new powerup, and name it toodoo
  • select your workspace
  • please ignore the ifrae connector url
  • once created, generate a new API key
  • copy your api key (you will need it later)
  • next to your API key, in the interface you will see instructions about how to generate a token manually
  • generate and copy your token

3. add your api key and token to your config

using the CLI:

Run the cli config helper, and when asked, add the key and token

toodoo setup

Once toodoo is connected to Trello, you will be asked to select a board, and 3 lists:

  • pending list: list that hold your backlog
  • in progress list: list that holds your tickets that are being worked on
  • done list: list that holds your completed tickets

At the end of the run, a config file named toodoo.config.json will be created at the root of your project.

!!! PLEASE ADD THIS TO YOUR .gitignore !!!

via .env

Add these values to your .env file or your CI's evironmental variables:

TOODOO_PM_TOOL=trello
TOODOO_CI=false
TOODOO_TRELLO_KEY=xxxx
TOODOO_TRELLO_TOKEN=xxxxxx
TOODOO_TRELLO_PENDING_LIST_ID=123456
TOODOO_TRELLO_INPROGRESS_LIST_ID=123456
TOODOO_TRELLO_DONE_LIST_ID=123456

๐Ÿ’ป Running locally

run this in your project's terminal:

toodoo

this will locate all the @TODO and @FIXME comments and convert them to trello cards.

You can specify a glob expression to filter:

toodoo '{,!(node_modules)/**/}*.{js,ts,jsx,tsx,css}'

you can add this to your package.json:

  scripts: {
    ...
    "toodoo": "toodoo '{,!(node_modules)/**/}*.{js,ts,jsx,tsx,css}'"
    ...
  }

โ˜๏ธ Running in CI environments

toodoo can be run in CI environments such as Gitlab CI and Github Actions. As you are using your private apikey and tokens, it is adivable not to have the commitd to your git repo, so you will need to use the environmental variables for config:

TOODOO_PM_TOOL=trello
TOODOO_CI=true
TOODOO_TRELLO_KEY=xxxx
TOODOO_TRELLO_TOKEN=xxxxxx
TOODOO_TRELLO_PENDING_LIST_ID=123456
TOODOO_TRELLO_INPROGRESS_LIST_ID=123456
TOODOO_TRELLO_DONE_LIST_ID=123456

โš™๏ธ Other commands

Get config as env

toodoo config env

List all todos:

toodoo list

Interract with trello:

toodoo trello

Display Trello info:

toodoo trello info

Dev roadmap:

  • check if .gitignore already contains the config file, and ask to add the config file to .gitignore if file is present
  • add option to run only when a specifc git branch is active (eg: only run on development)
  • investigate if integration from trello to git bould be possible & advisable (this would cover scenarios such as: auto-removal of commit when card is moved to done list, or changing the @username mentions on code when a members of a card are changed in trello)
  • Add a public Trello board with examples from toodoo code
  • Add support for other PM tools

Credits

  • this was inspired by ves's work on the todo npm package, which is partially using. Thanks :) ๐Ÿบ
  • the logo was generated by using DALL-E ๐Ÿคฏ

toodoo's People

Contributors

crissmoldovan avatar

Watchers

James Cloos avatar  avatar  avatar

toodoo's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.