Print your ToDo as an alfabetical ordered list in the terminal in order to manage better your technical debt. technical-debt-cli
looks for language-todo comments in your code and prints them. Useful to watch your technical debt and remember how big is it.
- Wikipedia - technical debt
- Medium article - How to manage a technical debt
- Agile article - How to manage a technical debt
$ npm install technical-debt-cli
Import as JavasScript module
import TodoCli from 'technical-debt-cli';
// On startup a server file
TodoCli.init(options);
The list will be printed in the terminal when code run.
Pro tip!: Write a comment starting with
[number]
to order them by priority
→ List of your technical debt:
================================
[1] Lorem ipsum dolor sit amet, consectetur adipisicing elit.
[2] Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
[3] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.
--------------------
Total: 3
const options = {
target: [glob-options],
ignore: ['readme.md', 'index.js', 'node_modules'],
verbose: <Boolean>,
re: RegEx
};
Array of strings - (Required) - Any Glob pattern rule
ignore instance - Could be a String, an array of Strings, or an instance of node-ignore. String values must contain the glob pattern to be ignored. The package also read the .gitignore
file in order to not to read ignores files by your repo. It is a bypass of ignore ignore option.
Boolean - In verbose mode, the program prints a list of target files.
Regular Expresion - Regular expression to use on matches. It is only one regular expression for all possible matches. Value by default is /(?:<%|<#|<!--|\/\*|\/\/|#|'|--|%|=begin|\{\-|\(\*|\{{2}!|@\*)\s?@?todo:\s?(.*?)(?:%>|#>|\-\->|\*\/|\n|=end|\-\}|\*\)|\{{2}|\*@)/gmi
. This regular expression captures the comment text inside the following comments syntax
<!-- TODO: Capture 0 -->
<% TODO: Capture 1 %>
@* TODO: Capture 1 *@
<# TODO: Capture 2 #>
// Todo: Capture 3
# Todo: Capture 4
/* TODO: Capture 5 */
' TODO: Capture 6
-- TODO: Capture 7
% TODO: Capture 8
=begin Todo: Capture 9 =end
{- Todo: Capture 10 -}
(* Todo: Capture 11 *)
{{! Todo: Capture 12 }}
<!-- @todo: Capture 0 -->
<% @todo: Capture 1 %>
<# @todo: Capture 2 #>
// @todo: Capture 3
@* @todo: Capture 1 *@
# @todo: Capture 4
/* @todo: Capture 5 */
' @todo: Capture 6
-- @todo: Capture 7
% @todo: Capture 8
=begin @todo: Capture 9 =end
{- @todo: Capture 10 -}
(* @todo: Capture 11 *)
{{! @todo: Capture 12 }}
Euphoria
Haskell
SQL
Ada
AppleScript
Eiffel
Lua
VHDL
SGML
PureScript
ActionScript
C
C++
C#
D
F#
Go
Java
JavaScript
Kotlin
Delphi
Objective-C
PHP
Rust
Scala
SASS
Swift
Xojo
Bourne shell and other UNIX shells
Cobra
Perl
Python
Ruby
Seed7
Windows PowerShell
PHP
R
Make
Maple
Elixir
Nim
TeX
Prolog
MATLAB
Erlang
S-Lang
Visual Prolog
ActionScript
AutoHotkey
C
C++
C#
D,Go
Java
JavaScript
kotlin
Objective-C
PHP
PL/I
Prolog
Rexx
Rust
Scala
SAS
SASS
SQL
Swift
Visual Prolog
CSS
Razor
$ npm run test
We use GitHub Flow as branching model. Open a branch from master
and push to review it. Pro Tip! Check the .todo file to know what contribuite to.