{"id":45614335,"url":"https://github.com/ilyasyoy/monotask","last_synced_at":"2026-04-23T13:01:02.019Z","repository":{"id":332446979,"uuid":"1124767921","full_name":"IlyasYOY/monotask","owner":"IlyasYOY","description":"one cli to find them all","archived":false,"fork":false,"pushed_at":"2026-02-14T18:20:19.000Z","size":120,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-23T23:57:11.351Z","etag":null,"topics":["golang","tasks-manager"],"latest_commit_sha":null,"homepage":"","language":"Go","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/IlyasYOY.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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-29T15:26:16.000Z","updated_at":"2026-02-14T18:18:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/IlyasYOY/monotask","commit_stats":null,"previous_names":["ilyasyoy/monotask"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/IlyasYOY/monotask","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyasYOY%2Fmonotask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyasYOY%2Fmonotask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyasYOY%2Fmonotask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyasYOY%2Fmonotask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IlyasYOY","download_url":"https://codeload.github.com/IlyasYOY/monotask/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyasYOY%2Fmonotask/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32181374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T11:42:27.955Z","status":"ssl_error","status_checked_at":"2026-04-23T11:42:18.877Z","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":["golang","tasks-manager"],"created_at":"2026-02-23T17:59:01.240Z","updated_at":"2026-04-23T13:01:02.014Z","avatar_url":"https://github.com/IlyasYOY.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Monotask\n\nA CLI tool to extract tasks directly from source files and markdown documents.\n\n## Features\n\n- Extracts TODO, BUG, NOTE markers (case insensitive) from C-style comments (`//` and `/* */`)\n- Extracts TODO, BUG, NOTE markers (case insensitive) from shell script comments (`#`)\n- Extracts TODO, BUG, NOTE markers (case insensitive) from Python comments and docstrings\n- Extracts TODO, BUG, NOTE markers (case insensitive) from Lua comments\n- Extracts unchecked checkboxes (`- [ ]`) from markdown files\n- Supports optional assignee names in parentheses (e.g., `TODO(user): message`)\n- Recursively scans directories\n- Outputs in GNU Error Format for easy integration with other tools\n\n## Installation\n\nInstall using `go install`:\n\n```bash\ngo install github.com/IlyasYOY/monotask/cmd/monotask@latest\n```\n\n## Usage\n\n```bash\n# Print version\nmonotask --version\n\n# Scan current directory\nmonotask\n\n# Scan specific directory\nmonotask /path/to/directory\n\n# Scan specific file\nmonotask /path/to/file.md\n```\n\n## Output Format\n\n```\nfile:line:column: type: message\n```\n\nOr with optional assignee:\n```\nfile:line:column: type(assignee): message\n```\n\n```\nwork.c:15:3: TODO: this is todo marker in C code.\nwork.c:16:3: TODO(IlyasYOY): fix this bug.\ntasks.md:14:12: CHECKBOX: this is not closed check-box.\n```\n\nExample:\n\n```\n➜  dotfiles git:(master) ✗ monotask .\n/Users/IlyasYOY/Projects/IlyasYOY/dotfiles/config/nvim/after/ftplugin/go.lua:343:9: TODO: for now it works only for commands, I have to add the separate logic to support this in keymaps.\n```\n\n## Supported File Types\n\n- `.c`, `.h` - C files (case insensitive TODO, BUG, NOTE markers in comments)\n- `.java` - Java files (case insensitive TODO, BUG, NOTE markers in comments)\n- `.go` - Go files (case insensitive TODO, BUG, NOTE markers in comments)\n- `go.mod` - Go module files (case insensitive TODO, BUG, NOTE markers in `//` comments)\n- `go.sum` - Go checksum files (recognized, but checksum lines are not scanned for tasks)\n- `.js`, `.mjs` - JavaScript files (case insensitive TODO, BUG, NOTE markers in comments)\n- `.ts`, `.mts` - TypeScript files (case insensitive TODO, BUG, NOTE markers in comments)\n- `.cpp`, `.hpp`, `.cxx`, `.cc` - C++ files (case insensitive TODO, BUG, NOTE markers in comments)\n- `.lua` - Lua files (case insensitive TODO, BUG, NOTE markers in comments)\n- `.sh`, `.bash` - Shell scripts (case insensitive TODO, BUG, NOTE markers in comments)\n- `.py` - Python files (case insensitive TODO, BUG, NOTE markers in # comments and single-line docstrings)\n- `.md` - Markdown files (unchecked checkboxes)\n- `.typ` - Typst files (case insensitive TODO, BUG, NOTE markers in comments)\n\nTasks can optionally include an assignee in parentheses after the type: `TODO(user): message`\n\n## Ignoring Files and Directories\n\nMonotask supports `.mtignore` files to exclude specific files or directories from scanning. Place a `.mtignore` file in any directory to list paths to ignore (one per line, relative to the `.mtignore` file's location).\n\n- Ignores cascade from parent directories to subdirectories\n- Child directories can add additional ignores with their own `.mtignore` files\n- Only exact path matches are supported (no patterns or wildcards)\n\nExample `.mtignore`:\n```\nbuild.log\nnode_modules/\ntemp.txt\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyasyoy%2Fmonotask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filyasyoy%2Fmonotask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyasyoy%2Fmonotask/lists"}