{"id":28330821,"url":"https://github.com/dholdaway/taskcache","last_synced_at":"2026-04-14T04:31:59.564Z","repository":{"id":294924923,"uuid":"988493392","full_name":"dholdaway/TaskCache","owner":"dholdaway","description":"Quick daily task logging CLI for developers to improve productivity and context switching. Sync with GitHub, search past work, and never lose track of what you were working on.","archived":false,"fork":false,"pushed_at":"2025-05-22T17:23:50.000Z","size":18,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T04:03:11.630Z","etag":null,"topics":["automation","cli","context-switching","daily-log","developer-tools","end-of-day","git-integration","knowledge-base","logging","markdown","nodejs","productivity","search","task-management","terminal"],"latest_commit_sha":null,"homepage":"","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/dholdaway.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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-05-22T16:17:18.000Z","updated_at":"2025-05-23T13:42:37.000Z","dependencies_parsed_at":"2025-05-29T08:49:07.189Z","dependency_job_id":null,"html_url":"https://github.com/dholdaway/TaskCache","commit_stats":null,"previous_names":["dholdaway/taskcache"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dholdaway/TaskCache","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dholdaway%2FTaskCache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dholdaway%2FTaskCache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dholdaway%2FTaskCache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dholdaway%2FTaskCache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dholdaway","download_url":"https://codeload.github.com/dholdaway/TaskCache/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dholdaway%2FTaskCache/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260658756,"owners_count":23043435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["automation","cli","context-switching","daily-log","developer-tools","end-of-day","git-integration","knowledge-base","logging","markdown","nodejs","productivity","search","task-management","terminal"],"created_at":"2025-05-26T17:42:10.542Z","updated_at":"2026-04-14T04:31:59.557Z","avatar_url":"https://github.com/dholdaway.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Cache\n\n\u003e Quick daily task logging for developers to improve productivity and context switching\n\n[![npm version](https://badge.fury.io/js/task-cache.svg)](https://badge.fury.io/js/task-cache)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nTask Cache is a simple command-line tool that helps developers track their daily progress in just a few minutes. By maintaining a structured log of what you did, what's next, and what issues occurred, you can dramatically reduce context switching costs and start each day with clarity.\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                    📝 Task Cache Demo                       │\n├─────────────────────────────────────────────────────────────┤\n│ $ tcache                                                    │\n│                                                             │\n│ 📝 Task Cache - Quick Daily Task Log                       │\n│ 💡 Tip: Use double spaces to create bullet points          │\n│                                                             │\n│ What did you do today?                                      │\n│ \u003e Fixed auth bug  Added rate limiting  Deployed to prod ✨ │\n│                                                             │\n│ What's next on your plate?                                  │\n│ \u003e Write tests  Review PRs  Update docs                     │\n│                                                             │\n│ ✅ Task cache saved to ~/.task-cache/2025-05-22.md         │\n│ ✅ Task cache pushed to GitHub successfully                 │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## ✨ Features\n\n- **⚡ 5-minute daily logging** - Quick, structured logging that doesn't interrupt your workflow\n- **📝 Smart markdown formatting** - Automatically formats your entries into clean, readable markdown\n- **🔍 Powerful search** - Find solutions to problems you've solved before\n- **☁️ GitHub sync** - Back up your logs and access them from any device\n- **🧠 Context preservation** - Never lose track of where you left off\n- **👥 Team sharing** - Share knowledge with teammates (optional)\n- **✨ Double-space formatting** - Type naturally, get perfect bullet points\n\n## 📦 Installation\n\n### NPM (Recommended)\n\n```bash\nnpm install -g task-cache\n```\n\n### Verify Installation\n\n```bash\ntcache help\n```\n\n## 🚀 Quick Start\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                  🚀 Your First Task Cache                   │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  Step 1: Run the command                                    │\n│  $ tcache                                                   │\n│                                                             │\n│  Step 2: Answer the prompts naturally                       │\n│  ┌─────────────────────────────────────────────────────┐   │\n│  │ What did you do today?                              │   │\n│  │ \u003e Fixed login bug  Added authentication  Deployed  │   │\n│  └─────────────────────────────────────────────────────┘   │\n│                                                             │\n│  Step 3: Enjoy perfectly formatted logs! 📝                │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n### Smart Formatting Magic\n\nTask Cache automatically converts your natural typing into clean markdown:\n\n```\n┌─── What You Type ────────────────┐    ┌─── What Gets Saved ──────────────┐\n│                                  │    │                                  │\n│ Fixed login bug  Added rate      │───▶│ - Fixed login bug                │\n│ limiting  Deployed session fix   │    │ - Added rate limiting            │\n│                                  │    │ - Deployed session fix           │\n└──────────────────────────────────┘    └──────────────────────────────────┘\n```\n\n## 📋 All Commands\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                    📋 Command Reference                     │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  Basic Commands:                                            │\n│  tcache              Create new task cache                  │\n│  tcache view         View today's cache                     │\n│  tcache view 2025-05-20  View specific date                │\n│  tcache list         List all cached logs                  │\n│  tcache search \"bug\" Search through logs                   │\n│                                                             │\n│  GitHub Sync:                                               │\n│  tcache github setup    Configure GitHub backup            │\n│  tcache github status   Check sync status                  │\n│  tcache github push     Push to GitHub                     │\n│  tcache github pull     Pull from GitHub                   │\n│  tcache github debug    Debug configuration                │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 💡 Why Task Cache?\n\n### The Problem\n\n```\n    Developer's Day Without Task Cache\n    ═══════════════════════════════════\n    \n9:00 AM  😵 \"What was I working on yesterday?\"\n         🔍 Searches through Slack messages...\n         📧 Checks email for clues...\n         🤔 Tries to remember context...\n    \n9:23 AM  💡 \"Oh right, the login bug!\"\n         🐛 Starts debugging...\n    \n11:30 AM 🔥 \"Wait, didn't I solve this before?\"\n         🔍 Searches codebase...\n         📝 Checks old tickets...\n    \n12:15 PM 😤 \"I KNOW I fixed this same issue!\"\n    \n         Total time lost: 1.5+ hours ⏰\n```\n\n### The Solution\n\n```\n    Developer's Day WITH Task Cache\n    ═══════════════════════════════════\n    \n9:00 AM  📋 tcache view\n         ✅ \"Yesterday I was debugging the login timeout\"\n         ✅ \"Next: Check the session middleware\"\n         ✅ \"Note: Solution is in commit abc123\"\n    \n9:03 AM  🚀 Immediately starts productive work\n    \n11:30 AM 🔍 tcache search \"login timeout\"\n         ✨ \"Found it! I solved this 2 weeks ago\"\n         📝 \"The fix was in the cookie expiration logic\"\n    \n11:32 AM ✅ Problem solved with context\n    \n         Time saved: 1.5+ hours ⏰\n```\n\nTask Cache implements the **Zeigarnik Effect** - by closing mental loops at the end of each day, you:\n- ✅ Clear your mental RAM\n- ✅ Build continuity between workdays  \n- ✅ Create searchable knowledge base\n- ✅ Reduce cognitive load\n\n## 📁 Example Output\n\n```markdown\n# Task Cache: Wednesday, May 22nd, 2025\n\n## What I Did\n- Refactored authentication middleware to handle rate limiting\n- Fixed bug #231 with session expiration (was a cookie timing issue)\n- Started investigating memory leak in analytics module\n- PR review for team member's frontend components\n\n## What's Next\n- Write unit tests for the new rate limiter\n- Complete memory leak investigation (focus on third-party SDK)\n- Start implementing the new notification system\n- Prepare for tomorrow's API design review meeting\n\n## What Broke or Got Weird\n- Memory leak appears to be coming from third-party analytics SDK\n- AWS Lambda logs are delayed by ~5 minutes today\n- Intermittent 401 errors from auth service during peak load\n- Database query for user profiles suddenly running 2x slower\n\n## Notes\n- Productivity today: 4/5\n- Need to follow up with DevOps about AWS CloudWatch alerts\n- Good conversation with product team about notification priority levels\n\n---\n*Cached at 5:32 PM*\n```\n\n## ⚙️ GitHub Sync Setup\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                  ⚙️ GitHub Sync Setup                       │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  Step 1: Generate Personal Access Token                     │\n│  ┌─────────────────────────────────────────────────────┐   │\n│  │ 🌐 github.com/settings/tokens                      │   │\n│  │ ✅ Create new token (classic)                       │   │\n│  │ ✅ Select \"repo\" scope                             │   │\n│  │ ✅ Generate \u0026 copy token                           │   │\n│  └─────────────────────────────────────────────────────┘   │\n│                                                             │\n│  Step 2: Configure Task Cache                               │\n│  $ tcache github setup                                      │\n│  📦 Repository: username/task-logs                          │\n│  🌿 Branch: main                                            │\n│  🔑 Token: github_pat_xxxxx                                │\n│  ⚡ Auto-sync: yes                                          │\n│                                                             │\n│  Step 3: Verify                                             │\n│  $ tcache github status                                     │\n│  ✅ GitHub sync enabled and working!                        │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n### GitHub Status Display\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                   📦 GitHub Sync Status                     │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  ✅ Enabled: Yes                                            │\n│  📦 Repository: dholdaway/task-logs                         │\n│  🌿 Branch: main                                            │\n│  ⚡ Auto Sync: Yes                                          │\n│  🔄 Sync on Start: Yes                                      │\n│  🕐 Last Sync: May 22, 2025 at 5:32 PM                     │\n│                                                             │\n│  🔗 Remote URL: https://***@github.com/dholdaway/task-logs  │\n│  📝 Uncommitted files: No                                   │\n│  🌿 Current branch: main                                    │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 🔍 Search Your Past Work\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                    🔍 Search Example                        │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│ $ tcache search \"memory leak\"                               │\n│                                                             │\n│ 🔍 Searching task cache for \"memory leak\":                 │\n│                                                             │\n│ ✅ Found in 2025-05-22:                                     │\n│    In section: What I Did                                   │\n│    - Started investigating memory leak in analytics module  │\n│                                                             │\n│ ✅ Found in 2025-05-15:                                     │\n│    In section: What Broke or Got Weird                     │\n│    - Memory leak in user session handling                  │\n│    - Fixed by updating cleanup intervals                    │\n│                                                             │\n│ ✅ Found in 2025-05-08:                                     │\n│    In section: Notes                                        │\n│    - Memory leak was caused by event listeners not         │\n│      being properly removed                                 │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 🏢 Team Usage\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                     👥 Team Benefits                        │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  Individual Use:                                            │\n│  👤 Personal task cache + optional sharing                  │\n│                                                             │\n│  Team Repository:                                           │\n│  👥 Shared knowledge base                                   │\n│                                                             │\n│  ┌─────────────────────────────────────────────────────┐   │\n│  │  Better Standups    Fewer Repeat Issues            │   │\n│  │  ┌─────────────┐    ┌─────────────────────────────┐ │   │\n│  │  │ \"Yesterday  │    │ \"I solved this same bug    │ │   │\n│  │  │  I worked   │    │  last month - check my     │ │   │\n│  │  │  on X, Y,   │    │  May 15th log for the      │ │   │\n│  │  │  and Z\"     │    │  solution!\"                 │ │   │\n│  │  └─────────────┘    └─────────────────────────────┘ │   │\n│  └─────────────────────────────────────────────────────┘   │\n│                                                             │\n│  ┌─────────────────────────────────────────────────────┐   │\n│  │  Smoother Handoffs   Accurate Retros               │   │\n│  │  ┌─────────────┐    ┌─────────────────────────────┐ │   │\n│  │  │ \"The issue  │    │ \"Based on daily logs, our  │ │   │\n│  │  │  is in the  │    │  main blockers were API     │ │   │\n│  │  │  analytics  │    │  timeouts and database      │ │   │\n│  │  │  module -   │    │  performance issues\"        │ │   │\n│  │  │  see log\"   │    │                             │ │   │\n│  │  └─────────────┘    └─────────────────────────────┘ │   │\n│  └─────────────────────────────────────────────────────┘   │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 🎨 Advanced Formatting Tips\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                  🎨 Formatting Examples                     │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  Double Space Magic:                                        │\n│  Input:  \"Item one  Item two  Item three\"                  │\n│  Output: - Item one                                         │\n│          - Item two                                         │\n│          - Item three                                       │\n│                                                             │\n│  Numbered Sections:                                         │\n│  Input:  \"1. Frontend  Fixed bugs  2. Backend  Added API\"  │\n│  Output: **1. Frontend**                                    │\n│          - Fixed bugs                                       │\n│          **2. Backend**                                     │\n│          - Added API                                        │\n│                                                             │\n│  Mixed Content:                                             │\n│  Input:  \"Fixed login bug. Added rate limiting  Tests\"     │\n│  Output: - Fixed login bug. Added rate limiting            │\n│          - Tests                                            │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 🔧 Debug Your Setup\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                    🔍 Debug Output                          │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│ $ tcache github debug                                       │\n│                                                             │\n│ 🔍 GitHub Sync Debug Information:                          │\n│                                                             │\n│ 📁 Directory: /Users/you/.task-cache                       │\n│ 🔧 Config file: /Users/you/.task-cache/.github-config.json │\n│ 📊 Config exists: true                                      │\n│ ✅ Enabled: true                                            │\n│ 📦 Repository: username/task-logs                           │\n│ 🌿 Branch: main                                             │\n│ 🔑 Token length: 113 characters                            │\n│ 🔄 Auto sync: true                                          │\n│                                                             │\n│ 📋 Git Configuration:                                       │\n│ 🔗 Remote URL: https://***@github.com/username/task-logs   │\n│ 📝 Uncommitted files: No                                   │\n│ 🌿 Current branch: main                                     │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 🐛 Troubleshooting\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                  🐛 Common Issues \u0026 Solutions               │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  ❌ Problem: Permission denied when pushing                 │\n│  ✅ Solution:                                               │\n│     $ git credential-osxkeychain erase \u003c\u003cEOF               │\n│     protocol=https                                          │\n│     host=github.com                                         │\n│     EOF                                                     │\n│     $ tcache github setup                                   │\n│                                                             │\n│  ❌ Problem: Divergent branches error                       │\n│  ✅ Solution:                                               │\n│     $ cd ~/.task-cache                                      │\n│     $ git pull origin main --allow-unrelated-histories     │\n│     $ tcache github push                                    │\n│                                                             │\n│  ❌ Problem: Command not found                              │\n│  ✅ Solution:                                               │\n│     $ npm install -g task-cache                            │\n│                                                             │\n│  ❌ Problem: Token authentication fails                     │\n│  ✅ Solution:                                               │\n│     • Ensure token has \"repo\" scope                        │\n│     • Generate fresh token on GitHub                       │\n│     • Run: tcache github setup                             │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 📊 Usage Analytics\n\nAfter using Task Cache for a week, developers typically report:\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                    📊 Impact Metrics                        │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  Morning Startup:        🚀 23% faster                     │\n│  ████████████████████████▓▓▓▓▓▓▓▓▓▓▓▓                      │\n│                                                             │\n│  Repeated Investigations: 🔍 35% fewer                     │\n│  ██████████████████████████████████▓▓▓▓▓▓▓▓                │\n│                                                             │\n│  Handoff Quality:        🤝 67% better                     │\n│  ████████████████████████████████████████████████▓▓▓▓      │\n│                                                             │\n│  Standup Confidence:     💪 89% more confident             │\n│  ████████████████████████████████████████████████████████▓ │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 🔧 Configuration \u0026 File Locations\n\nTask Cache stores files in your home directory:\n\n```\n~/.task-cache/\n├── 2025-05-22.md                 # Today's task cache\n├── 2025-05-21.md                 # Yesterday's log\n├── 2025-05-20.md                 # Previous logs\n├── .github-config.json           # GitHub sync config (excluded from sync)\n└── .gitignore                    # Protects sensitive files\n```\n\n## 🚀 Advanced Usage\n\n### Automation Ideas\n\n```bash\n# Add to your shell profile\nalias eod=\"tcache\"\n\n# Create a shutdown script\necho \"tcache\" \u003e\u003e ~/bin/end-of-day.sh\n\n# Git commit hook to remind you to log\necho \"echo 'Don't forget: tcache'\" \u003e\u003e .git/hooks/post-commit\n```\n\n### Integration with Other Tools\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                 🔗 Tool Integrations                        │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  💬 Slack                                                   │\n│     Share interesting findings with team                     │\n│                                                             │\n│  📋 Notion                                                  │\n│     Copy logs for project documentation                     │\n│                                                             │\n│  🎫 Jira                                                    │\n│     Reference logs in tickets                               │\n│                                                             │\n│  🗣️ Stand-up Meetings                                      │\n│     Review yesterday's log before meeting                   │\n│                                                             │\n│  📝 Code Reviews                                            │\n│     Include context from task cache in PR descriptions      │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 🤝 Contributing\n\nFound a bug or have a feature request? \n\n1. Check existing [issues](https://github.com/dholdaway/TaskCache/issues)\n2. Create a new issue with detailed description\n3. Or submit a pull request!\n\n### Development Setup\n\n```bash\ngit clone https://github.com/dholdaway/TaskCache.git\ncd TaskCache\nnpm install\nnpm link\n```\n\n## 🚀 What's Next?\n\nUpcoming features:\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                    🚀 Roadmap                               │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  📄 Export to PDF/HTML formats                             │\n│  📊 Team analytics and insights                            │\n│  🔗 Integration with project management tools              │\n│  📝 Custom templates for different work types              │\n│  ⏰ Time tracking integration                               │\n│  🤖 AI-powered insights and suggestions                    │\n│  📱 Mobile companion app                                    │\n│  🔔 Smart reminders and notifications                      │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## 🙏 Inspiration\n\nThis tool was inspired by:\n- Research on developer productivity and the Zeigarnik Effect\n- Daily logging practices from productive development teams\n- The need for better context switching in distributed teams\n\n---\n\n**Start building better development habits today:**\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                    🚀 Get Started                           │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  $ npm install -g task-cache                               │\n│  $ tcache                                                   │\n│                                                             │\n│  That's it! Your first task cache is ready 📝              │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n```\n\n---\n\n*Made with ❤️ for developers who want to stay productive and maintain context across their workdays.*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdholdaway%2Ftaskcache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdholdaway%2Ftaskcache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdholdaway%2Ftaskcache/lists"}