User Guide

Your all-in-one solution to track, analyse, and optimize your athletic performance. Designed for the committed athlete, this command-line interface (CLI) tool not only keeps track of your physical activities but also covers dietary habits, sleep metrics, and more.

πŸš€ Quick Start

Features

Notes about Command Format

Notes about lack of Goal Delete for Sleep

The absence of a β€œGoal Delete” feature for Sleep in the current version of AthletiCLI, while present for Diet and Activity, can be concisely justified as follows:

  1. Diversity of Diet and Acitivity Goals: The Diet and Activity features encompasses a wider range of goals compared to Sleep. With such variability, users might frequently need to delete diet goals, making a delete function more essential.

  2. Stability of Sleep Goals: There are only 4 settable goals for sleep. This stability reduces the immediate need for a delete feature, as users are less likely to remove these goals frequently.

  3. Planned for Future Implementation: The absence of this feature in the current version for Sleep does not indicate it will never be implemented. It is planned for a future update, aligning with a phased development approach.

πŸƒ Activity Management

βž• Adding Activities:

add-activity add-run add-swim add-cycle

You can record your activities in AtheltiCLI by adding different activities including running, cycling, and swimming. A brief summary of the activity will be shown after adding the activity. Use the detailed list command to access the full activity insights.

Syntax:

Parameters:

Examples:


βž– Deleting Activities:

delete-activity

Accidentally added an activity? You can quickly delete any type of activity including run, swims and cycles by using the following command.

Syntax:

Parameters:

Examples:


πŸ“… Listing Activities:

list-activity

By using this command, you can see all your tracked activities in a list sorted by date. For more detailed information about your activities including evaluations like pace (running), speed (cycling) or lap time (swimming), you can use the -d flag.

Syntax:

Flags:

Metrics:

Examples:

List returned by `list-activity`

Detailed list returned by `list-activity -d`


βš™οΈ Editing Activities:

edit-activity edit-run edit-swim edit-cycle

You can edit your activities in AthletiCLI by editing the activity at the specified index. Specify the parameters you want to edit with the corresponding flags. At least one parameter must be specified.

Syntax:

Parameters:

Examples:


πŸ” Finding Activities:

find-activity

You can find all your activities on a specific date in AtheltiCLI.

Syntax:

Parameters:

Example:


🎯 Setting Activity Goals:

set-activity-goal

You can set goals for specific sports by defining target distance or duration over various periods. The goals can track your daily, weekly, monthly, or yearly progress.

Syntax

Parameters

Examples


βš™οΈ Editing Activity Goals:

edit-activity-goal

You can edit your set goals by specifying the sport, target, and period.

Syntax

Parameters

Examples


πŸ“… Listing Activity Goals:

list-activity-goal

You can list all your set goals and view your progress towards them.

Syntax

Examples

List returned by `list-activity-goal`


βž– Deleting Activity Goals:

delete-activity-goal

You can delete your set goals by specifying the sport, target, and period.

Syntax

Parameters

Examples


🍏 Diet Management

βž• Adding Diets:

add-diet

You can record your diet by specifying calories, protein, carbohydrate, and fat intake.

Syntax:

Parameters:

Examples:


βš™οΈ Editing Diets:

edit-diet

You can modify existing diet entries by specifying the index of the diet you wish to edit.

Syntax:

Parameters:

Examples:

Note: Find the index of your diet entry in the listing section.


βž– Deleting Diets:

delete-diet

You can remove a diet entry from your records.

Syntax:

Parameters:

Examples:


πŸ“… Listing Diets:

list-diet

You can view a list of all your recorded diets.

Syntax:

Examples:

List returned by `list-diet`


πŸ” Finding Diets:

find-diet DATE

You can locate diets recorded on a specific date.

Syntax:

Parameters:

Examples:


🎯 Adding Diet Goals:

set-diet-goal

You can create a new daily or weekly diet goal to track your nutrients intake with AtheltiCLI by adding the nutrients you wish to track and the target value for your nutrient goals.

