https://github.com/sectore/fit-activities-tui
Activities of FIT files in your terminal. Works nice with @WahooFitness devices.
https://github.com/sectore/fit-activities-tui
bubbletea fit-file golang wahoo
Last synced: 9 months ago
JSON representation
Activities of FIT files in your terminal. Works nice with @WahooFitness devices.
- Host: GitHub
- URL: https://github.com/sectore/fit-activities-tui
- Owner: sectore
- License: mit
- Created: 2025-05-20T15:46:20.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-16T18:42:38.000Z (9 months ago)
- Last Synced: 2025-09-16T21:31:35.285Z (9 months ago)
- Topics: bubbletea, fit-file, golang, wahoo
- Language: Go
- Homepage:
- Size: 5.13 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fit-activities-tui
**Activities** of **[FIT](https://developer.garmin.com/fit/overview/)** ([Flexible and Interoperable Data Transfer](https://developer.garmin.com/fit/overview/)) files in your **terminal**.
Handles as much FIT files as you want: Summary, details, filter and sort. It's fast. Free and open source.
Works nice with [Wahoo Fitness](http://wahoofitness.com) devices. Tested with [ELEMNT BOLT 3](https://support.wahoofitness.com/hc/en-us/articles/26243351942290-ELEMNT-BOLT-3-2025-Product-Information).
Built with [Go](https://go.dev), [Bubble Tea](https://github.com/charmbracelet/bubbletea/) and ♥.
# Table of Contents
- [Preview](./#preview)
- [CLI](./#cli)
- [Keybindings](./#keybindings)
- [Installation](./#installation)
- [Development](./#development)
- [License](./#license)
# Preview
## Summary
## Review live data (real time)
# CLI
```sh
fit-activities-tui --help
Usage:
fit-activities-tui [flags]
Flags:
-h, --help help for fit-activities-tui
-i, --import string path to single FIT file or directory of FIT files to import
--log enable logging to store logs into 'debug.log'
```
# Keybindings
## Menu
| Key | Description |
| --- | --- |
| m | Toggle menu |
## Actions
| Key | Description |
| --- | --- |
| l | toggle live data |
| ctrl+alt+r | re-import file(s) |
| q | quit |
In `live data` view
| Key | Description |
| --- | --- |
| SPACE | toggle play / pause |
| r | reset current record count |
| ctrl+r | reset all record counts |
## List
| Key | Description |
| --- | --- |
| ↑ | previous activity |
| ↓ | next activity |
| g | first activity |
| G | last activity |
| ← or → | switch pages |
## Filter
| Key | Description |
| --- | --- |
| / | start filter |
| ENTER | apply filter |
| ESC | cancel filter |
## Sort
| Key | Description |
| --- | --- |
| ctrl+d | sort by distance |
| ctrl+t | sort by start time |
## Live data
| Key | Description |
| --- | --- |
| l | show / hide |
| SPACE | play / pause |
| r | reset current record count |
| ctrl+r | reset all record counts |
While `playing`
| Key | Description |
| --- | --- |
| 1-9 | 1-9x speed |
| 0 | 10x speed |
| right | increase speed |
| ctrl+right | fast forward (ffw) |
| left | decrease speed |
While `paused`
| Key | Description |
| --- | --- |
| right | next record |
| ctrl+right | fast forward (ffw) records |
| left | previous record |
| ctrl+left | rewind (rwd) records |
# Installation
TBD
# Development
## Requirements
### Nix users (recommend)
`cd` into root directory.
If you have [`direnv`](https://direnv.net) installed, run `direnv allow` once to install dependencies. In other case run `nix develop`.
### Non Nix users
- [`Go`](https://go.dev/doc/install)
- [`Staticcheck`](https://staticcheck.dev)
- [`just`](https://just.systems)
```sh
just
Available recipes:
default # list commands
[demo]
demo # Build an animated `demo.gif`. Run this command with $IMPORT_PATH={directory-of-FIT-files} defined to point to FIT files you want to use for the demo. [alias: d]
[dev]
run path # Runs the app by importing FIT files from given path. [alias: r]
```
### Build
TBD
# License
[MIT License](./LICENSE)