{"id":22062489,"url":"https://github.com/pmiddend/myocardio","last_synced_at":"2026-05-08T04:11:33.200Z","repository":{"id":37858131,"uuid":"158406614","full_name":"pmiddend/myocardio","owner":"pmiddend","description":"An ncurses tool magically generating workout plans","archived":false,"fork":false,"pushed_at":"2024-06-22T05:57:54.000Z","size":624,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-15T00:51:35.595Z","etag":null,"topics":["brick","cabal","cli","fitness","haskell","ncurses","nix"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmiddend.png","metadata":{"files":{"readme":"README.org","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}},"created_at":"2018-11-20T14:56:50.000Z","updated_at":"2024-06-22T05:57:57.000Z","dependencies_parsed_at":"2024-06-22T16:42:38.224Z","dependency_job_id":null,"html_url":"https://github.com/pmiddend/myocardio","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmiddend%2Fmyocardio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmiddend%2Fmyocardio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmiddend%2Fmyocardio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmiddend%2Fmyocardio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmiddend","download_url":"https://codeload.github.com/pmiddend/myocardio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245143960,"owners_count":20568046,"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":["brick","cabal","cli","fitness","haskell","ncurses","nix"],"created_at":"2024-11-30T18:20:29.668Z","updated_at":"2026-05-08T04:11:28.175Z","avatar_url":"https://github.com/pmiddend.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"* myocardio – automagically generate and display split plans\n\n[[https://github.com/pmiddend/myocardio/actions/workflows/build-with-cabal.yaml][file:https://github.com/pmiddend/myocardio/actions/workflows/build-with-cabal.yaml/badge.svg]]\n[[https://github.com/pmiddend/myocardio/actions/workflows/build-with-nix.yaml][file:https://github.com/pmiddend/myocardio/actions/workflows/build-with-nix.yaml/badge.svg]]\n\n** How does it work\n\nmyocardio is a small utility to generate exercise split plans for you. It recieves a list of exercises from you. For each exercise, you specify:\n\n- exercise name\n- which muscle groups are involved\n- how many repetitions you make\n\nThe tool then generates and displays an exercise plan for you that /tries/ not to include exercises with big overlaps in muscle groups consecutively. It also prioritizes exercises that you haven’t done for some time.\n\nThe algorithm is described in [[./docs/ranking.pdf][this PDF file]].\n\nThe input is expected in JSON format at the location =$HOME/.config/myocardio/data.json= and looks like this:\n\n#+BEGIN_SRC json\n{\n    \"exercises\": [\n        {\n            \"muscles\": [\n                \"pectoralis\",\n                \"triceps\",\n                \"deltoid\",\n                \"core\",\n                \"quadriceps\",\n                \"hip flexor\"\n            ],\n            \"tagged\": null,\n            \"reps\": \"3x10\",\n            \"name\": \"Burpees\",\n            \"last\": null\n        }\n    ]\n}\n#+END_SRC\n\nAs you can see, the JSON is just a list of exercises. The format should be self-explanatory.\n\n** Screenshot\n\n#+CAPTION: A sample exercise plan (with some exercises named in German)\n[[./screenshot.png]]\n\n#+CAPTION: The muscle display\n[[./screenshot2.png]]\n\n** Key bindings\n\n| Key | Binding                                          |\n|-----+--------------------------------------------------|\n| t   | tag an exercise (meaning you did it today)       |\n| j   | Go down a row (vim-style!)                       |\n| k   | Go up a row                                      |\n| c   | commit the plan (meaning you’re done exercising) |\n| r   | Type in a new repetition count                   |\n\n** Installation/Usage\n\nJust clone the repository and type:\n\n#+begin_example\ncabal v2-run myocardio-exe\n#+end_example\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmiddend%2Fmyocardio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmiddend%2Fmyocardio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmiddend%2Fmyocardio/lists"}