A small teaching repo for practicing Cursor on a narrow task: build a Python script that annotates HIV DNA sequences under constraints given in the video.
- Open this folder in Cursor.
- Skim the biology background: docs/biology-primer.md.
- Set up a project-local Python env (see below).
- Formulate your own solution with Cursor or following along with my prompts in
prompts/workshop-prompts.md.
Download and install Cursor from Cursor. When installing Cursor, if you use a .edu email, you can get a free year of Cursor Pro. Then, download and unzip the latest release from GitHub Releases, save it to your desired location, and then unzip the folder. Finally, open the repository root in Cursor by selecting File → Open Folder → select this repository root (the one with the README.md file).
You can use your own Python environment or ask the agent to use the project skill setup-python (or @setup-python). It downloads micromamba into .micromamba/ and creates ./.venv from environment.yaml (Python 3.12). Works on Linux, macOS, WSL, and Windows.
| Path | Purpose |
|---|---|
docs/biology-primer.md |
HIV / DNA / FASTA primer |
data/ |
Input sequences (add your FASTA here) |
scripts/ |
Annotation code stub |
out/ |
Generated outputs |
prompts/workshop-prompts.md |
Video copy-paste prompts |
.cursor/skills/setup-python/ |
Env bootstrap skill |
AI coding is, by its nature, a stochastic process. So, each run will produce a different result. If you would like to follow along closely with my video I have included:
- The prompts I used to guide the AI
prompts/workshop-prompts.md - The plan I used to guide the AI
prompts/workshop.plan.md - The conversation history I used to guide the AI
prompts/workshop.chat.md
By default these are ignored by Cursor using the .cursorignore file.
However, if you would like to use them and get a closer answer to the video, you can use the @reference to the file in your prompts.
The videos descriptions and timecodes are in the file docs/videos.md.
A working annotation script under scripts/ and annotated outputs under out/, matching the constraints in the pasted prompts.