Skip to content

mcmullarkey/justenougheng

Repository files navigation

justenougheng

A blendtutor lesson package with interactive coding exercises and AI-powered feedback.

Getting started

1. Edit your lesson YAML

Open inst/lessons/pseudocode_planning.yaml and fill in:

  • lesson_name — the display title students see
  • description — a short summary for lesson listings
  • exercise$prompt — what the student should do
  • exercise$llm_evaluation_prompt — how the LLM grades submissions (must include {student_code} so blendtutor can insert the student's code)

See the scaffolded file for the full schema with all optional fields.

2. Validate it

blendtutor::validate_lesson("inst/lessons/pseudocode_planning.yaml")

Fix any [FAIL] items before moving on.

3. Test your evaluation prompt with evals

Open evals/eval_pseudocode_planning.R and fill in the # TODO sections:

  1. EXERCISE — paste your exercise prompt
  2. eval_data — add input/target pairs (at least 2 correct, 3 incorrect submissions covering common failure modes)
  3. system_prompt_for() — write the evaluation criteria specific to your exercise

Then set your API key and run:

# Add to .Renviron (restart R after)
echo 'FIREWORKS_API_KEY=your-key-here' >> .Renviron

Note: .Renviron is automatically added to .gitignore to protect your API key from being accidentally committed.

source("evals/eval_pseudocode_planning.R")

If the LLM misclassifies a submission, tweak the criteria in system_prompt_for() and re-run until you're happy with accuracy.

4. Install and test

devtools::install()
blendtutor::invalidate_lesson_cache()
blendtutor::list_lessons()
blendtutor::start_lesson("pseudocode_planning")

Adding more lessons

blendtutor::use_blendtutor_lesson("new_lesson_name")
blendtutor::use_blendtutor_evals("new_lesson_name")

This creates a new YAML in inst/lessons/ and a matching eval in evals/.

Package structure

justenougheng/
  DESCRIPTION              # blendtutor in Imports
  inst/lessons/            # Lesson YAML files
  evals/                   # Eval scripts for testing grading accuracy
  .claude/skills/          # Claude Code skill for guided help

Getting help

If you're using Claude Code, run /help-me-build for step-by-step guidance on writing lessons, evaluation prompts, and evals.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages