Kumu / Start Here

Student Onboarding — your AI + GitHub foundation

Do this once · works for every course ~30–45 minutes

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.

Looking for your course? Your schedule lists it by code: the course materials repository.

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 work your way. You start building that setup today, with your bio and resume as the first project.

The five steps every project follows

Every case and project on this site moves through the same five steps. This is the one list; other pages link here.

  1. Frame. Write a short brief: the question that needs answering, and for whom.
  2. Specify. Write a spec: what a correct result must do, before anything is built.
  3. Build with AI. Direct the AI to execute your spec, and keep the prompt log.
  4. Validate. Check the output against your spec and the sources, and fix what broke.
  5. Decide. Write the decision memo: make the call and defend it in your own words.

You draft first and AI reviews; the doer–reviewer dilemma explains why.

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. 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. Any email works for your GitHub account; for the free GitHub Education benefits, add your school address under Settings › Emails and apply, which is optional and never graded. Either way you end up with one account you keep after graduation.

#What you doWhy it matters
1Create a github.com account with any email you keepYour login. The GitHub Education benefits are optional; the note above says how to add them
2Pick a professional username (firstname-lastname beats a gamer tag)Employers and reviewers see it, so treat it like a business card
3Install GitHub Desktop (no command line needed to start)Commit and push with buttons; the mental model is what counts: add → commit → push
4Create a public portfolio repo named after you (firstname-lastname) with a READMEPublic 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
5Write your bio into README.md, the file GitHub shows first, and add RESUME.md (the write-and-review step below helps with both). No separate BIO.md: one file, the one a reader opens.The first two files a reader of your repo opens
6Hand the mechanics to an AI: the folder skeleton, AGENTS.md tailored to your resume, CLAUDE.md, .gitignore, and a prompt log it keeps for you: one prompt does all of itSetup is a means to the work, not the work; spend your attention on the bio and the resume

Public repository, private material

The repository is public, and a case built on published givens has nothing confidential in it. For anything sensitive you would use in your own work (customer records, employee details, pricing, contracts, financials that are not already public) you have two options:

  • Keep it on your computer. Add the file or folder to .gitignore so it never leaves your machine, and summarize it in your work at the level you are comfortable sharing: shares and totals rather than records.
  • Keep it out of the repository and email it instead. Nothing is deducted for material sent privately.

Deleting a file does not remove it from the history. If something sensitive is already committed, email before doing anything else.

Paste your portfolio repo URL

Saved only in this browser. It lets each project's stage pages check GitHub for your submissions and show your progress on 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:

WhatWhy it matters
Version historyEvery save (a commit) is permanent and described. Something breaks? Roll back to any earlier version. Nothing is ever really lost.
Portfolio artifactYour profile is public, and a clean repo is evidence you can point to, not a claim you make.
Submission is the audit trailIn every course here you "submit" by committing. Your commit history is the record of what you did and when. There is 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.

LocalRemote
WhereA folder on your own machineOn GitHub's servers, at github.com/you/your-repo
Who can see itOnly youAnyone, if the repository is public
What it holdsYour files, plus the history of every commit you have madeThe history of every commit you have pushed
Changed byEditing files, then committingPushing — 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.

VerbWhat it doesIn GitHub DesktopCommand line
add (stage)Pick which changed files go in this saveChanges tab: tick the filesgit add .
commitA permanent, described snapshot: your save pointType a Summary, click Commit to maingit commit -m "Stage 1 memo"
pushUpload your commits so they land on GitHub (and reach your instructor)Push origingit 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. Make at least two meaningful commits per stage, each saying what changed.

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:

Git won't track an empty folder

Git tracks files, never empty directories, which is 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 the course LMS 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:

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 that re-read's score is final.

When something goes wrong (it will)

These six trip people up in the first week. None is a big deal: Git tracks everything, so almost nothing is truly unrecoverable.

SymptomWhat happenedFix
"Everything up-to-date" but nothing shows on GitHubYou committed but didn't push, or never staged the fileStage the file, Commit, then Push origin (CLI: git add . → git commit → git push)
fatal: not a git repositoryYour terminal isn't inside the project foldercd firstname-lastname to step into the cloned folder first
Edited the wrong file, want it backNothing lost: the last commit still holds the good versionDesktop: right-click the file → Discard changes. CLI: git checkout -- filename
rejected — failed to pushA 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'tIt's telling the truth. A chat window's repo connection reads; only a coding tool writes. Both vendors work this wayAdd 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 stuckYou ran git commit with no message, so Git opened one for youType 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.

CommandWhat it does
git clone <url>Download a repo for the first time
git statusSee what's changed
git add .Stage all changes for the next commit
git commit -m "msg"Save a described snapshot
git pushUpload commits to GitHub
git pullDownload the latest changes from GitHub
git log --onelineView commit history, one line each
Useful linkWhat it's for
github.comCreate an account, view repos
desktop.github.comGitHub Desktop, the visual Git client
education.github.comStudent Developer Pack: optional and never graded; GitHub asks for your school address under Settings › Emails
git-scm.comInstall Git (for the command line)
code.visualstudio.comVS 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, but there is 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 while you write your bio and resume?

Saved. Kumu will work this way whenever you bring it your bio or resume. 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 — Write & review your bio and resume (~20 min)

Your portfolio needs a bio at the top of README.md, the file GitHub renders first, and a one-page RESUME.md, both in Markdown. Your bio is a human draft first: 200–400 words, written by you in your repo's README.md. AI may review it, never draft it. (who drafts first). Kumu works these with you, in whatever role you chose above; career documents aren't graded analysis, so review help is fair game. Structured starting points: the course repo's bio template and resume template.

Own the words, and disclose

Try two or three angles in your own drafts, pick the strongest, then let AI review it, and take a suggestion only where it still sounds like you. If AI helped, add one line at the bottom of the file: "Reviewed with help from Claude (Anthropic, 2026); written and edited by me."

Step 4 — Start your personal LLM foundation

These habits make an AI setup compound. You'll practice them in your courses; they are listed here because they outlast any course.

HabitWhat it isCareer payoff
A personal preferences fileAn 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, on any project
SkillsReusable SKILL.md files for tasks you repeat: resume tailoring, memo formatting, model checkingYour best workflows become one-line invocations instead of re-explained instructions
Slash commandsShort command files (e.g. /review-bio) that trigger a skill with one keystroke in tools like Claude CodeThe difference between "I know how to prompt" and "I have tooling"
The prompt logA running prompt-log.md of meaningful AI sessions: what you asked, what it got wrong, how you caught it. You do not keep it by hand: a standing rule in AGENTS.md has the assistant append an entry at the end of every session, never backfilledA record of what the AI got wrong and how you caught it
Decision memosA dated file in docs/decisions/ each time you decide something you'd otherwise have to re-argue laterMemory 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 four 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:

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.

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.

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 its AI build stage, 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

Check yourself