{"id":44624525,"url":"https://github.com/boris721/momo-cli","last_synced_at":"2026-02-14T15:04:26.190Z","repository":{"id":338230644,"uuid":"1157102693","full_name":"boris721/momo-cli","owner":"boris721","description":"CLI for momo.coach time tracking API","archived":false,"fork":false,"pushed_at":"2026-02-13T14:40:38.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-13T21:39:53.134Z","etag":null,"topics":["cli","momo","nodejs","productivity","stopwatch","timetracking"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boris721.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-13T12:39:09.000Z","updated_at":"2026-02-13T14:42:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/boris721/momo-cli","commit_stats":null,"previous_names":["boris721/momo-cli"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/boris721/momo-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris721%2Fmomo-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris721%2Fmomo-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris721%2Fmomo-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris721%2Fmomo-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boris721","download_url":"https://codeload.github.com/boris721/momo-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boris721%2Fmomo-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29447768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T14:10:32.461Z","status":"ssl_error","status_checked_at":"2026-02-14T14:09:49.945Z","response_time":53,"last_error":"SSL_read: 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":["cli","momo","nodejs","productivity","stopwatch","timetracking"],"created_at":"2026-02-14T15:03:54.622Z","updated_at":"2026-02-14T15:04:26.185Z","avatar_url":"https://github.com/boris721.png","language":"JavaScript","readme":"# ⏱️ momo-cli\n\n[![Node.js](https://img.shields.io/badge/Node.js-18%2B-339933?logo=node.js)](https://nodejs.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n**Command-line interface for [momo.coach](https://momo.coach) time tracking.**\n\nTrack your work hours from the terminal. Start a stopwatch, log time to projects, and view your daily timelogs — all without leaving the command line.\n\n---\n\n## ✨ Features\n\n- **Stopwatch** — Start, pause, and stop a running timer\n- **Time logging** — Log time to projects with descriptions\n- **Manual entries** — Add time entries directly (HH:MM format)\n- **Daily status** — View today's timelogs with colored project indicators\n- **Project CRUD** — Create, list, update, and delete projects with custom colors\n- **Timelog management** — Delete incorrect timelogs\n- **Zero dependencies** — Uses only Node.js built-in modules (native `fetch`)\n- **Config-driven** — Credentials stored in `~/.config/momo-cli/`\n- **AI-friendly** — Full CLI for automation and AI assistants 🤖\n\n---\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Node.js 18+ (uses native `fetch`)\n- A [momo.coach](https://momo.coach) account\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/boris721/momo-cli.git\ncd momo-cli\n\n# Make it available globally\nnpm link\n```\n\n### Setup\n\nGet your API credentials from your momo.coach account settings, then:\n\n```bash\n# Store credentials\nmomo auth \u003csecret_key\u003e \u003cclient_id\u003e\n\n# Verify authentication\nmomo auth status\n```\n\n---\n\n## 🔧 CLI Commands\n\n### Stopwatch\n\n```bash\nmomo sw              # Show current stopwatch status\nmomo sw start        # Start the stopwatch\nmomo sw pause        # Pause the stopwatch\nmomo sw stop         # Stop and reset stopwatch\n```\n\n### Logging Time\n\n```bash\n# Using the stopwatch (logs elapsed time, then resets)\nmomo sw start\n# ... work ...\nmomo log myproject \"What I worked on\"\n\n# Manual time entry\nmomo log 01:30 myproject \"1.5 hours of work\"\n```\n\n### Daily Status\n\n```bash\nmomo status          # Show today's timelogs\nmomo status --ids    # Show timelogs with IDs (for deletion)\n```\n\nOutput:\n```\nTimelogs for 2026-02-13:\n  ██  01:00  [momo]      \"API development\"\n  ██  00:30  [momo-cli]  \"CLI improvements\"\n  ██  00:45  [admin]     \"Email setup\"\n  ─────────────────────────\n  02:15  TOTAL\n```\n\nEach timelog shows a colored square matching the project color.\n\n### Delete Timelogs\n\n```bash\nmomo status --ids                              # Get timelog IDs\nmomo timelog delete \u003cid\u003e --force               # Delete a timelog\n```\n\n### Projects\n\n```bash\nmomo project list                              # List all projects\nmomo project add \"New Project\"                 # Create project\nmomo project add \"Client X\" --color #3498db    # With color\nmomo project add \"Side Project\" --description \"Weekend hacking\"\nmomo project update \"Client X\" --color #e74c3c # Update color\nmomo project update \"Client X\" --description \"New desc\"\nmomo project delete \"Old Project\" --force      # Delete project\n```\n\n### Colors\n\n```bash\nmomo colors          # Show available colors for projects\n```\n\n### Other\n\n```bash\nmomo help            # Show help\nmomo --version       # Show version\n```\n\n---\n\n## ⚙️ Configuration\n\nCredentials are stored in `~/.config/momo-cli/config.json`:\n\n```json\n{\n  \"secret\": \"sk-...\",\n  \"clientId\": \"momo-...\"\n}\n```\n\n---\n\n## 🏗️ Architecture\n\n```\nbin/\n  momo               # CLI entry point\nlib/\n  api.js             # HTTP client for momo.coach API\n  commands.js        # Command implementations\n  config.js          # Config loading/saving\n  format.js          # Time formatting utilities\ntest/\n  *.test.js          # Unit tests\n```\n\n---\n\n## 📡 API Reference\n\nBase URL: `https://api.momo.coach`\n\nAuthentication headers:\n- `Authorization: Bearer \u003csecret\u003e`\n- `Clientid: \u003cclient_id\u003e`\n\n| Endpoint | Method | Description |\n|---|---|---|\n| `/stopwatch` | GET | Get stopwatch state |\n| `/stopwatch` | POST | Start stopwatch |\n| `/stopwatch` | PUT | Pause stopwatch |\n| `/stopwatch` | DELETE | Stop/reset stopwatch |\n| `/time` | POST | Create timelog |\n| `/time/delete` | POST | Delete timelog `{id}` |\n| `/time/range/from/{from}/to/{to}` | GET | Get timelogs for date range |\n| `/project` | GET | List projects |\n| `/project` | POST | Create project |\n| `/project` | PUT | Update project |\n| `/project/delete` | POST | Delete project `{id}` |\n| `/color` | GET | List available colors |\n\n---\n\n## 🧪 Testing\n\n```bash\nnpm test\n```\n\nTests use Node.js built-in test runner.\n\n---\n\n## 📄 License\n\n[MIT](LICENSE) © 2026 Boris \u0026 Paul Panserrieu\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboris721%2Fmomo-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboris721%2Fmomo-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboris721%2Fmomo-cli/lists"}