Create New Programming Assignment
Assignments live in assignments/<id>/, and the website reads config.json to display them. Follow these steps to create both.
Step 1: Gather Requirements
If the user hasn't specified, ask what programming concept the assignment should cover.
📖 Read references/assignment-guide.md for guidance on difficulty, scope, and when to include starter code.
Step 2: Create the Assignment
- Create
assignments/<kebab-case-id>/README.mdfollowing the assignment template. - Optionally add starter code or data files to the same directory.
Step 3: Register with the Website
Use the bundled scripts — do not edit config.json manually when the scripts are available.
Register the assignment:
node .github/skills/new-assignment/scripts/update-config.js <id> "<title>" "<description>"
Register each attachment:
node .github/skills/new-assignment/scripts/add-attachment.js <id> "<display-name>" <filename> <type>
Common types: python, csv, json, txt, html.
Step 4: Verify
Confirm config.json contains the new assignment and all referenced files exist on disk.