The Open Source, Self-Hosted WakaTime Alternative. "Time is what we want most, but what we use worst."
TakaTime now includes a fully interactive, terminal-based dashboard directly inside your editor. View your coding stats, language breakdowns, and project times without ever leaving your workflow or opening a browser.
How to open the dashboard:
Ctrl+Shift+P / Cmd+Shift+P) and run TakaTime: Open Dashboard.:TakaDash to open the floating UI.TakaTime is built to be cross-platform and editor-agnostic. Both plugins share the same core Go binaries, ensuring a consistent experience.
| Feature | Neovim | VS Code | Antigravity | OS Support |
|---|---|---|---|---|
| Background Uploader | ✓ Supported | ✓ Supported | ✓ Supported | Windows, macOS, Linux |
| Interactive Dashboard | ✓ Supported | ✓ Supported | ✓ Supported | Windows, macOS, Linux |
| Profile Stats Reporter | ✓ Supported | ✓ Supported | ✓ Supported | Windows, macOS, Linux |
| Privacy Controls | ✓ Supported (.takaignore, .takatrack) |
⚙ Planned (Future Release) | ⚙ Planned (Future Release) | All OS |
(Note: Privacy controls for VS Code and Antigravity are currently in active development and will be rolling out soon!)
https://github.com/user-attachments/assets/a3c492d8-898c-497a-bc0c-c2f8ebc5d03b
https://github.com/user-attachments/assets/edf09531-ed66-4709-9b78-5edc90843510
Add this to your plugin configuration:
return {
"Rtarun3606k/TakaTime",
lazy = false,
config = function()
-- Optional: Enable debug mode if you run into issues
require("taka-time").setup({
debug = false
})
end,
}
https://github.com/user-attachments/assets/da108968-c204-486b-9969-bf5ff24b0835
.vsix).vsix file you just downloaded.TakaTime: Setup command (or click the status bar) and enter your MongoDB Connection String.You need a MongoDB connection string. You have two free options:
(if you want github Stats its required)Open Neovim.
Run the setup command: Vim Script
:TakaInit
Paste your MongoDB Connection String when prompted. (This is saved securely in your local data folder, ~/.local/share/nvim/taka_data.json).
Run the status command to check if everything is working: Vim Script
:TakaStatus
If it says "TakaTime is configured and running," you are good to go!
TakaTime now includes a fully interactive, terminal-based dashboard directly inside your editor. View your coding stats, language breakdowns, and project times without ever leaving your workflow or opening a browser.
How to open the dashboard:
VS Code: Click the Graph Icon in the top-right corner of your editor tab, or use the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run TakaTime: Open Dashboard.
:TakaDashboard
TakaTime comes with a report generator that works with GitHub Actions to update your Profile README automatically.
Prepare your Profile Repo
Go to your GitHub Profile Repository (the one named username/username).
Go to Settings > Secrets and variables > Actions.
Add a New Repository Secret named MONGO_URI with your connection string.
(Optional) Add GIST_TOKEN if you plan to use Gists (not required for direct README updates).
Add the Markers
<!--takatime-start-->
<h2 align="center">TakaTime Weekly Report</h2>
<p align="center">
<img src="./public/taka-time.png" width="100%" alt="Time Stats" /><br/>
<img src="./public/taka-languages30.png" width="400" alt="Languages" />
<img src="./public/taka-projects30.png" width="400" alt="Projects" /><br/>
<img src="./public/taka-languages.png" width="400" alt="Languages" />
<img src="./public/taka-projects.png" width="400" alt="Projects" /><br/>
<img src="./public/taka-tech.png" width="100%" alt="Tech Stack" />
</p>
<p align="center"><em>Generated automatically by <a href="https://github.com/Rtarun3606k/TakaTime">TakaTime</a></em></p>
<!--takatime-end-->
Create a file in your repo at .github/workflows/update-stats.yml and paste this content:
name: Update TakaTime Stats
on:
schedule:
- cron: "0 0 * * *" # Runs every midnight UTC
workflow_dispatch: # Allows manual trigger
jobs:
update-readme:
runs-on: ubuntu-latest
permissions:
contents: write # Needed to download releases
steps:
- name: Download Taka-Report Binary
env:
GH_TOKEN: ${{ github.token }}
run: |
# Downloads the latest stable binary
gh release download --repo Rtarun3606k/TakaTime --pattern "taka-report-linux-amd64" --output taka-report
chmod +x taka-report
- name: Generate Report & Update Profile
env:
MONGO_URI: ${{ secrets.MONGO_URI }}
GIST_TOKEN: ${{ github.token }}
TARGET_REPO: ${{ github.repository }}
run: ./taka-report -days=7
Note: This workflow downloads the taka-report tool and runs it against your database to generate stats.
Taka-Report supports full customization through command-line flags. You can choose from pre-built themes or override specific colors to match your GitHub profile aesthetic.
Use the -theme flag to apply a pre-configured color palette.
Default: dark
| Theme | Description |
|---|---|
dark |
GitHub Dark Dimmed (Default) |
light |
GitHub Light |
dracula |
Dracula Color Palette |
nord |
Nord Winter Color Palette |
gruvbox |
Gruvbox Retro |
monokai |
Monokai Vivid |
cyberpunk |
High Contrast Neon |
tokyonight |
Tokyo Night Deep Blue Palette |
everforest |
Everforest Soft Nature Theme |
iceberg |
Iceberg Cool Minimal Blues |
sunset |
Warm Sunset Gradient Colors |
deepocean |
Deep Ocean Dark Blue Theme |
midnight |
Midnight Purple Developer Theme |
catppuccin |
Catppuccin Mocha Pastel Palette |
solarized |
Solarized Dark Classic Palette |
onedark |
OneDark Pro VSCode Style |
material |
Material Dark UI Theme |
synthwave |
Retro Synthwave Neon Colors |
**Usage Example:**
```bash
./taka-report -theme nord
```
You can pass these flags to the taka-report binary to control the data scope and visual style of your report.
| Flag | Type | Default | Description |
|---|---|---|---|
-days |
int |
0 |
Data Scope: No longer in use just set it to Zero 0 |
-theme |
string |
"dark" |
Base Theme: Selects a pre-configured color palette. Options: dark, light, dracula, nord, gruvbox, monokai, cyberpunk |
-bg |
hex |
Theme | Background: Overrides the main card background color. |
-text |
hex |
Theme | Primary Text: Overrides the color of main headers and key statistics. |
-subtext |
hex |
Theme | Secondary Text: Overrides the color of labels, timestamps, and axis text. |
-bar-bg |
hex |
Theme | Bar Background: Overrides the color of the empty/unfilled portion of progress bars. |
-c1 |
hex |
Theme | Primary Accent: Used for the highest values (e.g., "All Time" stat) and primary progress bars. |
-c2 |
hex |
Theme | Secondary Accent: Used for medium-high values (e.g., "Last 30 Days"). |
-c3 |
hex |
Theme | Tertiary Accent: Used for medium-low values (e.g., "Last 7 Days"). |
-c4 |
hex |
Theme | Quaternary Accent: Used for the lowest values (e.g., "Yesterday") or distinct highlights. |
Note: Color overrides (like
-bg) take precedence over the base-theme. You can start with-theme draculaand then just change the background with-bg "#000000".
Exapmle use Neon Theme :
./taka-report -days=7 -bg "#0d1117" -text "#00FF00" -subtext "#008800" -bar-bg "#111111" -c1 "#00FF00" -c2 "#00DD00" -c3 "#00AA00" -c4 "#005500"
Click S to select themes
"TakaTime is not configured"
Run :TakaInit again and ensure your URI is correct.
Check if the secret file exists: ~/.local/share/nvim/taka_data.json.
Upload Failed / Syncing Forever
Enable debug mode in your config:
return {
"Rtarun3606k/TakaTime",
lazy = false,
config = function()
-- Optional: Enable debug mode if you run into issues
require("taka-time").setup({
debug = true
})
end,
}
Run :messages in Neovim to see the logs.
Ensure your IP address is whitelisted in MongoDB Atlas.
If you are still facing issues, TakaTime maintains a persistent log file that tracks all binary operations, network requests, and errors.
Log Location:
Linux/macOS: ~/.takatime/debug-logs.log
Windows: C:\Users\<YourUser>\.takatime\debug-logs.log
Reporting an Issue: If you open a GitHub Issue, please attach this log file (or paste the last 50 lines). It helps us fix bugs 10x faster!
For Changes Look for CHANGELOG.md
Active Beta: This project is currently in active development. We might introduce breaking changes in future updates as we refine the architecture. Use at your own risk.
Documentation: This documentation was generated with the assistance of AI. While we strive for accuracy, there may be minor errors or typos.
Feedback: If you encounter any bugs, have feature requests, or notice documentation errors, please feel free to open an issue or report it to Rtarun3606k.
Thanks to all contributors who made this project possible!
MIT License. See LICENSE for details.