{"id":36469331,"url":"https://github.com/hackclub/terminal-wakatime","last_synced_at":"2026-01-12T00:32:22.188Z","repository":{"id":297236387,"uuid":"996113384","full_name":"hackclub/terminal-wakatime","owner":"hackclub","description":"Track your time in the terminal!","archived":false,"fork":false,"pushed_at":"2025-08-05T10:53:47.000Z","size":160,"stargazers_count":19,"open_issues_count":3,"forks_count":5,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-04T22:32:11.701Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hackclub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-04T13:27:16.000Z","updated_at":"2025-08-05T13:20:09.000Z","dependencies_parsed_at":"2025-06-04T20:45:14.588Z","dependency_job_id":"5f0da5f9-3219-4f8c-a121-0dcc28b4be65","html_url":"https://github.com/hackclub/terminal-wakatime","commit_stats":null,"previous_names":["hackclub/terminal-wakatime"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/hackclub/terminal-wakatime","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fterminal-wakatime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fterminal-wakatime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fterminal-wakatime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fterminal-wakatime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackclub","download_url":"https://codeload.github.com/hackclub/terminal-wakatime/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fterminal-wakatime/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28329797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:13:06.322Z","status":"ssl_error","status_checked_at":"2026-01-12T00:04:50.725Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-12T00:32:19.073Z","updated_at":"2026-01-12T00:32:22.180Z","avatar_url":"https://github.com/hackclub.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `terminal-wakatime`\n\nTrack your time in bash, zsh, and fish with WakaTime! Better alternative to the WakaTime desktop app. Built by [@zachlatta](https://github.com/zachlatta).\n\n## Quick Setup (30 seconds)\n\n```bash\ncurl -fsSL http://hack.club/terminal-wakatime.sh | bash\n```\n\nThis installs `terminal-wakatime` to `~/.wakatime/terminal-wakatime` and adds `eval \"$(terminal-wakatime init)\"` to your `~/.bashrc`, `~/.zshrc`, or `~/.config/fish/config.fish`.\n\nThat's it. Your terminal work in **bash, zsh, and fish** now gets properly tracked in WakaTime with correct project detection.\n\n## The Problem with WakaTime Desktop App\n\nYou spend 3 hours coding, but WakaTime only shows 2 hours because:\n\n- ❌ **Can't see terminal work** - Git commits, vim editing, testing, debugging = invisible\n- ❌ **Wrong project names** - Everything becomes `\u003c\u003cLAST_PROJECT\u003e\u003e`\n- ❌ **Misses development work** - `git commit`, `tmux` sessions don't count as coding time\n\n**`terminal-wakatime` fixes all of this.** It properly tracks your terminal sessions with accurate project detection and file-level detail.\n\n## Works With Your Existing Plugins\n\n✅ **Vim plugin** still tracks detailed keystrokes and cursor movement  \n✅ **VSCode plugin** still tracks file edits and project switching  \n✅ **`terminal-wakatime`** adds the missing terminal sessions, git work, and project context\n\n**No conflicts.** They work together to give you complete tracking.\n\n## Before vs After\n\n**Before `terminal-wakatime` (WakaTime Desktop App Only):**\n\n```\nToday's Coding Time: 2h 30m\n├── VSCode: 2h 15m (my-website)\n└── Terminal: 15m (\u003c\u003cLAST_PROJECT\u003e\u003e)\n```\n\n*Missing: 4+ hours of git work, vim editing, testing, and debugging*\n\n**After `terminal-wakatime`:**\n\n```\nToday's Coding Time: 6h 45m\n├── VSCode: 2h 15m (my-website) \n├── Terminal: 3h 30m (my-website)\n│   ├── Git operations: 45m\n│   ├── Vim editing: 2h 10m  \n│   └── Testing/debugging: 35m\n└── Terminal: 1h (hackclub-bot)\n    └── Python scripting: 1h\n```\n\n*Now tracking your complete development workflow with correct project names*\n\n## What Gets Tracked\n\n**Files \u0026 Editing:**\n\n- `vim src/app.js` → Tracks file editing time in correct project\n- `nano README.md` → Counts toward your coding time\n- File saves and project switching\n\n**Development Tools:**\n\n- `git commit`, `git push` → Tracked as code review time\n- `npm test`, `cargo build` → Tracked as debugging time  \n- `docker run`, `ssh server` → Tracked appropriately\n\n**Project Detection:**\n\n- Automatically detects project from your current directory\n- Works with Git repos, package.json, Cargo.toml, etc.\n- No more \"Unknown Project\" in your stats\n\n## Installation Options\n\n### Quick Install (Recommended)\n\n```bash\ncurl -fsSL http://hack.club/tw.sh | bash\n```\n\n### Manual Install\n\nDownload from [releases](https://github.com/hackclub/terminal-wakatime/releases), then:\n\n```bash\n# Add to your shell config (~/.bashrc, ~/.zshrc, etc.)\neval \"$(terminal-wakatime init)\"\n```\n\n### Package Managers\n\nFor all of your favorite package managers don't forget to activate the packge with the following in your shell config:\n\n```bash\neval \"$(terminal-wakatime init)\"\n```\n\n## Go\n\n```bash\n# Go\ngo install github.com/hackclub/terminal-wakatime/cmd/terminal-wakatime@latest\n```\n\n### Nix\n\n```bash\n# Direct installation with flakes enabled\nnix profile install github:hackclub/terminal-wakatime\n```\n\nFor use in your own flake:\n\n```nix\n# In your flake.nix\n{\n  inputs.terminal-wakatime.url = \"github:hackclub/terminal-wakatime\";\n  \n  outputs = { self, nixpkgs, terminal-wakatime, ... }: {\n    # Access the package as:\n    # terminal-wakatime.packages.${system}.default\n  };\n}\n```\n\n## Configuration\n\n**WakaTime API Key Setup:**\n\nOptionally manually set your API key. If you're using [Hackatime](https://hackatime.hackclub.com), this is already done automatically by the [Hackatime setup script](https://hackatime.hackclub.com/my/wakatime_setup) and you can ignore this.\n\n```bash\nterminal-wakatime config --key YOUR_WAKATIME_KEY\n```\n\n**Basic Options:**\n\n```bash\n# Set custom project name for current directory\nterminal-wakatime config --project my-awesome-project\n\n# Test your setup\nterminal-wakatime test\n```\n\n## How It Works\n\n`terminal-wakatime` hooks into your shell to detect:\n\n1. **When you start working** in a directory (project detection)\n2. **What files you're editing** (vim, nano, code commands)  \n3. **What tools you're using** (git, npm, python, etc.)\n\nIt sends this data to WakaTime using the same format as other plugins, so everything appears seamlessly in your dashboard.\n\n## Editor Plugin Suggestions\n\nWhen you use editors like `vim` or `code`, `terminal-wakatime` will suggest installing the dedicated plugin for better tracking:\n\n```\n💡 You're using Vim! Install vim-wakatime for detailed keystroke tracking:\n   https://github.com/wakatime/vim-wakatime\n   \n   `terminal-wakatime` will still track your session time.\n```\n\nYou can disable these suggestions:\n\n```bash\nterminal-wakatime config --disable-editor-suggestions\n```\n\n## Troubleshooting\n\n**Not tracking activity?**\n\n```bash\n# Check if properly installed\necho $PROMPT_COMMAND  # Should show terminal-wakatime\n\n# Verify API key\nterminal-wakatime config --show\n\n# Test connection\nterminal-wakatime test\n```\n\n**Wrong project names?**\n\n```bash\n# Check current project detection\nterminal-wakatime debug\n\n# Manually set project for this directory\nterminal-wakatime config --project my-project\n```\n\n**Issues with dependencies?**\n\n```bash\n# Check wakatime-cli status\nterminal-wakatime deps --status\n\n# Reinstall if needed\nterminal-wakatime deps --reinstall\n```\n\n## Why Not Just Use WakaTime Desktop App?\n\n**WakaTime Desktop App** only tracks window focus - it has no idea what you're actually doing in your terminal. When you're deep in a coding session doing `git commits`, `vim editing`, `npm test`, it just sees \"Terminal app is open\" with no context.\n\n**`terminal-wakatime`** hooks directly into your shell (Bash/Zsh/Fish) to track:\n\n- ✅ Actual commands and file editing\n- ✅ Correct project detection from your current directory  \n- ✅ Real coding time vs just having terminal open\n- ✅ Works alongside your existing editor plugins\n\n## Privacy\n\n- No file contents are ever sent\n- Only file paths, timestamps, and metadata\n- All data encrypted in transit\n- Same privacy model as other WakaTime plugins\n\n## Contributing\n\nBuilt for Hack Club's [Hackatime](https://hackatime.hackclub.com) community, but works with standard WakaTime. Pull requests welcome!\n\n```bash\ngit clone https://github.com/hackclub/terminal-wakatime\ncd terminal-wakatime\ngo test ./...\n```\n\n## Support\n\n- 🐛 [GitHub Issues](https://github.com/hackclub/terminal-wakatime/issues)\n- 💬 [Hack Club Slack](https://hackclub.com/slack) `#hackatime-dev` channel\n- 📖 [WakaTime Docs](https://wakatime.com/help)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackclub%2Fterminal-wakatime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackclub%2Fterminal-wakatime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackclub%2Fterminal-wakatime/lists"}