Kumu / Start Here
Student Onboarding — your AI + GitHub foundation
Every course on this site assumes two tools: a public GitHub portfolio and an AI you've taught to work your way. This page sets up both — none of it is course-specific, and all of it carries straight into your career.
Why this isn't just course setup
You're building two things at once. The obvious one: the accounts and habits your course projects require. The bigger one: your personal LLM foundation — the preferences, prompts, skills, and logs that make an AI assistant genuinely yours. Professionals who carry a tuned AI setup between jobs get dramatically more out of these tools than people who start from a blank chat window every time. You start building that setup today, with your bio and resume as the first project.
Step 1 — GitHub, done right (~15 min)
Every course on this site opens with Stage 0, and Stage 0 has two parts. This is part 1: the account, and the mechanics of saving work to it (the Git mechanics section below). Steps 4–5 get a bare repo and your first two files in place; part 2 then builds it out to the standard your courses expect — and it assumes you have finished this page.
Already have a GitHub account?
Use it. One account, one portfolio, every course — do not create a second
one; add your hawaii.edu address to the account you already have, under
Settings → Emails, and the education benefits attach to it. If you're starting from
scratch, follow the steps below and sign up with that hawaii.edu address from the
beginning: it is what unlocks GitHub
Education. Either way you end up with one account you keep after graduation.
| # | What you do | Why it matters |
|---|---|---|
| 1 | Create a github.com account with your .edu email | Unlocks free GitHub Education benefits — GitHub Pro, Copilot, and more |
| 2 | Pick a professional username (firstname-lastname beats a gamer tag) | Employers and reviewers see it — it's a second business card |
| 3 | Install GitHub Desktop (no command line needed to start) | Commit and push with buttons; the mental model is what counts: add → commit → push |
| 4 | Create a public portfolio repo named after you — firstname-lastname — with a README | Public is the point — a reviewer must be able to open it without logging in. Check yours in an incognito window. Name it for the person, not a course: it outlives every class |
| 5 | Add BIO.md and RESUME.md (the draft-and-review step below helps you write them) | The two highest-leverage, lowest-effort career artifacts you can ship this week |
Paste your portfolio repo URL
Saved only in this browser. It lets each project's stage pages check GitHub for your submissions and unlock the next stage's checklist — it's pacing, not a grade, and nothing about your repo leaves your machine except the check itself.
What GitHub actually is (the 30-second version)
GitHub is Google Docs for code and documents — a cloud platform for version control. Three things it buys you, and why each one matters here:
| What | Why it matters |
|---|---|
| Version history | Every save (a commit) is permanent and described. Something breaks? Roll back to any earlier version — nothing is ever really lost. |
| Portfolio artifact | Your profile is public. Employers and grad programs look — a clean repo is evidence you can point to, not a claim you make. |
| Submission is the audit trail | In every course here you "submit" by committing. Your commit history is the record of what you did and when — no separate upload. |
Two copies: local and remote
Every repository exists in two places at once, and most first-week confusion is really confusion about which one you are looking at.
| Local | Remote | |
|---|---|---|
| Where | A folder on your own machine | On GitHub's servers, at github.com/you/your-repo |
| Who can see it | Only you | Anyone, if the repository is public |
| What it holds | Your files, plus the history of every commit you have made | The history of every commit you have pushed |
| Changed by | Editing files, then committing | Pushing — nothing else |
Saving a file changes nothing anyone else can see. Committing changes nothing anyone else can see. Only a push moves work from your machine to GitHub. This is why "I definitely did it" and "it is not in your repository" are both true more often than you would expect — the work exists, locally, and was never pushed.
The reverse trip is pull: it brings commits from the remote down to your machine. You need it when you have worked from a second computer, edited a file on github.com, or are working with anyone else.
The three verbs: add → commit → push
The whole of Git you need to start is three moves, run every time you finish a piece of work. There are two ways to run them — a visual app (GitHub Desktop, the easiest start) or the command line. The mental model is identical; pick whichever you like.
| Verb | What it does | In GitHub Desktop | Command line |
|---|---|---|---|
| add (stage) | Pick which changed files go in this save | Changes tab — tick the files | git add . |
| commit | A permanent, described snapshot — your save point | Type a Summary, click Commit to main | git commit -m "Stage 1 memo" |
| push | Upload your commits so they land on GitHub (and reach your instructor) | Push origin | git push |
Descriptive commit messages, always
A commit message is a note to your future self and your reviewer. Write
"Add bio focused on FX and emerging markets", not update or fix.
Every course here grades commit hygiene in part — at least two meaningful commits per stage.
No install at all: edit right on github.com
You don't strictly need Desktop or a terminal to submit small text files — the GitHub website can do it. On your repo page:
- Add a file: Add file → Create new file, type (or paste) the contents, then Commit changes at the bottom. That single action is an add + commit + push in one.
- Name it: type the filename in the box at the top, e.g.
docs/decisions/2026-08-01-lastname-hedge-framing.md. - Make a folder: there's no "new folder" button — instead type the folder
into that same filename box. Every
/you type creates a folder, sodocs/decisions/memo.mdbuilds both folders and the file at once. That's how you stand up the skeleton straight from the browser.
Git won't track an empty folder
Git tracks files, never empty directories — which is exactly why the repo skeleton
drops a stub README.md in every folder. That one-line README is what makes the
folder exist in the repo at all. Don't delete them.
.gitignore — deciding what never enters the history
Git's central promise is that nothing is lost. That promise runs in both directions: a file committed once stays in the repository history even after you delete it, because the history is the record of what was true at each commit. Deleting the file in a later commit records the deletion — it does not remove the earlier copy, and anyone can still read it. Removing something from history properly means rewriting every commit after it, which is disruptive and easy to get wrong.
So the only clean approach is to keep the file out in the first place. That is what
.gitignore does: a plain-text file at the repository root listing patterns Git should
pretend it cannot see.
Two categories belong in it. Junk — the hidden temp files Office and your operating system create constantly, which are noise in a diff and confusing to a reader. Anything that must never be published — credentials, personal data, licensed material. The full list and the reasoning are on AI conventions; the mechanical half is here.
Create the file at the repository root. The leading dot is required. On Windows, save it from a
text editor with quotes around the name — ".gitignore" — or Notepad will append
.txt and it will not work.
# Office and OS temp files
~$*.xlsx
~$*.xlsm
~$*.docx
~$*.pptx
.DS_Store
Thumbs.db
# Editor backups
*.tmp
*.bak
*~
# Never publish
.env
*.key
*.pem
secrets/
private/
If ~$model.xlsx or anything like it ever appears in your Changes panel, the file
is missing, misnamed, or in the wrong folder. Fix that before committing rather than after.
Starter prompt — generate your own
Generate a .gitignore for a public GitHub repository that holds Excel workbooks,
Markdown documents, and exported chart images, worked on from both Windows and macOS.
Include patterns for Office lock and temp files, OS metadata files, editor backups,
and anything that would carry credentials or an environment file. Add a comment above
each group explaining what it catches. Do not exclude .xlsx, .md, .png, or .csv —
those are the deliverables.
Read every line before committing it. Generated ignore files sometimes exclude a whole file type you actually need to submit, and the failure is silent: the file simply never appears on GitHub, and you find out when somebody tells you your work is missing.
How work is submitted
Committing and pushing is the submission. Work is graded by inspecting the repository at the deadline, so the commit history is both the deliverable and the record of when you did it. There is no separate upload of the files themselves.
The one thing that goes to Lamaku is the pointer: your public repository URL, submitted once. After that, everything you push is visible without any further action from you. Confirm the URL opens in a private browser window — if it asks for a login, the repository is still private and nothing you push can be read.
Two habits make this work in your favor rather than against it:
- Commit as you go, not at the end. A repository that shows steady work across the whole window reads as steady work. One commit an hour before a deadline reads as one hour of work, whether or not that is true.
- Push every time. A local commit is invisible. See local and remote above.
Revisions after the deadline
Improvements you commit after a deadline can raise a score. The repository is re-read once
after the deadline passes, the same criteria are applied to whatever state it is in, and the
result stands — a sharper hypothesis, a real bio, a fixed .gitignore all count. You
do not need to email anyone or open an issue; revise the files and push. One re-read per stage,
and the score locks when it runs.
When something goes wrong (it will)
Six things trip up nearly everyone the first week. None are a big deal — Git tracks everything, so almost nothing is truly unrecoverable.
| Symptom | What happened | Fix |
|---|---|---|
| "Everything up-to-date" but nothing shows on GitHub | You committed but didn't push — or never staged the file | Stage the file, Commit, then Push origin (CLI: git add . → git commit → git push) |
fatal: not a git repository | Your terminal isn't inside the project folder | cd firstname-lastname to step into the cloned folder first |
| Edited the wrong file, want it back | Nothing lost — the last commit still holds the good version | Desktop: right-click the file → Discard changes. CLI: git checkout -- filename |
rejected — failed to push | A newer commit exists on GitHub (you pushed from another device, say) | Pull first, then Push (CLI: git pull → git push) |
| You asked an AI to commit and push for you, and it said it can't | It's telling the truth. A chat window's repo connection reads — only a coding tool writes. Both vendors work this way | Add the file on github.com as above — for a memo it's faster anyway. Full diagnosis: When the AI says it can't commit |
| A text editor opened and you're stuck | You ran git commit with no message, so Git opened one for you | Type your message, press Esc, type :wq, press Enter. Avoid it entirely: always git commit -m "your message". |
Git cheat sheet
Seven commands cover almost everything you'll do this term. Keep this open in a tab.
| Command | What it does |
|---|---|
git clone <url> | Download a repo for the first time |
git status | See what's changed |
git add . | Stage all changes for the next commit |
git commit -m "msg" | Save a described snapshot |
git push | Upload commits to GitHub |
git pull | Download the latest changes from GitHub |
git log --oneline | View commit history, one line each |
| Useful link | What it's for |
|---|---|
| github.com | Create an account, view repos |
| desktop.github.com | GitHub Desktop — the visual Git client |
| education.github.com | Student Developer Pack — free Pro with your .edu email |
| git-scm.com | Install Git (for the command line) |
| code.visualstudio.com | VS Code — a free text editor |
Step 2 — Tell your AI how you want to work (~5 min)
There's no single right way to use an LLM — there's a default pattern the courses recommend (AI drafts, you edit and own the result) and then there's your way. Pick what fits you below. Your choices are saved in this browser and Kumu reads them on every page, so the tutor adapts to you instead of lecturing you with rules.
What role would you like the LLM to play in drafting your bio and resume?
Saved. Kumu will work this way whenever you bring it your bio or resume — and if you use any AI on a career document, add a one-line disclosure at the bottom naming the tool and what it did.
How do you like things explained?
Saved. Every Kumu answer on this site will use this style.
When your reasoning has a gap, how should Kumu tell you?
Saved. (You can come back and change any of these — Kumu updates immediately.)
Would you like to turn these preferences into a reusable skill — a file that teaches any Claude session how you work, forever?
A skill is just a Markdown file (SKILL.md) in your repo that
an AI reads before helping you — your preferences, your standards, your examples. Committed to
your portfolio, it follows you to every project and every job. This is the seed of your
personal AI toolkit.
Step 3 — Draft & review your bio and resume (~20 min)
Your portfolio needs a 150–200 word BIO.md and a one-page RESUME.md,
both in Markdown. Kumu works these with you, in whatever role you chose above —
career documents aren't graded analysis, so drafting help is fair game. Structured starting
points: the course repo's
bio template
and resume template.
Career documents aren't graded analysis, so AI drafting help is fair game — use your own AI (Claude, ChatGPT) for this step. Same rules apply: edit until it sounds like you, and disclose the AI's help.
Own the words — and disclose
Run 2–3 angles, pick the strongest, then edit until it sounds like you — the first AI draft is rarely the best one. If AI helped, add one line at the bottom of the file: "Drafted with help from Claude (Anthropic, 2026); reviewed and edited by me."
Step 4 — Start your personal LLM foundation
Four habits separate people who use AI from people who get compounding value from it. You'll practice all four in your courses; they're listed here because they're not really course habits — they're career habits.
| Habit | What it is | Career payoff |
|---|---|---|
| A personal preferences file | An AGENTS.md in your repo — who you are, how you like to work, your standards — plus a one-line CLAUDE.md pointing at it, so any tool finds it. What goes in it → | Every AI session starts warm instead of cold — at any employer, on any project |
| Skills | Reusable SKILL.md files for tasks you repeat — resume tailoring, memo formatting, model checking | Your best workflows become one-line invocations instead of re-explained instructions |
| Slash commands | Short command files (e.g. /review-bio) that trigger a skill with one keystroke in tools like Claude Code | The difference between "I know how to prompt" and "I have tooling" |
| The prompt log | A running prompt-log.md of meaningful AI sessions: what you asked, what it got wrong, how you caught it | Verifiable AI literacy — the exact evidence employers are starting to ask for |
| Decision memos | A dated file in docs/decisions/ each time you decide something you'd otherwise have to re-argue later | Memory that outlives the conversation — for your teammates, for future you, and for the model |
Why decision memos matter more than they look like they do
The other three habits make an AI session start well. This one is what stops you from having the same session again in six weeks.
A decision memo is a short dated file recording something you settled — a tool, an approach, a structure, a thing you tried and rejected. It reads as bureaucracy until the first time you need one, and then it is the most valuable file in the repository, because it serves three readers at once:
- The teammate who joins in week six and asks why the project is built this way. Without the memo, the honest answer is "someone decided that before I got here," and the team relitigates it.
- You, in month nine, when somebody senior asks why you chose this. "It seemed right at the time" is a bad answer to a question you already answered well once.
- The model. This is the part people miss. An AI reading your repository
reads
docs/decisions/along with everything else — so it stops proposing the approach you already rejected, and it stops needing to be told your constraints at the start of every session. A conventions file says how you work. Decision memos say what has already been settled, and why. Together they are the closest thing an AI has to a memory of working with you.
Four fields carry it: what was decided · why · who decided it · what would reverse it. The last one is what separates a decision record from a diary, and it is the one everybody skips. A decision nobody can name the conditions for undoing isn't a decision — it's a habit that hardened. The structure is on Deliverable templates; the courses here use it for every engagement's recommendation memo, so you will have written several before the term is out.
This site runs on the practice it is describing
Kumu is built out of a repository whose docs/decisions/ folder holds exactly
these memos — why the site is organized by subject rather than by course code, why cases are
named for concepts, what the AI-use boundary is and what would move it. When a decision here
gets revisited, the memo is what gets read first, and more than one proposal has been withdrawn
because a memo already answered it. The habit is not being recommended from theory.
Created a skill in Step 2? Commit it to your portfolio repo now —
.claude/skills/ is the conventional home — and it's real: version-controlled,
portable, improvable.
Next stop, when a course project reaches the stage where an AI does the assembly: read the AI Tools Lab — which tool to open, how to hand it your repo, and how to stay the auditor while it types.
Onboarding checklist
- GitHub account created with my .edu email; GitHub Education benefits activated
- Professional username — checked how it reads on a business card
- GitHub Desktop installed; I can explain add → commit → push in one sentence each
- Public portfolio repo created with a README — verified it opens in an incognito window
- Working-style preferences saved above (Kumu now adapts to me on every page)
BIO.mddrafted, edited in my own words, committed — AI-disclosure line included if AI helpedRESUME.mdcommitted — one page, quantified bullets, disclosure line if AI helped- Personal skill created with Kumu and committed (or pointed Kumu at my existing one)