Metadata-Version: 2.1
Name: techdebt
Version: 0.1
Summary: A technical debt tracker package
Home-page: https://github.com/lcetinsoy/tech-debt
Author: Laurent Cetinsoy
Author-email: laurent.cetinsoy@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
Requires-Dist: matplotlib
Requires-Dist: pandas

# Tech-debt

A simple tool to quantify your technical debt

## Installation  

pip install techdebt

## Usage 


1. Adding debpt annotation

add debt annotations in your project files to mark technical debt:

- @debt() 
- @debt("debt_type") or 
- @debt("debt_type":"comment")


Let's say you have a python file with some debt : 

```bash
#@debt("implementation")
def poor_function():

    #@debt("implementation": "variable naming")
    bla = 2
    return bla
```

2. Project configuration

Adapt the following configuration file and put 
it in your project folder (cf config_example.yml)

```yaml

folder:
  included:
    - test_project/subA
    - test_project/subB

  excluded:
    - vendor
    - node_modules
    - var
    - web
    - nbproject
    - public
    - .git
    - __pycache__

extensions:
  - .py
  - .js
  - .md
  - .php

scores:
  api: 5
  implementation: 3

```

3. Run

```bash

python main.py --conf="path/to/config_file.yml" #default is "techdebt.yml" 

```

## Roadmap 

- adding line file of annotation
- better reporting
- tracking debt over time
- adding estimation range
- Incorporating other tools in debt computing like static code analysis


## Testing 

pytest -s techdebt/lib.py


