Skip to content
Open

team #220

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
708 commits
Select commit Hold shift + click to select a range
e9a2fc9
feat(phase-18/18): add quiz.json
rohitg00 May 22, 2026
ea23e2c
feat(phase-18/19): add quiz.json
rohitg00 May 22, 2026
44e4adc
feat(phase-18/20): add quiz.json
rohitg00 May 22, 2026
9323c2d
feat(phase-18/21): add quiz.json
rohitg00 May 22, 2026
86d146c
feat(phase-18/22): add quiz.json
rohitg00 May 22, 2026
8f84724
feat(phase-18/23): add quiz.json
rohitg00 May 22, 2026
970d85d
feat(phase-18/24): add quiz.json
rohitg00 May 22, 2026
31e386d
feat(phase-18/25): add quiz.json
rohitg00 May 22, 2026
b82ae82
feat(phase-18/26): add quiz.json
rohitg00 May 22, 2026
3521cfb
feat(phase-18/27): add quiz.json
rohitg00 May 22, 2026
90c26fd
feat(phase-18/28): add quiz.json
rohitg00 May 22, 2026
7b04625
feat(phase-18/29): add quiz.json
rohitg00 May 22, 2026
0f185eb
feat(phase-18/30): add quiz.json
rohitg00 May 22, 2026
9bc184a
chore(catalog): rebuild after phase 18 quiz backfill
rohitg00 May 22, 2026
572b7fb
feat(phase-05/01): add quiz.json
rohitg00 May 22, 2026
3040929
feat(phase-05/02): add quiz.json
rohitg00 May 22, 2026
496876a
feat(phase-05/03): add quiz.json
rohitg00 May 22, 2026
c7bb439
feat(phase-05/04): add quiz.json
rohitg00 May 22, 2026
31cb3ba
feat(phase-05/05): add quiz.json
rohitg00 May 22, 2026
e4affca
feat(phase-05/06): add quiz.json
rohitg00 May 22, 2026
2463e40
feat(phase-05/07): add quiz.json
rohitg00 May 22, 2026
0ae84cf
feat(phase-05/08): add quiz.json
rohitg00 May 22, 2026
be96aa1
feat(phase-05/09): add quiz.json
rohitg00 May 22, 2026
0daf19b
feat(phase-05/10): add quiz.json
rohitg00 May 22, 2026
0df99b7
feat(phase-05/11): add quiz.json
rohitg00 May 22, 2026
559964a
feat(phase-05/12): add quiz.json
rohitg00 May 22, 2026
92f3e12
feat(phase-05/13): add quiz.json
rohitg00 May 22, 2026
057df5b
feat(phase-05/14): add quiz.json
rohitg00 May 22, 2026
c0dadc3
feat(phase-05/15): add quiz.json
rohitg00 May 22, 2026
14c43bf
feat(phase-05/16): add quiz.json
rohitg00 May 22, 2026
988fb56
feat(phase-05/17): add quiz.json
rohitg00 May 22, 2026
d47fb6e
feat(phase-05/18): add quiz.json
rohitg00 May 22, 2026
6847e69
feat(phase-05/19): add quiz.json
rohitg00 May 22, 2026
d627da8
feat(phase-05/20): add quiz.json
rohitg00 May 22, 2026
6479e63
feat(phase-05/21): add quiz.json
rohitg00 May 22, 2026
44ef4e8
feat(phase-05/22): add quiz.json
rohitg00 May 22, 2026
7df4d97
feat(phase-05/23): add quiz.json
rohitg00 May 22, 2026
024bf1c
feat(phase-05/24): add quiz.json
rohitg00 May 22, 2026
c9b2a7f
feat(phase-05/25): add quiz.json
rohitg00 May 22, 2026
5e85117
feat(phase-05/26): add quiz.json
rohitg00 May 22, 2026
01e47df
feat(phase-05/27): add quiz.json
rohitg00 May 22, 2026
fe246ce
feat(phase-05/28): add quiz.json
rohitg00 May 22, 2026
c9d659a
feat(phase-05/29): add quiz.json
rohitg00 May 22, 2026
a12844c
chore(catalog): rebuild after phase 5 quiz backfill
rohitg00 May 22, 2026
db62d31
fix(phase-18): randomize correct positions + dedupe option text
rohitg00 May 23, 2026
4026f96
fix(phase-05): randomize correct positions + fix ambiguous MCQ
rohitg00 May 23, 2026
f5ed3b0
fix(phase-19): randomize correct-answer positions across quizzes
rohitg00 May 23, 2026
524d66b
fix(site): render check-stage quiz between Build and Use
rohitg00 May 23, 2026
e2c2732
feat(phase-17): quiz backfill, 0/28 -> 28/28 (#151)
rohitg00 May 23, 2026
0f961ba
Merge pull request #148 from rohitg00/feat/phase19-quizzes
rohitg00 May 23, 2026
e86c007
Merge pull request #152 from rohitg00/fix/quiz-check-stage-rendering
rohitg00 May 23, 2026
4415dc8
Merge pull request #150 from rohitg00/feat/phase5-quizzes
rohitg00 May 23, 2026
1273ea1
feat(site): masthead star + follow buttons with live count
rohitg00 May 25, 2026
ebb9538
fix(site): unify GH star fetch into header.js, drop inline duplicate
rohitg00 May 25, 2026
22d328c
Merge pull request #166 from rohitg00/feat/masthead-github-buttons
rohitg00 May 25, 2026
c655492
chore(site): bump asset version to bust cdn cache
rohitg00 May 25, 2026
03983ef
Merge pull request #167 from rohitg00/feat/masthead-github-buttons
rohitg00 May 25, 2026
4ca6f48
docs(readme): add current sponsors row
rohitg00 May 25, 2026
702b759
Merge pull request #170 from rohitg00/docs/readme-current-sponsors
rohitg00 May 25, 2026
d0eca9a
fix(phase-18): tighten EchoLeak/NIST/Azure/Mitchell wording per sourc…
rohitg00 May 25, 2026
58f39ac
fix: tighten crewai claims + clarify skills install hint + readme lay…
rohitg00 May 25, 2026
dbaef62
Merge pull request #149 from rohitg00/feat/phase18-quizzes
rohitg00 May 25, 2026
0408294
Merge pull request #171 from rohitg00/fix/coderabbit-trailing-findings
rohitg00 May 25, 2026
14c817a
docs(readme): lead with npx skills add, list agent-neutral target paths
rohitg00 May 25, 2026
664862f
Merge pull request #173 from rohitg00/docs/readme-skills-sh-lead
rohitg00 May 25, 2026
14fd6b0
feat(phase-00/01): add rust port of dev environment verifier
rohitg00 May 25, 2026
6453609
feat(phase-01/04): add julia port of calculus for ml
rohitg00 May 25, 2026
ab95074
feat(phase-07/02): add rust self-attention kernel
rohitg00 May 25, 2026
ff5ac1c
feat(phase-00/01): add typescript port of dev-environment verifier
rohitg00 May 25, 2026
74d2144
feat(phase-04/15): add rust port of edge inference latency benchmark
rohitg00 May 25, 2026
d4db74b
feat(phase-00/04): add typescript port of first-api-call walkthrough
rohitg00 May 25, 2026
eabdd8a
feat(phase-01/05): add julia port of chain rule and autodiff
rohitg00 May 25, 2026
6fccda2
feat(phase-06/11): add rust port of real-time audio frame pipeline
rohitg00 May 25, 2026
8bab0b7
feat(phase-07/03): add rust multi-head + grouped-query attention
rohitg00 May 25, 2026
5ad908d
feat(phase-13/01): TypeScript port of tool interface loop
rohitg00 May 25, 2026
1b3c382
feat(phase-01/06): add julia port of probability and distributions
rohitg00 May 25, 2026
430c110
feat(phase-10/11): add rust port of int8 quantization + bit-width sweep
rohitg00 May 25, 2026
516436e
feat(phase-07/04): add rust positional encoding port
rohitg00 May 25, 2026
44b7428
feat(phase17·13): TypeScript port — OpenTelemetry GenAI tracer + rete…
rohitg00 May 25, 2026
8ac6a40
feat(phase-11/03): add typescript port of structured-output schema demo
rohitg00 May 25, 2026
4b5bd93
chore(catalog): rebuild after rust pass 1
rohitg00 May 25, 2026
944db1c
feat(phase-13/07): TypeScript port of toy MCP server
rohitg00 May 25, 2026
2e65fe2
feat(phase-01/08): add julia port of optimization methods
rohitg00 May 25, 2026
663f90e
feat(phase-11/05): add typescript port of context-budget + sliding wi…
rohitg00 May 25, 2026
6578173
docs(readme): sync lang column to on-disk source files
rohitg00 May 25, 2026
107bac1
feat(phase17·14): TypeScript port — LRU+TTL + semantic cache + two-la…
rohitg00 May 25, 2026
097b053
feat(phase-05-19): add TypeScript port of BPE subword tokenization
rohitg00 May 25, 2026
ab41f75
feat(phase-10/04): add rust mini-gpt forward pass
rohitg00 May 25, 2026
64a775f
feat(phase-13/19): TypeScript port of A2A research-to-writer flow
rohitg00 May 25, 2026
cd28e4e
feat(phase-03/01): add julia port of perceptron and trained mlp
rohitg00 May 25, 2026
c12de55
feat(phase-11/06): add typescript port of minimal tf-idf rag pipeline
rohitg00 May 25, 2026
dc1d5bc
feat(phase-14/01): TypeScript port of toy ReAct agent loop
rohitg00 May 25, 2026
ace9b49
feat(phase-03/04): add julia port of activation functions
rohitg00 May 25, 2026
5f6d6a0
feat(phase-14/18): add typescript port of mastra-shaped agent + workf…
rohitg00 May 25, 2026
ee9a772
feat(phase-02/02): add julia port of linear regression
rohitg00 May 25, 2026
0eff9c8
feat(phase-14/06): TypeScript port of tool routing with structured ou…
rohitg00 May 25, 2026
8bfddf5
feat(phase17-15): TypeScript port — batch dispatcher with deferred fu…
rohitg00 May 25, 2026
6cd0e57
chore(catalog): rebuild after typescript pass 1
rohitg00 May 25, 2026
d3ba225
feat(phase-03/05): add julia port of loss functions
rohitg00 May 25, 2026
9347c74
feat(phase-05-23): add TypeScript port of RAG chunking strategies
rohitg00 May 25, 2026
601f483
feat(phase-14/13): TypeScript port of stateful graph runner
rohitg00 May 25, 2026
e214696
feat(phase-02/03): add julia port of logistic regression
rohitg00 May 25, 2026
fae9302
feat(phase-10/12): add rust inference optimization port
rohitg00 May 25, 2026
e7f4c46
chore(catalog): rebuild after typescript pass 3
rohitg00 May 25, 2026
34be74a
chore(catalog): rebuild after rust pass 2
rohitg00 May 25, 2026
a971d40
feat(phase-03/03): add julia port of backpropagation
rohitg00 May 25, 2026
f5d7cc9
feat(phase17-16): TypeScript port — rule-based model router + cascade…
rohitg00 May 25, 2026
620454e
feat(phase-11-01): add TypeScript port of prompt engineering catalog
rohitg00 May 25, 2026
2fe2b8e
feat(phase-02/05): add julia port of support vector machines
rohitg00 May 25, 2026
9502f65
feat(phase17-19): TypeScript port — AI gateway skeleton (auth + rate …
rohitg00 May 25, 2026
1109f63
feat(phase-02/09): add julia port of model evaluation
rohitg00 May 25, 2026
a79f12c
feat(phase-11-04): add TypeScript port of embeddings and semantic search
rohitg00 May 25, 2026
9f2013a
feat(phase-07/01): add julia port of why-transformers
rohitg00 May 25, 2026
608fee0
chore(catalog): rebuild after julia phase 1-3 pass
rohitg00 May 25, 2026
b60b31a
feat(phase-07/02): add julia port of self-attention from scratch
rohitg00 May 25, 2026
dba3b21
feat(phase17-20): TypeScript port — shadow + canary + progressive rol…
rohitg00 May 25, 2026
fa95c6e
feat(phase-07/04): add julia port of positional encoding (sinusoidal,…
rohitg00 May 25, 2026
d304933
feat(phase-11-09): add TypeScript port of function calling and tool d…
rohitg00 May 25, 2026
e178f3c
chore(catalog): regenerate after Phase 17 TypeScript ports
rohitg00 May 25, 2026
92b8672
feat(phase-07/05): add julia port of full transformer with layernorm …
rohitg00 May 25, 2026
cb63014
chore(catalog): rebuild after phase 2 + 7 julia ports
rohitg00 May 25, 2026
fb4b3f9
feat(phase-11-12): add TypeScript port of LLM guardrails pipeline
rohitg00 May 25, 2026
8ebbb2d
chore(catalog): rebuild after typescript pass 2
rohitg00 May 25, 2026
3e13561
fix(phase-00/01): fail closed on unparseable python version
rohitg00 May 25, 2026
2c8f91c
fix(phase-10/11): report symmetric quantization levels as qmax-qmin+1
rohitg00 May 25, 2026
c9441f9
fix(readme): address CodeRabbit review
rohitg00 May 25, 2026
1edf62f
fix(phase-01/06): guard zero-divisor in conditional probability and l…
rohitg00 May 25, 2026
a252d44
fix(phase-03/03): align mse_loss to 0.5*sum-of-squares so backprop gr…
rohitg00 May 25, 2026
45d0949
fix(phase-03/04): align gelu forward with exact derivative and track …
rohitg00 May 25, 2026
ad2d333
fix(phase-03/05): validate LossNetwork loss_type at construction
rohitg00 May 25, 2026
15628f4
fix(phase-00/04): use current claude sonnet 4.5 alias
rohitg00 May 25, 2026
8730eb9
fix(phase-02/02): guard division-by-zero in r_squared and normal equa…
rohitg00 May 25, 2026
3d2b4cf
fix(phase-11/03): enforce maxItems on array schema parse and json schema
rohitg00 May 25, 2026
29249ca
fix(phase-10/04): address CodeRabbit review
rohitg00 May 25, 2026
a6e0e12
fix(phase-07/01): guard empty and non-positive inputs in public helpers
rohitg00 May 25, 2026
83c0314
fix(phase-07/02): validate n_heads and d_model before divisibility math
rohitg00 May 25, 2026
f0cdb15
fix(phase-07/04): enforce even d and positive head count for rope, si…
rohitg00 May 25, 2026
ae3f091
fix(phase-07/05): assert head-split contract in multi_head_attention …
rohitg00 May 25, 2026
48d182e
fix(phase-10/12): address CodeRabbit review
rohitg00 May 25, 2026
5d15f9f
fix(phase-05-23): guard chunking helpers against invalid args
rohitg00 May 25, 2026
8206830
fix(phase-11-01): validate unknown model names and bullet regex
rohitg00 May 25, 2026
64acea3
fix(phase-13/19): align targetLength naming in error message
rohitg00 May 25, 2026
401db1a
fix(phase-11-04): guard chunkText loop and speed up idf with Set
rohitg00 May 25, 2026
810e3d1
fix(phase-14/13): drop unused START constant and void suppression
rohitg00 May 25, 2026
2087ecf
fix(phase-17/19): accumulate retry+backoff+fallback latency, rename r…
rohitg00 May 25, 2026
4393243
fix(phase-17/20): guard shadow eval against zero baselines, store bas…
rohitg00 May 25, 2026
d692d00
Merge pull request #186 from rohitg00/feat/julia-coverage-phase-1-3
rohitg00 May 25, 2026
1517aa0
Merge branch 'main' into feat/rust-coverage-pass-1
rohitg00 May 25, 2026
77a36e6
Merge pull request #181 from rohitg00/feat/rust-coverage-pass-1
rohitg00 May 25, 2026
51198ac
Merge pull request #182 from rohitg00/chore/readme-lang-column-sync
rohitg00 May 25, 2026
30fc157
chore(catalog): sync code_files count to 447
rohitg00 May 25, 2026
c602e3d
Merge pull request #190 from rohitg00/chore/catalog-drift-fix
rohitg00 May 25, 2026
2442e1f
Merge branch 'main' into feat/typescript-coverage-pass-2
rohitg00 May 25, 2026
de03325
chore(catalog): rebuild after main merge (447 -> 453)
rohitg00 May 25, 2026
fcb86c0
Merge remote-tracking branch 'origin/main' into feat/typescript-cover…
rohitg00 May 25, 2026
6156276
Merge remote-tracking branch 'origin/main' into feat/typescript-cover…
rohitg00 May 25, 2026
bbca5b1
Merge remote-tracking branch 'origin/main' into feat/typescript-cover…
rohitg00 May 25, 2026
6eaf38b
Merge remote-tracking branch 'origin/main' into feat/rust-coverage-pa…
rohitg00 May 25, 2026
906a837
Merge remote-tracking branch 'origin/main' into feat/julia-coverage-p…
rohitg00 May 25, 2026
d181c17
Merge pull request #189 from rohitg00/feat/typescript-coverage-pass-2
rohitg00 May 25, 2026
3046c8f
Merge pull request #184 from rohitg00/feat/typescript-coverage-pass-3
rohitg00 May 25, 2026
c4e6169
Merge pull request #187 from rohitg00/feat/typescript-coverage-pass-4
rohitg00 May 25, 2026
e3c94dd
ci(curriculum): auto-regen catalog.json on PR/push instead of drift c…
rohitg00 May 26, 2026
6a140d8
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
5e0c93e
ci(curriculum): drop ref override on readme-counts-drift checkout
rohitg00 May 26, 2026
8ad665d
Merge pull request #194 from rohitg00/chore/catalog-auto-regen-ci
rohitg00 May 26, 2026
376038b
Merge remote-tracking branch 'origin/main' into feat/julia-coverage-p…
rohitg00 May 26, 2026
d85573b
Merge remote-tracking branch 'origin/main' into feat/typescript-cover…
rohitg00 May 26, 2026
977614d
Merge remote-tracking branch 'origin/main' into feat/rust-coverage-pa…
rohitg00 May 26, 2026
4cd8062
Merge pull request #188 from rohitg00/feat/julia-coverage-phase-2-7
rohitg00 May 26, 2026
8f3c514
Merge remote-tracking branch 'origin/main' into feat/rust-coverage-pa…
rohitg00 May 26, 2026
f24cb1e
Merge pull request #185 from rohitg00/feat/rust-coverage-pass-2
rohitg00 May 26, 2026
3a8474a
Merge remote-tracking branch 'origin/main' into feat/typescript-cover…
rohitg00 May 26, 2026
96369c9
fix(phase-00/04): bump model alias to claude-sonnet-4-6
rohitg00 May 26, 2026
1b935c3
Merge pull request #183 from rohitg00/feat/typescript-coverage-pass-1
rohitg00 May 26, 2026
5227c4b
fix(phase-00/06): sync docs Languages field to Shell
rohitg00 May 26, 2026
4bcc3e9
fix(phase-00/07): sync docs Languages field to Docker
rohitg00 May 26, 2026
87d4943
feat(phase-19/09): add typescript skeleton for code migration agent d…
rohitg00 May 26, 2026
3c35dd6
feat(phase-19/10): add typescript skeleton for multi-agent software team
rohitg00 May 26, 2026
242d7f9
feat(phase-19/11): add typescript skeleton for llm observability dash…
rohitg00 May 26, 2026
62c5489
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
7906583
feat(phase-19/01): add typescript skeleton for terminal-native coding…
rohitg00 May 26, 2026
502a417
feat(phase-19/02): add typescript skeleton for code rag query api
rohitg00 May 26, 2026
c640994
feat(phase-19/03): add typescript skeleton for realtime voice web client
rohitg00 May 26, 2026
ff7ee36
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
18403e0
feat(phase-19/12): add typescript skeleton for video understanding pi…
rohitg00 May 26, 2026
1a90b82
feat(phase-19/13): add typescript skeleton for mcp server
rohitg00 May 26, 2026
f889130
feat(phase-19/16): add typescript skeleton for github app webhook rec…
rohitg00 May 26, 2026
7415fa6
feat(phase-19/17): add typescript skeleton for personal ai tutor web app
rohitg00 May 26, 2026
e6ad2db
feat(phase-19/04): add typescript skeleton for multimodal document QA…
rohitg00 May 26, 2026
66dd347
feat(phase-19/06): add typescript skeleton for devops agent slack int…
rohitg00 May 26, 2026
1c6ec4d
feat(phase-19/08): add typescript skeleton for production rag chat UI
rohitg00 May 26, 2026
9d874d8
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
790b581
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
cb7383c
feat(phase-19/12): expand video understanding pipeline into multi-fil…
rohitg00 May 26, 2026
e15a36e
feat(phase-19/09): expand code-migration-agent into multi-file TypeSc…
rohitg00 May 26, 2026
3eabd8d
feat(phase-19/04): expand multimodal-document-qa into multi-file Type…
rohitg00 May 26, 2026
7242418
feat(phase-19/01): expand terminal-native-coding-agent into multi-fil…
rohitg00 May 26, 2026
078d3a4
feat(phase-19/13): expand mcp server with registry into multi-file Ty…
rohitg00 May 26, 2026
f75fc33
feat(phase-19/10): expand multi-agent-software-team into multi-file T…
rohitg00 May 26, 2026
4085e88
feat(phase-19/16): expand github issue to pr agent into multi-file Ty…
rohitg00 May 26, 2026
915da9d
feat(phase-19/06): expand devops-troubleshooting-agent into multi-fil…
rohitg00 May 26, 2026
610a69a
feat(phase-19/02): expand rag-over-codebase into multi-file TypeScrip…
rohitg00 May 26, 2026
4437294
feat(phase-19/11): expand llm-observability-dashboard into multi-file…
rohitg00 May 26, 2026
dfba919
feat(phase-19/17): expand personal ai tutor into multi-file TypeScrip…
rohitg00 May 26, 2026
9ca9e52
feat(phase-19/03): expand realtime-voice-assistant into multi-file Ty…
rohitg00 May 26, 2026
440e4dd
feat(phase-19/08): expand production-rag-chatbot into multi-file Type…
rohitg00 May 26, 2026
6fe0291
Merge pull request #195 from rohitg00/chore/phase0-lang-fields-sync
rohitg00 May 26, 2026
b489e95
fix(phase-19/09): guard pct div-zero, tsconfig nodenext, budget assert
rohitg00 May 26, 2026
f63461c
fix(phase-19/10): empty-agents guard, basename denylist, drop unused …
rohitg00 May 26, 2026
93ea6cd
fix(phase-19/11): guard models, escape html, validate span times + ids
rohitg00 May 26, 2026
0011e39
chore(phase-19): remove accidentally committed package-lock.json files
rohitg00 May 26, 2026
c1374e1
Merge pull request #196 from rohitg00/feat/phase-19-typescript-group-c
rohitg00 May 26, 2026
ab2f4ea
fix(phase-19/12): address CodeRabbit review
rohitg00 May 26, 2026
1ad5788
fix(phase-19/04): address CodeRabbit review
rohitg00 May 26, 2026
e98ecf2
fix(phase-19/06): address CodeRabbit review
rohitg00 May 26, 2026
d16479c
fix(phase-19/13): address CodeRabbit review
rohitg00 May 26, 2026
8931c1e
fix(phase-19/08): address CodeRabbit review
rohitg00 May 26, 2026
883f4ea
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
c8e6162
fix(phase-19/01): address CodeRabbit review
rohitg00 May 26, 2026
4c1e508
fix(phase-19/02): address CodeRabbit review
rohitg00 May 26, 2026
d057348
fix(phase-19/16): address CodeRabbit review
rohitg00 May 26, 2026
d506648
fix(phase-19/03): address CodeRabbit review
rohitg00 May 26, 2026
b88e5ab
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
04df94e
fix(phase-19/17): address CodeRabbit review
rohitg00 May 26, 2026
fbab9eb
Merge remote-tracking branch 'origin/main' into feat/phase-19-typescr…
rohitg00 May 26, 2026
0074521
Merge remote-tracking branch 'origin/main' into feat/phase-19-typescr…
rohitg00 May 26, 2026
75d29d4
Merge remote-tracking branch 'origin/main' into feat/phase-19-typescr…
rohitg00 May 26, 2026
130af22
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
8dd0703
Merge remote-tracking branch 'origin/feat/phase-19-typescript-group-a…
rohitg00 May 26, 2026
9a039ee
Merge remote-tracking branch 'origin/feat/phase-19-typescript-group-b…
rohitg00 May 26, 2026
25a53fa
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
8a44076
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
343f403
Merge pull request #199 from rohitg00/feat/phase-19-typescript-group-b
rohitg00 May 26, 2026
27dd12a
Merge remote-tracking branch 'origin/main' into feat/phase-19-typescr…
rohitg00 May 26, 2026
a231945
Merge remote-tracking branch 'origin/feat/phase-19-typescript-group-a…
rohitg00 May 26, 2026
ca5114b
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
6fa41af
ci(curriculum): regen catalog.json only on main push, not on PRs
rohitg00 May 26, 2026
d5a30d0
Merge pull request #197 from rohitg00/feat/phase-19-typescript-group-a
rohitg00 May 26, 2026
d24f026
Merge pull request #216 from rohitg00/chore/catalog-regen-main-only
rohitg00 May 26, 2026
b361a09
Merge remote-tracking branch 'origin/main' into feat/phase-19-typescr…
rohitg00 May 26, 2026
1426e1b
Merge branch 'feat/phase-19-typescript-group-d' of https://github.com…
rohitg00 May 26, 2026
a8882c9
fix(phase-19/12): address CodeRabbit review
rohitg00 May 26, 2026
4df8389
fix(phase-19/13): address CodeRabbit review
rohitg00 May 26, 2026
3fc3c10
fix(phase-19/16): address CodeRabbit review
rohitg00 May 26, 2026
f6e9b8e
fix(phase-19/17): address CodeRabbit review
rohitg00 May 26, 2026
08b4c43
Merge pull request #198 from rohitg00/feat/phase-19-typescript-group-d
rohitg00 May 26, 2026
891662e
chore(catalog): auto-regen
github-actions[bot] May 26, 2026
46882e1
ci(curriculum): also auto-fix README counts on main push; PR check ad…
rohitg00 May 26, 2026
6d42a30
Merge pull request #217 from rohitg00/chore/ci-readme-counts-auto-fix
rohitg00 May 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
reviews:
high_level_summary: false
poem: false
changelog: false
release_notes: false
collapse_walkthrough: true
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
github: [rohitg00]
custom: ["https://github.com/rohitg00/ai-engineering-from-scratch/blob/main/SPONSORS.md"]
117 changes: 117 additions & 0 deletions .github/workflows/curriculum.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
name: curriculum

on:
push:
branches: [main]
paths:
- "phases/**"
- "scripts/audit_lessons.py"
- "scripts/build_catalog.py"
- "scripts/check_readme_counts.py"
- "catalog.json"
- "README.md"
- ".github/workflows/curriculum.yml"
pull_request:
branches: [main]
paths:
- "phases/**"
- "scripts/audit_lessons.py"
- "scripts/build_catalog.py"
- "scripts/check_readme_counts.py"
- "catalog.json"
- "README.md"
- ".github/workflows/curriculum.yml"

permissions:
contents: read

jobs:
audit:
name: invariant checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
- name: run scripts/audit_lessons.py
run: python3 scripts/audit_lessons.py

catalog-sync:
name: catalog.json auto-regen (main only)
runs-on: ubuntu-latest
permissions:
contents: write
if: github.event_name == 'push'
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
ref: ${{ github.ref }}
token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
- name: rebuild catalog.json
run: python3 scripts/build_catalog.py
- name: sync README counts
run: python3 scripts/check_readme_counts.py --fix
- name: commit + push if changed
env:
BOT_COMMIT_PREFIX: "chore(catalog): auto-regen"
run: |
if git diff --quiet catalog.json README.md; then
echo "catalog.json and README.md already in sync"
exit 0
fi
last_msg=$(git log -1 --pretty=%s)
if [[ "$last_msg" == "$BOT_COMMIT_PREFIX"* ]]; then
echo "last commit was already a bot regen; not pushing to avoid loop"
exit 0
fi
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add catalog.json README.md
git commit -m "$BOT_COMMIT_PREFIX"
git push

catalog-drift-advisory:
name: catalog.json drift advisory
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
- name: rebuild catalog
run: python3 scripts/build_catalog.py --out /tmp/catalog.fresh.json
- name: diff against committed catalog.json
run: |
if ! diff -u catalog.json /tmp/catalog.fresh.json; then
echo "::warning::catalog.json drift detected. Main will self-heal on merge via the catalog-sync job."
else
echo "catalog.json matches filesystem"
fi

readme-counts-drift:
name: README.md counts drift advisory
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
- name: rebuild catalog
run: python3 scripts/build_catalog.py
- name: check README counts against catalog.json
run: |
if ! python3 scripts/check_readme_counts.py; then
echo "::warning::README.md counts drift detected. Main will self-heal on merge via the catalog-sync job."
fi
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,6 @@ mlruns/
*.bin
*.h5
.gstack/

.link-cache.json
.claude/
32 changes: 30 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
# Contributing to AI Engineering from Scratch
# Contributing

Thank you for wanting to make AI education better for everyone.
Lessons, translations, fixes, outputs — all welcome. One contribution per pull
request keeps reviews fast and lets contributor counts and credit work
correctly.

## Important: the README and ROADMAP feed the website

`site/build.js` parses `README.md`, `ROADMAP.md`, and `glossary/terms.md` to
generate `site/data.js`. Two patterns must stay intact in any pull request that
touches those files:

- Phase headers in either `### Phase N: Name \`X lessons\`` form or
`<details><summary><b>Phase N — Name</b> ... <code>X lessons</code> ... <em>Description</em></summary>` form.
- Lesson tables with the column shape `| # | Lesson | Type | Lang |` (or
`| # | Project | Combines | Lang |` for capstone tables). The `Lang` column
accepts plain text (`Python, TypeScript`) or the legacy emoji flags
(`🐍 🟦 🦀 🟣 ⚛️`); both are parser-equivalent.
- ROADMAP status glyphs (`✅`, `🚧`, `⬚`) on phase headers and lesson rows.
Do not replace them with text — the parser keys off the exact characters.

Run `node site/build.js` after editing those files; `git diff site/data.js`
should show only the timestamp change if your edit was structural-safe.

## Ways to Contribute

Expand Down Expand Up @@ -133,3 +153,11 @@ More exercises and projects are always welcome, especially ones that connect mul
## Code of Conduct

See [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). Be kind, be helpful, be constructive.

## Style

- Direct prose. Cut filler. Match the manual's tone, not marketing copy.
- No decorative emojis in headings. Lang column emoji flags are the one
exception and only because the parser maps them.
- Code runs as-is with the dependencies listed in the lesson.
- Build from scratch first, framework second.
Loading
Loading