# Todo To Docs
Tool to inspect a package for todos and compiles all found todos into a single document.
This tool currently only works on `go` code but can be easily expanded to analyse other code bases.
## Install
`go get github.com/status-im/todo-to-docs`
## Run
Currently the tool is hardcoded to process the `status-go` repo and assumes that the repo is present on the user's machine.
`cd` into the `github.com/status-im/todo-to-docs` repo.
Run the following
```bash
go build
todo-to-doc
```
## Sample Output
...
- 📁 params
- 📃 config.go
- ⬜ Todo:
*Related func or type* : `func (c *NodeConfig) updatePeerLimits()`
*On line* : 723
*Description* : TODO(dshulyak) register mailserver limits when we will change how they are handled.
- 📁 peers
- 📃 peerpool.go
- ⬜ Todo:
*On line* : 249
*Description* : TODO(adam): split it into peers and discovery management loops. This should
simplify the whole logic and allow to remove `timeout` field from `PeerPool`.
- 📃 topicpool.go
- ⬜ Todo:
*Related func or type* : `func (t *TopicPool) AddPeerFromTable(server *p2p.Server) *discv5.Node`
*On line* : 401
*Description* : TODO(adam): investigate if it's worth to keep the peer in the queue
until the server confirms it is added and in the meanwhile only adjust its priority.
...
For a full sample output [see here](sample/sample.md)