Add AI agents: coach, architect, frontend-dev, backend-dev, reviewer
Coach agent: - SOUL.md persona (erfaren PT, evidensbaserad) - exercises.json (20+ övningar med alternativ, cues, misstag) - Program templates: beginner, strength 5x5, hypertrophy PPL Dev agents: - Architect: systemdesign, DB, API-arkitektur - Frontend: React, UX, komponenter - Backend: Node.js, Express, PostgreSQL - Reviewer: code review med kategoriserad feedback
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"id": "beginner_fullbody",
|
||||
"name": "Nybörjarprogram - Helkropp",
|
||||
"goal": "general",
|
||||
"description": "Perfekt startprogram för nybörjare. Lär dig grundövningarna med fokus på teknik. Helkroppsträning 3x/vecka.",
|
||||
"experience_level": ["beginner"],
|
||||
"duration_weeks": 8,
|
||||
"workouts_per_week": [3],
|
||||
"principles": [
|
||||
"Fokus på teknik - använd lätt vikt tills formen är perfekt",
|
||||
"Helkropp varje pass för maximal inlärning",
|
||||
"48h vila mellan pass",
|
||||
"Öka vikt ENDAST när tekniken är solid"
|
||||
],
|
||||
"split": {
|
||||
"3_days": {
|
||||
"name": "A/B/A → B/A/B",
|
||||
"rotation": ["A", "B", "A"],
|
||||
"days": {
|
||||
"A": {
|
||||
"name": "Helkropp A",
|
||||
"exercises": [
|
||||
{ "id": "goblet_squat", "sets": 3, "reps": 10, "rest": "2 min", "note": "Fokus: knän ut, bröst upp" },
|
||||
{ "id": "dumbbell_press", "sets": 3, "reps": 10, "rest": "2 min", "note": "Platt bänk" },
|
||||
{ "id": "lat_pulldown", "sets": 3, "reps": 10, "rest": "2 min", "note": "Dra mot nyckelbenet" },
|
||||
{ "id": "leg_curl", "sets": 2, "reps": 12, "rest": "90 sek" },
|
||||
{ "id": "plank", "sets": 3, "reps": "20-30 sek", "rest": "60 sek" }
|
||||
],
|
||||
"duration_min": 45
|
||||
},
|
||||
"B": {
|
||||
"name": "Helkropp B",
|
||||
"exercises": [
|
||||
{ "id": "leg_press", "sets": 3, "reps": 10, "rest": "2 min", "note": "Fötter axelbrett" },
|
||||
{ "id": "push_ups", "sets": 3, "reps": "max (mål: 10)", "rest": "90 sek", "note": "Knästående OK" },
|
||||
{ "id": "barbell_row", "sets": 3, "reps": 10, "rest": "2 min", "note": "Eller maskinrodd" },
|
||||
{ "id": "lateral_raise", "sets": 2, "reps": 12, "rest": "60 sek" },
|
||||
{ "id": "bicep_curl", "sets": 2, "reps": 12, "rest": "60 sek" }
|
||||
],
|
||||
"duration_min": 45
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"progression": {
|
||||
"weeks_1_2": "Lätt vikt. Lär dig teknik. Ska kännas enkelt.",
|
||||
"weeks_3_4": "Öka till vikt där sista reps är utmanande men tekniken hålls.",
|
||||
"weeks_5_8": "Progressiv överbelastning - öka vikt när du klarar alla reps med bra form.",
|
||||
"next_step": "Efter 8 veckor: övergå till intermediate-program (Styrka 5x5 eller Hypertrofi PPL)"
|
||||
},
|
||||
"technique_focus": {
|
||||
"goblet_squat": "Grunden för alla knäböjvarianter. Vikten framför tvingar bröst upp.",
|
||||
"dumbbell_press": "Lättare att hitta rätt position än skivstång. Tränar stabilitet.",
|
||||
"lat_pulldown": "Bygger styrka för framtida pull-ups.",
|
||||
"push_ups": "Fundamental rörelse. Börja på knä om nödvändigt."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"id": "hypertrophy_ppl",
|
||||
"name": "Hypertrofiprogram PPL",
|
||||
"goal": "muscle",
|
||||
"description": "Push/Pull/Legs split optimerat för muskelbygge. Högre volym och rep-ranges för maximal hypertrofi.",
|
||||
"experience_level": ["intermediate", "advanced"],
|
||||
"duration_weeks": 8,
|
||||
"workouts_per_week": [5, 6],
|
||||
"principles": [
|
||||
"8-12 reps för compound, 12-15 för isolation",
|
||||
"Fokus på mind-muscle connection",
|
||||
"60-90 sek vila för isolation, 2-3 min för compound",
|
||||
"Progressiv överbelastning genom volym ELLER vikt",
|
||||
"Träna nära failure (1-2 RIR)"
|
||||
],
|
||||
"split": {
|
||||
"6_days": {
|
||||
"name": "PPL x2",
|
||||
"rotation": ["push", "pull", "legs", "push", "pull", "legs"],
|
||||
"days": {
|
||||
"push": {
|
||||
"name": "Push (Bröst, Axlar, Triceps)",
|
||||
"exercises": [
|
||||
{ "id": "bench_press", "sets": 4, "reps": "8-10", "rest": "2-3 min" },
|
||||
{ "id": "overhead_press", "sets": 4, "reps": "8-10", "rest": "2 min" },
|
||||
{ "id": "dumbbell_press", "sets": 3, "reps": "10-12", "rest": "90 sek", "note": "Incline" },
|
||||
{ "id": "lateral_raise", "sets": 4, "reps": "12-15", "rest": "60 sek" },
|
||||
{ "id": "cable_fly", "sets": 3, "reps": "12-15", "rest": "60 sek" },
|
||||
{ "id": "tricep_pushdown", "sets": 3, "reps": "12-15", "rest": "60 sek" }
|
||||
]
|
||||
},
|
||||
"pull": {
|
||||
"name": "Pull (Rygg, Biceps)",
|
||||
"exercises": [
|
||||
{ "id": "deadlift", "sets": 3, "reps": "6-8", "rest": "3 min", "note": "Eller RDL" },
|
||||
{ "id": "pull_ups", "sets": 4, "reps": "8-10", "rest": "2 min" },
|
||||
{ "id": "barbell_row", "sets": 4, "reps": "8-10", "rest": "2 min" },
|
||||
{ "id": "lat_pulldown", "sets": 3, "reps": "10-12", "rest": "90 sek" },
|
||||
{ "id": "face_pull", "sets": 3, "reps": "15-20", "rest": "60 sek" },
|
||||
{ "id": "bicep_curl", "sets": 4, "reps": "10-12", "rest": "60 sek" }
|
||||
]
|
||||
},
|
||||
"legs": {
|
||||
"name": "Legs (Ben & Core)",
|
||||
"exercises": [
|
||||
{ "id": "squat", "sets": 4, "reps": "8-10", "rest": "3 min" },
|
||||
{ "id": "romanian_deadlift", "sets": 4, "reps": "10-12", "rest": "2 min" },
|
||||
{ "id": "leg_press", "sets": 3, "reps": "12-15", "rest": "90 sek" },
|
||||
{ "id": "leg_curl", "sets": 4, "reps": "10-12", "rest": "60 sek" },
|
||||
{ "id": "leg_extension", "sets": 3, "reps": "12-15", "rest": "60 sek" },
|
||||
{ "id": "plank", "sets": 3, "reps": "45-60 sek", "rest": "60 sek" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"5_days": {
|
||||
"name": "Upper/Lower/Push/Pull/Legs",
|
||||
"rotation": ["upper", "lower", "push", "pull", "legs"],
|
||||
"days": {
|
||||
"upper": {
|
||||
"name": "Överkropp (Styrka)",
|
||||
"exercises": [
|
||||
{ "id": "bench_press", "sets": 4, "reps": "6-8", "rest": "3 min" },
|
||||
{ "id": "barbell_row", "sets": 4, "reps": "6-8", "rest": "3 min" },
|
||||
{ "id": "overhead_press", "sets": 3, "reps": "8-10", "rest": "2 min" },
|
||||
{ "id": "pull_ups", "sets": 3, "reps": "8-10", "rest": "2 min" }
|
||||
]
|
||||
},
|
||||
"lower": {
|
||||
"name": "Underkropp (Styrka)",
|
||||
"exercises": [
|
||||
{ "id": "squat", "sets": 4, "reps": "6-8", "rest": "3 min" },
|
||||
{ "id": "deadlift", "sets": 3, "reps": "5-6", "rest": "3 min" },
|
||||
{ "id": "leg_press", "sets": 3, "reps": "10-12", "rest": "2 min" },
|
||||
{ "id": "leg_curl", "sets": 3, "reps": "10-12", "rest": "90 sek" }
|
||||
]
|
||||
},
|
||||
"push": {
|
||||
"name": "Push (Volym)",
|
||||
"exercises": [
|
||||
{ "id": "dumbbell_press", "sets": 4, "reps": "10-12", "rest": "90 sek" },
|
||||
{ "id": "lateral_raise", "sets": 4, "reps": "12-15", "rest": "60 sek" },
|
||||
{ "id": "cable_fly", "sets": 4, "reps": "12-15", "rest": "60 sek" },
|
||||
{ "id": "tricep_pushdown", "sets": 4, "reps": "12-15", "rest": "60 sek" }
|
||||
]
|
||||
},
|
||||
"pull": {
|
||||
"name": "Pull (Volym)",
|
||||
"exercises": [
|
||||
{ "id": "lat_pulldown", "sets": 4, "reps": "10-12", "rest": "90 sek" },
|
||||
{ "id": "barbell_row", "sets": 3, "reps": "10-12", "rest": "90 sek" },
|
||||
{ "id": "face_pull", "sets": 4, "reps": "15-20", "rest": "60 sek" },
|
||||
{ "id": "bicep_curl", "sets": 4, "reps": "12-15", "rest": "60 sek" }
|
||||
]
|
||||
},
|
||||
"legs": {
|
||||
"name": "Ben (Volym)",
|
||||
"exercises": [
|
||||
{ "id": "leg_press", "sets": 4, "reps": "12-15", "rest": "90 sek" },
|
||||
{ "id": "romanian_deadlift", "sets": 4, "reps": "10-12", "rest": "2 min" },
|
||||
{ "id": "leg_extension", "sets": 4, "reps": "12-15", "rest": "60 sek" },
|
||||
{ "id": "leg_curl", "sets": 4, "reps": "12-15", "rest": "60 sek" }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"progression": {
|
||||
"rule": "Öka vikt när du når toppen av rep-range i alla sets",
|
||||
"example": "3x12 reps? Nästa pass: öka vikt, sikta på 3x8, bygg upp till 3x12 igen",
|
||||
"deload": {
|
||||
"when": "Stagnation eller vecka 5",
|
||||
"method": "50% volym, samma intensitet"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"id": "strength_5x5",
|
||||
"name": "Styrkeprogram 5x5",
|
||||
"goal": "strength",
|
||||
"description": "Klassiskt 5x5-upplägg för maximal styrkeökning. Fokus på de stora lyftena med progressiv överbelastning.",
|
||||
"experience_level": ["intermediate", "advanced"],
|
||||
"duration_weeks": 8,
|
||||
"workouts_per_week": [3, 4],
|
||||
"principles": [
|
||||
"5 sets x 5 reps på basövningar (85% av 1RM)",
|
||||
"Öka vikten med 2.5kg varje vecka om alla reps klaras",
|
||||
"3-5 min vila mellan tunga set",
|
||||
"Deload vecka 4 och 8"
|
||||
],
|
||||
"split": {
|
||||
"3_days": {
|
||||
"name": "A/B/A - B/A/B",
|
||||
"rotation": ["A", "B", "A"],
|
||||
"days": {
|
||||
"A": {
|
||||
"name": "Knäböj & Bänk",
|
||||
"exercises": [
|
||||
{ "id": "squat", "sets": 5, "reps": 5, "intensity": "85%", "rest": "3-5 min" },
|
||||
{ "id": "bench_press", "sets": 5, "reps": 5, "intensity": "85%", "rest": "3-5 min" },
|
||||
{ "id": "barbell_row", "sets": 5, "reps": 5, "intensity": "80%", "rest": "2-3 min" }
|
||||
]
|
||||
},
|
||||
"B": {
|
||||
"name": "Knäböj & Press",
|
||||
"exercises": [
|
||||
{ "id": "squat", "sets": 5, "reps": 5, "intensity": "85%", "rest": "3-5 min" },
|
||||
{ "id": "overhead_press", "sets": 5, "reps": 5, "intensity": "85%", "rest": "3-5 min" },
|
||||
{ "id": "deadlift", "sets": 1, "reps": 5, "intensity": "90%", "rest": "5 min" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"4_days": {
|
||||
"name": "Upper/Lower",
|
||||
"rotation": ["upper", "lower", "rest", "upper", "lower"],
|
||||
"days": {
|
||||
"upper": {
|
||||
"name": "Överkropp",
|
||||
"exercises": [
|
||||
{ "id": "bench_press", "sets": 5, "reps": 5, "intensity": "85%", "rest": "3-5 min" },
|
||||
{ "id": "barbell_row", "sets": 5, "reps": 5, "intensity": "80%", "rest": "3 min" },
|
||||
{ "id": "overhead_press", "sets": 4, "reps": 6, "intensity": "80%", "rest": "2-3 min" },
|
||||
{ "id": "pull_ups", "sets": 3, "reps": "max", "rest": "2 min" }
|
||||
]
|
||||
},
|
||||
"lower": {
|
||||
"name": "Underkropp",
|
||||
"exercises": [
|
||||
{ "id": "squat", "sets": 5, "reps": 5, "intensity": "85%", "rest": "3-5 min" },
|
||||
{ "id": "deadlift", "sets": 3, "reps": 5, "intensity": "85%", "rest": "4 min" },
|
||||
{ "id": "leg_press", "sets": 3, "reps": 8, "intensity": "75%", "rest": "2 min" },
|
||||
{ "id": "leg_curl", "sets": 3, "reps": 10, "rest": "90 sek" }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"progression": {
|
||||
"rule": "Om alla reps klaras, öka vikten nästa pass",
|
||||
"increment": {
|
||||
"upper_body": 2.5,
|
||||
"lower_body": 5.0
|
||||
},
|
||||
"deload": {
|
||||
"when": "2 missade pass i rad eller vecka 4/8",
|
||||
"reduction": "10%"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user