Your first AI GitHub repo — tiny chat CLI with mock tests. Clone, run, understand.
Karpathy energy for regular people: one idea, runnable in a minute, tests that pass with no API key.
git clone https://github.com/primeodin/first-commit-ai.git
cd first-commit-ai
pip install -e ".[dev]"
pytest
python -m first_commit_ai --mock "hi"You should see a [mock] reply. That means the wiring works before you spend a token.
export OPENAI_API_KEY=sk-...
# optional local / compatible servers:
# export OPENAI_BASE_URL=http://localhost:11434/v1
# export OPENAI_MODEL=llama3.2
python -m first_commit_ai "Explain Git remotes like a shop dad."| File | Job |
|---|---|
src/first_commit_ai/cli.py |
Args + exit codes |
src/first_commit_ai/client.py |
OpenAI-compatible HTTP + --mock |
tests/ |
Proof it works offline |
.github/workflows/ci.yml |
Same checks on every push |
- Edit
DEFAULT_SYSTEMinclient.py— make the voice yours - Point
OPENAI_BASE_URLat Ollama or another compatible server - Add a second command (e.g.
--system "...") and a test for it — see good first issues
Tiny, tested teaching repos — starter → mid. Ship one, read it, then climb:
| Lane | Repo | Why open it |
|---|---|---|
| Starter (this) | first-commit-ai | Mock-first chat CLI + pytest |
| Starter RAG | notes-rag | Retrieve, cite, answer over Markdown notes |
| Starter tokenizer | tiny-bpe-tokenizer | Watch text become token IDs — merges worked by hand, code landing |
| Attention mid | attention-warrior | Transformer attention you can hold in one hand |
| Shop skills | mister-jay | Interactive DIY drills (vehicle, electrical, plumbing) — live |
| Literacy (Sinhala) | jay-ai-sinhala | Friends 70+ learning GitHub + AI — live |
| Systems DIY | camera-selector | NVR/Frigate camera planning — live |
Weekday cadence, in order: chat CLI → RAG → tokenizer (building now) → tool agent → prompt lab → embeddings → vision → memory → shop-skill explainer.
Profile forge: github.com/primeodin
Most "AI starter" repos bury you under frameworks. This one is small enough to read on a coffee break, then push as your first public AI commit.
MIT