{"id":50911144,"url":"https://github.com/electerious/aufgabe","last_synced_at":"2026-06-16T10:30:28.751Z","repository":{"id":356557389,"uuid":"1168544310","full_name":"electerious/aufgabe","owner":"electerious","description":"Daily task logging made simple.","archived":false,"fork":false,"pushed_at":"2026-05-08T15:05:37.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-08T17:13:41.598Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/electerious.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"electerious","custom":["https://paypal.me/electerious","https://www.buymeacoffee.com/electerious"]}},"created_at":"2026-02-27T14:12:12.000Z","updated_at":"2026-05-08T15:05:54.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/electerious/aufgabe","commit_stats":null,"previous_names":["electerious/aufgabe"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/electerious/aufgabe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electerious%2Faufgabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electerious%2Faufgabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electerious%2Faufgabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electerious%2Faufgabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/electerious","download_url":"https://codeload.github.com/electerious/aufgabe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electerious%2Faufgabe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34402648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-06-16T10:30:25.366Z","updated_at":"2026-06-16T10:30:28.743Z","avatar_url":"https://github.com/electerious.png","language":"Shell","funding_links":["https://github.com/sponsors/electerious","https://paypal.me/electerious","https://www.buymeacoffee.com/electerious"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# aufgabe\n\n[![Test](https://github.com/electerious/aufgabe/actions/workflows/test.yml/badge.svg)](https://github.com/electerious/aufgabe/actions/workflows/test.yml)\n\nDaily task logging made simple.\n\n\u003cbr/\u003e\n\n![aufgabe in action](https://s.electerious.com/images/aufgabe/readme-day.jpg)\n\n\u003c/div\u003e\n\n## Contents\n\n- [Description](#description)\n- [Requirements](#requirements)\n- [Install](#install)\n- [Usage](#usage)\n- [Configuration](#configuration)\n- [Development](#development)\n- [Miscellaneous](#miscellaneous)\n\n## Description\n\n`aufgabe` is a simple bash CLI tool for logging daily tasks and generating weekly summaries. It stores tasks as plain text files and provides commands to add tasks to specific days, view logged tasks, and generate weekly summaries.\n\n## Requirements\n\n- macOS (uses BSD `date` commands)\n- Bash 3.2 or higher (included with macOS)\n- For testing: [bats-core](https://github.com/bats-core/bats-core)\n\n## Install\n\nClone the repository:\n\n```bash\ngit clone https://github.com/electerious/aufgabe.git\ncd aufgabe\n```\n\nMake the script executable:\n\n```bash\nchmod +x bin/aufgabe\n```\n\nAdd to your PATH (optional):\n\n```bash\n# Using symlink\nsudo ln -s \"$(pwd)/bin/aufgabe\" /usr/local/bin/aufgabe\n\n# Or add to PATH in your shell profile (~/.zshrc or ~/.bash_profile)\nexport PATH=\"$PATH:$(pwd)/bin\"\n```\n\n## Usage\n\n### Add Tasks\n\n```bash\n# Add a task to today\naufgabe add \"Fixed a bug in the login form\"\n\n# Add a task to yesterday\naufgabe add \"Code review for PR #123\" --yesterday\n\n# Add a task to a specific date\naufgabe add \"Planning meeting\" --date 2026-02-27\n\n# Skip adding if the exact same task already exists for that day\naufgabe add \"Fixed a bug in the login form\" --skip-duplicate\n```\n\n### View Tasks\n\n```bash\n# View today's tasks\naufgabe list\n\n# View tasks for a specific date\naufgabe list --date 2026-02-27\n```\n\n### Weekly Summary\n\n```bash\n# Show this week's tasks (Monday-Sunday)\naufgabe weekly\n```\n\nThe weekly summary format:\n- Each day's tasks are comma-separated on a single line\n- Each day appears on its own line\n- Days without tasks are omitted\n\nExample output:\n```\nFixed login bug, Added new feature, Code review\nUpdated documentation, Team meeting\nDeployed to production, Fixed critical bug\n```\n\n### Help and Version\n\n```bash\n# Show help\naufgabe --help\naufgabe -h\n\n# Show version\naufgabe --version\naufgabe -v\n```\n\n## Configuration\n\n### Environment Variables\n\n- `AUFGABE_DIR` - Custom data directory (default: `~/.aufgabe`)\n\n```bash\n# Use a custom directory\nexport AUFGABE_DIR=\"$HOME/Documents/task-logs\"\naufgabe add \"My task\"\n```\n\n### Data Storage\n\nTasks are stored as plain text files in `~/.aufgabe/` (or your custom directory):\n\n```\n~/.aufgabe/\n  ├── 2026-02-24.txt\n  ├── 2026-02-25.txt\n  ├── 2026-02-26.txt\n  └── 2026-02-27.txt\n```\n\nEach file contains one task per line:\n```\nFixed a bug in the login form\nCode review for PR #123\nUpdated documentation\n```\n\nYou can manually edit these files with any text editor.\n\n## Development\n\n### Running Tests\n\nInstall bats-core:\n```bash\n# Using Homebrew\nbrew install bats-core\n\n# Or using npm\nnpm install -g bats\n```\n\nRun the test suite:\n```bash\n# Run all tests\nbats tests/\n\n# Run specific test file\nbats tests/test_utils.bats\nbats tests/test_core.bats\n\n# Run with verbose output\nbats -t tests/\n```\n\n### Troubleshooting\n\n**Invalid date format errors**\n\nDates must be in `YYYY-MM-DD` format (e.g., `2026-02-27`). Common issues:\n- Wrong format: `02/27/2026` or `2026.02.27` ❌\n- Correct format: `2026-02-27` ✅\n\n**Tasks not appearing in weekly summary**\n\n- Verify the week range: The tool uses Monday-Sunday weeks\n- Check files exist: `ls ~/.aufgabe/`\n- Ensure files aren't empty: `cat ~/.aufgabe/2026-02-27.txt`\n\n**Permission denied**\n\nMake sure the script is executable:\n```bash\nchmod +x bin/aufgabe\n```\n\n## Miscellaneous\n\n### Donate\n\nI am working hard on continuously developing and maintaining my projects. Please consider making a donation to keep the project going strong and me motivated.\n\n- [Become a GitHub sponsor](https://github.com/sponsors/electerious)\n- [Donate via PayPal](https://paypal.me/electerious)\n- [Buy me a coffee](https://www.buymeacoffee.com/electerious)\n\n### Links\n\n- [Follow me on Bluesky](https://bsky.app/profile/electerious.bsky.social)\n- [Follow me on Threads](https://www.threads.com/@electerious)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felecterious%2Faufgabe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felecterious%2Faufgabe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felecterious%2Faufgabe/lists"}