Skip to content

mattdood/spike

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gif of Spike Spiegel from Cowboy Bebop in space

Note: I do not make any claims to the Cowboy Bebop assets, names, or trademarks.

Spike

A command line TODO application to track my various tasks across systems. The tasks are stored in a JSON file to ensure portability.

Badge for GitHub issues. Badge for GitHub forks. Badge for GitHub stars. Badge for GitHub license, MIT. Badge for sharable Twitter link. Badge for Golang version.

Installation

Ensure that you have a Golang version >= 1.19.

# If git cloning
make install

# If using go
go install https://github.com/mattdood/spike

Usage

The CLI adds, lists, and changes status of tasks. Use the following:

spike --help

# Create a task
spike create -name "Something" -desc "Longer description"

# Find a task to update (list open tasks)
spike list -status O

# Update a task with ID 1 to closed
spike update -id 1 -status C

# List closed tasks
spike list -status C

Task structure

Tasks are meant to be in either O (open) or C (closed) status. The structure is defined below.

Note: id, created, and updated are auto generated.

Example ~/spikes/tasks.json structure:

{
    "O": [
        {
            "id": 1,
            "name": "Sample name",
            "description": "Longer description here",
            "created": "2022-01-01",
            "updated": "2022-01-01"
        }
    ],
    "C": [
        {
            "id": 0,
            "name": "Other name",
            "description": "Longer description here",
            "created": "2021-12-01",
            "updated": "2022-01-01"
        }
    ]
}