{"id":48531745,"url":"https://github.com/yesser-studios/yesser-todo-cli","last_synced_at":"2026-06-04T23:00:24.760Z","repository":{"id":236742669,"uuid":"785890481","full_name":"yesser-studios/yesser-todo-cli","owner":"yesser-studios","description":"a CLI app for managing your tasks","archived":false,"fork":false,"pushed_at":"2026-05-06T18:24:36.000Z","size":671,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-06T20:29:27.442Z","etag":null,"topics":["cli","server","todo"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yesser-studios.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2024-04-12T21:05:12.000Z","updated_at":"2026-05-06T18:24:41.000Z","dependencies_parsed_at":"2025-04-03T22:26:16.085Z","dependency_job_id":"a4f6615c-632b-4e65-8ce3-301936f072bc","html_url":"https://github.com/yesser-studios/yesser-todo-cli","commit_stats":null,"previous_names":["yesser-studios/yesser-todo-cli"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/yesser-studios/yesser-todo-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yesser-studios%2Fyesser-todo-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yesser-studios%2Fyesser-todo-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yesser-studios%2Fyesser-todo-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yesser-studios%2Fyesser-todo-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yesser-studios","download_url":"https://codeload.github.com/yesser-studios/yesser-todo-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yesser-studios%2Fyesser-todo-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33923181,"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-04T02:00:06.755Z","response_time":64,"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":["cli","server","todo"],"created_at":"2026-04-08T00:02:46.920Z","updated_at":"2026-06-04T23:00:24.747Z","avatar_url":"https://github.com/yesser-studios.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yesser-todo-cli\n\na CLI app for managing your tasks\n\n# Installation\n\n## Cargo\n\nIf you have Cargo installed (on any platform), you can install with:\n\n```bash\ncargo install yesser-todo-cli\n```\n\n## Windows\n\nOn Windows, you can use the MSI installer in the releases page.\nYou can also use the Scoop from the yesser-studios bucket:\n\n```pwsh\nscoop bucket add yesser-studios https://github.com/yesser-studios/scoop-bucket\nscoop install yesser-todo-cli\n```\n\n## macOS\n\nYou can use the yesser-studios Homebrew tap:\n\n```bash\nbrew tap yesser-studios/tap\nbrew install yesser-todo-cli\n```\n\n## Linux\n\nOn Fedora 42+ or Rawhide, you can use the yesser-todo COPR:\n\n```bash\nsudo dnf copr enable yesseruser/yesser-todo\nsudo dnf install yesser-todo-cli\n```\n\nOn other distributions, you will need to use cargo or build the project from source.\n\n# Server\n\n## Usage guide:\n\nRun the `yesser-todo-server` crate. This will open port 6982 and listen for HTTP traffic.\n\n## Endpoints\n\n- `GET /tasks` returns a JSON containing an array of `Task` objects, such as: `[{name: \"example\", done: true}]`\n- `POST /add` accepts a body JSON representation of a string, such as: `\"example\"`.\n  This string will be used as the name for a new task. Returns a JSON of the generated `Task` object.\n- `DELETE /remove` accepts a body JSON representation of an integer, such as: `5`.\n  The task with the index of the given integer will be deleted. The index can be queried with `GET /index` (see below)\n- `POST /done` accepts a body JSON representation of an integer, such as: `5`.\n  The task with the given index will be marked as done. Returns a JSON of the modified `Task` object.\n- `POST /undone` accepts a body JSON representation of an integer, such as: `5`.\n  The task with the given index will be marked as undone. Returns a JSON of the modified `Task` object.\n- `DELETE /clear` will delete all tasks.\n- `DELETE /cleardone` will delete all tasks marked as done.\n- `GET /index` accepts a body JSON representation of a string.\n  It will return the index at which the given string first appears.\n\n# Publishing (for maintainers)\n\n## Crates.io\n\n_Note: Make sure you're logged in with `cargo login`_\n\nRun `cargo install cargo-release` to install the cargo-publish tool,\nthen run `cargo release \u003cBUMP\u003e` to bump the version and publish. This will automatically create a git commit and tag.\n\n## Homebrew\n\nFirst, create a GitHub release to make a tag for Homebrew to download.\nThen, download the source code as a `.tar.gz` file, generate a sha256 hash, and add the hash and link to the formula.\nNext, on both an ARM64 macOS machine run `brew install --build-bottle --bottle-arch=arm64_sonoma yesser-todo-cli`.\nOn a x64 Linux machine run `brew install --build-bottle --bottle-arch=x86_64_linux yesser-todo-cli`.\nOn both machines, run `brew bottle yesser-todo-cli` and upload the file to GitHub releases.\nGenerate a sha256 hash for the file and replace the corresponding field in the formula.\nMake sure to change the `root_url` as well. Also, change the version in the test's assertion.\n\n## Windows build\n\ncargo-wix uses WiX v3, which is not available anymore. We will not be publishing .msi packages until cargo-wix updates or we find a different CI-compatible .msi packager.\n.zip bundles are built automatically by CI on releases.\n\n## Fedora COPR build\n\n1. On a Fedora machine with rpm build tools and rust2rpm installed, run the update.sh script located at https://github.com/yesser-studios/rpms/tree/main/yesser-todo-cli.\n2. Commit and push the changes. COPR should build the new commit automatically.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyesser-studios%2Fyesser-todo-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyesser-studios%2Fyesser-todo-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyesser-studios%2Fyesser-todo-cli/lists"}