UPDATED TO USE Toggl v9 API
A command line interface for toggl written in node, based on the python TogglCli project. Attempting to use similar syntax.
This was made possible because saintedlama had already built a node API for toggl.
You can create the .toggl-cli.json
in your home directory manually using the template below or with the toggl create-config
command. The values can be found in your Toggl profile and from the URL for your account settings. The current workspace id is https://track.toggl.com/${workspace_id}}/settings/general
. Don't forget to change the permissions chmod 600
so that only you can read/write the configuration file as it has your API token.
{
"api_token": "",
"default_workspace_id": "",
"timezone": "",
"default_project_id": ""
}
Configure your environment, with environment variables or a .env
file in the project root. Environment variables will take precedence over a config file.
-
TOGGL_API_TOKEN
(required) -
TOGGL_DEFAULT_WORKSPACE_ID
(required) -
TOGGL_DEFAULT_PROJECT_ID
(optional) -
TOGGL_TIMEZONE=America/Los_Angeles
(defaults toAmerica/New_York
)
Feature | Available | Comments |
---|---|---|
Start time entry | ✅ | |
Start time entry with description | ✅ | |
Start time entry with project | ✅ | |
stop time entry | ✅ | |
Continue named time entry | ✅ | |
Report today by project | ✅ | |
Report this week by project by day | ✅ | |
Edit current time entry | ✅ | |
Use config from file | ✅ | |
Save config to file | ✅ | |
Refactor: Display and format modules | ||
Client: reset PAT | Is this really necessary? | |
Client: specify client name | ✅ | |
Colorize output | ✅ | |
Better table output | ✅ | |
List recent time entries | ✅ | |
Command line completion | ✅ | #6 |
Delete time entry by id | ✅ | Contributed by @benthayer #160 |
Edit other time entries than the current | ||
Display earlier time entries | ||
Add a completed time entry with start and end times | ✅ | Contributed by @benthayer #165 |
Overlap detection on editing or adding entries | Issue #134 |
There are several features that I do not use from Toggl, so including them is a priority for me. I'm not opposed to them being in there and would welcome contributions to include them.
- tags
- multiple workspaces
- billable
I need to clean up and refactor the code and establish a few more helper and utility functions, but I'm open to contributions!
Thanks goes to these wonderful people (emoji key):
Ben Thayer 💻 |
Christoph Walcher 🔧 📆 |
This project follows the all-contributors specification. Contributions of any kind welcome!