You can set multiple nutrients goals at once with the set-diet-goal command.

Do note that you can only set up to the value 999999 and the maximum accumulated value from diets is 1000000.

Syntax:

Parameters:

You can create one or multiple nutrient goals at once with this command.

Note: At least one of the nutrients (CALORIES,PROTEIN,CARB,FAT) must be present!

Note: A diet goal of the same nutrient cannot be healthy and unhealthy at the same time!

Note: No repetitions are allowed for the diet goal of the same nutrient and the same time span.

Note: The target value for a weekly goal must be greater than the target value of a daily goal of the same nutrient!

Examples:

** set-diet-goal DAILY unhealthy calories/500 Creates an unhealthy daily calories goal of target value of 500 calories if goal is not created.

Example of Usage:

  > set-diet-goal WEEKLY calories/500 fat/600
  _____________________________________________________________
  These are your goal(s):
  
      1. [HEALTHY]  WEEKLY calories intake progress: (0/500)
  
      2. [HEALTHY]  WEEKLY fat intake progress: (0/600)
  
  Now you have 2 diet goal(s).
  _____________________________________________________________

βž– Deleting Diet Goals:

delete-diet-goal

You can delete your diet goals in AtheltiCLI by deleting the goal at the specified index. This index will be referenced via list-diet-goal command.

Syntax:

Parameters:

Examples:

Example of Usage:

____________________________________________________________
 These are your goal(s):

 	1. [HEALTHY]  WEEKLY calories intake progress: (0/500)

	2. [HEALTHY]  WEEKLY fat intake progress: (0/600)

 Now you have 2 diet goal(s).
____________________________________________________________

> delete-diet-goal 1
____________________________________________________________
 The following goal has been deleted:

 [HEALTHY]  WEEKLY calories intake progress: (0/500)

____________________________________________________________

πŸ“… Listing Diet Goals:

list-diet-goal

You can list all your diet goals in AtheltiCLI.

Syntax:

Examples:

Example of Usage:

> list-diet-goal
____________________________________________________________
 These are your goal(s):

 	1. [HEALTHY]  WEEKLY fat intake progress: (0/600)

 Now you have 1 diet goal(s).
____________________________________________________________

βš™οΈοΈ Editing Diet Goals:

edit-diet-goal

You can edit the target value of your diet goals in AtheltiCLI, redefining the target value for the specified nutrient.

This command takes in at least 2 arguments. You are able to edit multiple diet goals target value of the same time frame at once. No repetition is allowed. The diet goal needs to be present before any edits is allowed.

Do note that you can only set up to the value 999999 and the maximum accumulated value from diets is 1000000.

Syntax:

Parameters:

Note: At least one of the nutrients (CALORIES,PROTEIN,CARB,FAT) must be present!

Note: The target value for a weekly goal must be greater than the target value of a daily goal of the same nutrient!

You can edit one or multiple nutrient goals with this command.

Examples:

Example of Usage:

____________________________________________________________
 These are your goal(s):

 	1. [HEALTHY]  WEEKLY fat intake progress: (0/600)

 Now you have 1 diet goal(s).
____________________________________________________________

> edit-diet-goal WEEKLY fat/50
____________________________________________________________
 These are your goal(s):

 	1. [HEALTHY]  WEEKLY fat intake progress: (0/50)

 Now you have 1 diet goal(s).
____________________________________________________________

πŸ›Œ Sleep Management

βž• Adding Sleep:

add-sleep

You can record your sleep timings in AtheltiCLI by adding your sleep start and end time. It also automagically calculates for you the duration of your sleep, as well as the sleep date.

Syntax:

Parameters:

Examples:

Take note that all sleep entries have an associated date.

All sleep entries with a start time before 06:00 will be taken to represent the previous days sleep.


πŸ“… Listing Sleep:

list-sleep

You can see all your tracked sleep records in a list by using this command.

Syntax: list-sleep

Example: list-sleep


