Files
gotask-cli/README.md
2026-04-01 11:16:51 +02:00

82 lines
2.2 KiB
Markdown

# GOTASK
Tiny project aiming at creating a CLI task tracker in Golang
## Purpose
1. Practice Golang
1. Keep track of tasks
## Roadmap
1. Add
2. List all
3. Progress
4. Regress
5. List by
## Features
### Add tasks
```console
[user@host]$ gotask add "Publish code"
New task added to do @ id=4
```
### List all tasks
```console
[user@host]$ gotask list
+---------------------------------------------------------------------+
|id| Description | Status | CreatedAt | UpdatedAt |
|--|--------------|-------------|------------------|------------------|
| 1| Update doc | todo | 01-03-2026 09:23 | | # Never updated
| 2| Write code | doing | 04-03-2026 10:13 | 05-03-2026 17:45 | # Set in progress at UpdateAt
| 3| Write tests | done | 05-03-2026 11:34 | 01-04-2026 19:43 | # Done at UpdateAt
| 4| Publish code | todo | 01-04-2026 09:13 | |
+---------------------------------------------------------------------+
```
### Mark progress
```console
[user@host]$ gotask progress 4
[todo] task "Publish code" progress to [doing]
```
### List tasks by status
```console
[user@host]$ gotask list doing
+---------------------------------------------------------------------+
|id| Description | Status | CreatedAt | UpdatedAt |
|--|--------------|-------------|------------------|------------------|
| 2| Write code | doing | 04-03-2026 10:13 | 05-03-2026 17:45 |
| 4| Publish code | doing | 01-04-2026 09:13 | 01-04-2026 10:30 |
+---------------------------------------------------------------------+
```
### Mark regress
```copnsole
[user@host]$ gotask regress 4
[doing] task "Publish code" regress to [todo]
```
## Storing data
For convenience reasons, the data will be stored in a JSON file with the following structure.
```json
{
"tasks": [
{
"id": 1,
"Description": "Update doc",
"Status": "todo",
"CreatedAt": 1772353380,
"UpdatedAt": -1
},
{
"id": 2,
"Description": "Write code",
"Status": "doing",
"CreatedAt": 1772615580,
"UpdatedAt": 1772729100
}
]
}
```