toodoo
v1.0.1
Published
Toodoo is a CLI tool that syncs TODO and FIXME comments from your code with Trello.
Downloads
5
Maintainers
Readme
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 backlogin progress list
: list that holds your tickets that are being worked ondone 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 and ask to add the config file to
.gitignore
if preset - 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 is advisable when card is moved to done list, or changing the @username mentions 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