CharlieKarafotias / tmgr

A task manager CLI
1 stars 0 forks source link
cli pre-commit-hook rust surrealdb

Task Manager CLI: tmgr

A command line tool to track tasks, designed for those that live in IDEs.

Key features include:

Getting Started

Installation

DISCLAIMER: There are several ways to install and start using tmgr. As I developed this on macOS, the directions provided below have only been tested on macOS and may not work as well on other platforms. I look to expand on this in the future as the project matures.

Development Setup

If you wish to change the source code, you can follow the steps below:

  1. Install Rust on your computer. For instructions on installing Rust, see the Rust installation guide.
  2. Pull this repository
  3. Run cargo run. This should compile tmgr and then return all the commands that are available for the program.
  4. To run a specific command, such as adding a new task, use the following command cargo run -- add "my first todo"
  5. To build an optimized release of the project, run cargo build -r
  6. If you wish to commit to this repo, before opening a pull request, ensure Pre-commit is installed on your computer. This project utilizes pre-commit to ensure consistency throughout commits.

Release a change

If you wish to release a new version of tmgr, follow the steps below:

  1. Ensure Pre-commit is installed on your computer
  2. Open a pull request on the tmgr repository
  3. Review the PR and merge to main branch locally
  4. When the merge occurs locally, the pre-commit script will run. This runs cargo build -r && gh release create

CLI Commands

tmgr has the following commands:

Command Reference

Command Name Description
add adds a new task
complete marks a task as complete
delete deletes a task
list lists tasks
note creates and/or opens a markdown file to store notes associated with a particular task
status info regarding file locations, current database, general statistics
update updates an existing task
upgrade upgrades tmgr to the latest version
view shows all information about a specific task
help prints out CLI usage information

Add Command

The add command will add a new task.

Usage

Complete Command

The complete command will mark a task as complete.

Usage

Delete Command

The delete command will delete a task.

Usage

List Command

Lists all tasks. By default, this will only list in-progress tasks. This provides general information about the tasks like the name, priority, and description.

Usage

Note Command

The note command will create a markdown file to store notes associated with a particular task. The file will be created in the same location as the database of tasks. To see this location, run tmgr status.

Usage

Status Command

The status command will show information regarding the current state & location of the database and information about the location of the binary.

Usage

Update Command

The update command will update information about a particular task.

Usage

Upgrade Command

The upgrade command will update tmgr to the latest version. The command works in the following steps:

  1. Checks the latest release version on the GitHub repository
  2. Checks if a version update is needed
  3. If needed, the latest release is downloaded from GitHub repository and stored in the system's downloads folder.
  4. Locate where the current tmgr executable is stored
  5. Delete the current tmgr executable
  6. Move the latest tmgr executable from the downloads folder to the folder where the current tmgr executable was just deleted from.

Usage

View Command

The view command will show all information about a specific task.

Usage

Help Command

The help command will present all available subcommands that tmgr supports. Further, help can be used within other subcommands to learn more about each commands' functionality.

Usage