technical-debt-cli
v2.2.0
Published
Print your ToDo list in the terminal in order to manage them better according to Agile
Downloads
16
Readme
Technical debit cli
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.
Why?
- Wikipedia - technical debt
- Medium article - How to manage a technical debt
- Agile article - How to manage a technical debt
Install
$ npm install technical-debt-cli
Usage
Import as JavasScript module
import TodoCli from 'technical-debt-cli';
// On startup a server file
TodoCli.init(options);
Output
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
Options
const options = {
target: [glob-options],
ignore: ['readme.md', 'index.js', 'node_modules'],
verbose: <Boolean>,
re: RegEx
};
option.target
Array of strings - (Required) - Any Glob pattern rule
option.ignore
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.
option.verbose
Boolean - In verbose mode, the program prints a list of target files.
option.re
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 }}
Support languages
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
Editors
Test
$ npm run test
How to collaborate
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.