βž– Deleting Sleep:

delete-sleep

Accidentally added a sleep record? You can quickly delete sleep records by using the following command. The index must be a positive number and is not larger than the number of sleep records recorded.

Syntax:

Parameters:

Examples:

Assuming that there are 5 sleep records in the list:


βš™οΈοΈ Editing Sleep:

edit-sleep

You can modify existing sleep records in AtheltiCLI by specifying the sleep’s index and then providing the new start and end times.

Syntax:

Parameters:

Examples:

Assuming that there are 5 sleep records in the list:


πŸ” Finding Sleep:

find-sleep DATE

You can find your sleep record on a specific date in AtheltiCLI.

Syntax:

Parameters:

Examples:


🎯 Setting Sleep Goals:

set-sleep-goal

You can set goals for your sleep AthletiCLI by setting the target duration specified in minutes. Tracking can be done for the past day, week, month or year.

NOTE: Only one sleep goal can be set for each time period.

Syntax:

Parameters:

Examples:


πŸ“… Editing Sleep Goals:

edit-sleep-goal

You can edit your already set sleep goals by mentioning the type, period, and target of the goal you want to edit.

Syntax:

Parameters:

Examples:


πŸ“… Listing Sleep Goals:

list-sleep-goal

You can list all your sleep goals in AthletiCLI and see your progress towards them.


Miscellaneous

πŸ” Finding Records:

You can find all your records, including activities, sleeps, and diets, on a specific date in AtheltiCLI.

Syntax:

Parameters:

Example:


πŸ“¦ Saving Files:

You can save files while using AthletiCLI if you want to, rather than waiting until the AthletiCLI exits to automatically save them.

Syntax:


πŸ‘‹ Exiting AthletiCLI:

You can use the bye command at any time to safely store the file and exit AthletiCLI.

Syntax:


ℹ️ Viewing Help Messages:

If you forget a command, you can always use the help command to see their syntax.

Syntax:

Parameters:

Examples:


FAQ

Q: Am I allowed to update the storage files?

A: While it is generally advisable not to edit the contents of the storage file, you do have the option to make updates. Please exercise caution when doing so. Incorrect edits to the storage file can result in data loss. If AthleticCLI encounters incorrect format of the file contents, it will prompt you to exit using the bye command. Continuing with the program in such cases will lead to the deletion of all data in the file.


Summary of Commands

Activity Management

Command Syntax Parameters Examples
add-activity add-activity CAPTION duration/DURATION distance/DISTANCE datetime/DATETIME CAPTION, DURATION, DISTANCE, DATETIME add-activity Morning Run duration/01:00:00 distance/10000 datetime/2021-09-01 06:00
add-run add-run CAPTION duration/DURATION distance/DISTANCE datetime/DATETIME elevation/ELEVATION CAPTION, DURATION, DISTANCE, DATETIME, ELEVATION add-run NY Marathon duration/03:33:17 distance/42125 datetime/2023-11-05 07:00
add-swim add-swim CAPTION duration/DURATION distance/DISTANCE datetime/DATETIME style/STYLE CAPTION, DURATION, DISTANCE, DATETIME, STYLE add-swim Evening Swim duration/01:00:00 distance/1000 datetime/2023-10-16 20:00 style/freestyle
add-cycle add-cycle CAPTION duration/DURATION distance/DISTANCE datetime/DATETIME elevation/ELEVATION CAPTION, DURATION, DISTANCE, DATETIME, ELEVATION add-cycle Evening Ride duration/02:00:00 distance/20000 datetime/2021-09-01 18:00 elevation/1000
delete-activity delete-activity INDEX INDEX delete-activity 2
list-activity list-activity [-d] -d list-activity, list-activity -d
edit-activity edit-activity INDEX [caption/CAPTION] [duration/DURATION] [distance/DISTANCE] [datetime/DATETIME] INDEX, CAPTION, DURATION, DISTANCE, DATETIME edit-activity 1 caption/Morning Run distance/10000
edit-run Similar to edit-activity but with elevation. Same as edit-activity with ELEVATION -
edit-swim Similar to edit-activity but with style.
Same as edit-activity with STYLE -
edit-cycle Similar to edit-activity but with elevation. Same as edit-activity with ELEVATION edit-cycle 2 datetime/2021-09-01 18:00 elevation/1000
find-activity find-activity DATE DATE find-activity 2021-09-01
set-activity-goal set-activity-goal sport/SPORT type/TYPE period/PERIOD target/TARGET SPORT, TYPE, PERIOD, TARGET set-activity-goal sport/running type/distance period/weekly target/10000
edit-activity-goal edit-activity-goal sport/SPORT type/TYPE period/PERIOD target/TARGET SPORT, TYPE, PERIOD, TARGET edit-activity-goal sport/running type/distance period/weekly target/20000
list-activity-goal list-activity-goal None list-activity-goal
delete-activity-goal delete-activity-goal sport/SPORT type/TYPE period/PERIOD SPORT, TYPE, PERIOD delete-activity-goal sport/running type/distance period/weekly

