
it appears on github. it signals to baby contributors that the issue it is attached to may be a safe one to start with.
while i still imagine myself as a baby contributor, the truth is that i’m really not anymore. it’s been almost a year since i wrote my first line of code in dan shiffman’s “intro to computational media” class, and i’ve been inching my way into open source projects ever since. so that’s where i’m at. one year in. this good-first-bug bug should be a piece of cake. here’s the bug/issue:

add a link? nbd. i followed all the instructions on the test pilot readme for setting up a development environment , but i hit a 404 page when i tried to navigate to the development server. and then there were npm errors related to gulp. and development permissions issues. and that was setting up the dev environment before editing any files. which, by the way, which file is this url supposed to live in anyway?
it turns out test pilot uses ampersand.js for data binding. which, as far as i can tell, basically means that we’re not directly editing html, but templates for html files. “models” or something. yes, something about scalability. so dave clarified:

to load the dummy data, per step 6, you need the super secret docker command:
<code>docker exec testpilot_server_1 ./manage.py loaddata fixtures/demo_data.json</code>
which lives in this 3-month-old issue here .
i thought i was in the clear, but i hit another error after that:

how can you say “discourse_url does not exist” when it totally DOES exist BECAUSE I JUST WROTE IT?
sweet salvation finally came in the form of a previous test pilot bug fix for an issue that was basically exactly the same as the one i was working on: “ add link to experiment model ”
after reviewing that commit, i saw that what i was missing, what was producing the “does not exist” error for me, was that i hadn’t yet created a particular python script in the experiments/migrations/ folder.
i’m not totally clear on what that script does―i copy/pasted dave’s script and adjusted it for the changes i was making―but my guess, judging by the folder name “migrations” and the python code that says something like “add a field to the experiment model” is that it tells some part of the add-on that a new thing has been added and that the add-on should incorporate it instead of ignoring it.
okay. the point of this has not been to be boring for boring’s sake. it has been to say: “good-first-bug” is relative. sometimes things that are named hard are easy. sometimes, things that are named intro-level are not. ask for help. iz okay.