feat: add 5 new bodyweight exercises#111
Conversation
- Wall Sit (isometric squat) - Plank Shoulder Taps - Bottom Push-Up Hold - Cobra Stretch - Jumping Jacks All exercises include proper images and validated JSON structure
There was a problem hiding this comment.
Hi,
Thank you for your contribution!
I've left some comments in the review. Last thing before merging: can you please order all the entries of json file alphabetically by id? You can check out the validation script I've just added, which also orders alphabetically the json. More info about that in CONTRIBUTING.md.
Edit: Also, update this branch to main so new validation can run
| "Hold for the prescribed amount of time, keeping your breathing steady." | ||
| ], | ||
| "category": "strength", | ||
| "images": ["Wall_sit/0.webp", "Wall_sit/1.webp"], |
There was a problem hiding this comment.
Relative paths must match ids which in turn have to follow Pascal_Snake_Case
| "images": ["Wall_sit/0.webp", "Wall_sit/1.webp"], | |
| "images": ["Wall_Sit/0.webp", "Wall_Sit/1.webp"], |
| "level": "beginner", | ||
| "mechanic": "isolation", | ||
| "equipment": "body only", | ||
| "primaryMuscles": ["lower back"], |
There was a problem hiding this comment.
This is anatomically incorrect for this category. Because this is a "stretching" exercise, the target muscle is the one being elongated/stretched. The Cobra stretch elongates the anterior chain, primarily targeting the abdominals (and hip flexors). The lower back (erector spinae) acts as an antagonist here and is actively contracting (shortening) to extend the spine, not stretching.
| "primaryMuscles": ["lower back"], | |
| "primaryMuscles": ["abdominals"], |
| }, | ||
| { | ||
| "name": "Cobra Stretch", | ||
| "force": "push", |
There was a problem hiding this comment.
While the arms do push against the floor to raise the chest, you are ultimately holding a stretch for 10-30 seconds. For isometric stretching holds, categorizing the force as "static" is more physiologically accurate and aligns better with your other hold exercises
| "force": "push", | |
| "force": "static", |
- Order all exercises alphabetically by id - Fix image path casing for Wall_Sit (Wall_sit -> Wall_Sit) - Correct primaryMuscles for Cobra Stretch (lower back -> abdominals) - Change force type for Cobra Stretch (push -> static)
- Format primaryMuscles, secondaryMuscles, images, and instructions arrays - Use multi-line format with proper indentation - Maintain consistency with existing exercise entries
|
I've applied all the suggested changes:
Both the npx and python tests passed successfully, and thank you so much for your interest and suggestions, I hope the project can continue to grow. |
IamDg
left a comment
There was a problem hiding this comment.
Hi, it looks good now. Last thing: can you please merge main first in your branch so I can accept your PR?
|
Heya, almost forgot the response, the branch is uptime to the main. |
"abdominals" is listed in both the `primaryMuscles` and `secondaryMuscles` arrays.
In strength training, "push" and "pull" refer to the direction of force applied against resistance (gravity or cables). A Jumping Jack is dynamic, full-body cardio involving multiple opposing movements
|
Hi @ByYeah, Thank you for your contribution! It will be included in next release (which will be in next couple of days/weeks). In the meantime, if you want, you can reedem your code at https://librefit.org/donate. Let me know if it works as expected! |
Description
This PR adds 5 new bodyweight exercises to the dataset to expand the variety available to users.
Exercises added:
Verifications Performed
.webpformat with a white background.app/src/main/assets/with the correctid.exercises.jsonfile has been validated locally with thenpx ajv-cli validatecommand without errors.ids are unique and there are no duplicates.