Diet Management

Command Syntax Parameters Examples
add-diet add-diet calories/CALORIES protein/PROTEIN carb/CARB fat/FAT datetime/DATETIME CALORIES, PROTEIN, CARB, FAT, DATETIME add-diet calories/500 protein/20 carb/50 fat/10 datetime/2021-09-01 06:00
edit-diet edit-diet INDEX [calories/CALORIES] [protein/PROTEIN] [carb/CARB] [fat/FAT] [datetime/DATETIME] INDEX, [CALORIES], [PROTEIN], [CARB], [FAT], [DATETIME] edit-diet 1 calories/500 protein/20 carb/50 fat/10 datetime/2021-09-01 06:00
delete-diet delete-diet INDEX INDEX delete-diet 1
list-diet list-diet None list-diet
find-diet find-diet DATE DATE find-diet 2021-09-01
set-diet-goal set-diet-goal <DAILY/WEEKLY> [unhealthy] [calories/CALORIES] [protein/PROTEIN] [carb/CARB] [fat/FAT] DAILY/WEEKLY, [unhealthy], [CALORIES], [PROTEIN], [CARB], [FAT] set-diet-goal WEEKLY calories/500 fat/600
edit-diet-goal edit-diet-goal <DAILIY/WEEKLY> [unhealthy] [calories/CALORIES] [protein/PROTEIN] [carb/CARB] [fat/FAT] DAILY/WEEKLY, [unhealthy], [CALORIES], [PROTEIN], [CARB], [FAT] edit-diet-goal WEEKLY calories/500 fat/600
delete-diet-goal delete-diet-goal INDEX INDEX delete-diet-goal 1
list-diet-goal list-diet-goal None list-diet-goal

Sleep Management

Command Syntax Parameters Examples
add-sleep add-sleep start/START end/END START, END add-sleep start/2023-01-20 02:00 end/2023-01-20 08:00
list-sleep list-sleep None list-sleep
delete-sleep delete-sleep INDEX INDEX delete-sleep 1
edit-sleep edit-sleep INDEX start/START end/END INDEX, START, END edit-sleep 1 2023-01-20 02:00 2023-01-20 08:00
find-sleep find-sleep DATE DATE find-sleep 2021-09-01
set-sleep-goal set-sleep-goal type/TYPE period/PERIOD target/TARGET TYPE, PERIOD, TARGET set-sleep-goal type/duration period/daily target/420
edit-sleep-goal edit-sleep-goal type/TYPE period/PERIOD target/TARGET TYPE, PERIOD, TARGET edit-sleep-goal type/duration period/daily target/360
list-sleep-goal list-sleep-goal None list-sleep-goal

Miscellaneous

Command Syntax Parameters Examples
find find DATE DATE find 2023-11-01
save save None save
bye bye None bye
help help [COMMAND] [COMMAND] help, help add-diet