Check your code TODOs (and fail your ci/cd if they're overdue)
Write your todos in the format: @todo(YYYY-MM-DD): A description of a todo...
```rust fn main() { // @todo(2022-08-10): Print something besides "Hello World!" println!("Hello World!");
print!("Hello World again!"); // @todo(2022-07-10): use `println` instead of `print`
} ```
Run todo-ci
to check for overdue TODOs in the current directory
```bash
todo-ci ./
docker run -v $(pwd):/volume -it ghcr.io/aliadnani/todo-ci:latest /volume ```
Integrate todo-ci
in the ci/cd platform of choice for checking TODOs in code. If any overdue TODOs are found, a 1
exit code is emitted, hence failing ci/cd runs.
Using cargo
:
bash
cargo install todo-ci
Using docker
:
```bash
docker pull ghcr.io/aliadnani/todo-ci:latest ```
```
OPTIONS:
-d, --display-mode
[default: default] [possible values: concise, overdue-only, default]
-e, --no-error
For disabling returning system error code (1) if there are overdue todos
-h, --help
Print help information
-n, --no-ignore
For disabling ignored files by default (.gitignore, hidden files, etc.)
-p, --pattern <IGNORE_PATTERN>
Pattern to check `todos` for (i.e. `*.rs` , `main.*`, etc.) [default: *]
-t, --timezone-offset <TIMEZONE_OFFSET>
Timezone to use for date checking [default: +00:00]
-V, --version
Print version information
```