How to Contribute Terms to the Glossary at terms.md in ai-engineering-from-scratch
To contribute terms to the glossary at terms.md, fork the rohitg00/ai-engineering-from-scratch repository, add your definition to glossary/terms.md using the established three-bullet markdown pattern, run node site/build.js locally to verify the build, and submit a pull request.
The rohitg00/ai-engineering-from-scratch project maintains a master glossary in glossary/terms.md that demystifies AI engineering jargon for the community. If you want to contribute terms to the glossary at terms.md, you must follow a specific markdown format so the site builder can parse your entry correctly alongside README.md and ROADMAP.md. As implemented in rohitg00/ai-engineering-from-scratch, the glossary parser expects strict consistency so the static site generator can rebuild without errors.
Fork the Repository and Create a Feature Branch
Start by forking the repository on GitHub and cloning your fork locally. Create a dedicated feature branch for your glossary addition so your changes remain isolated from the main branch.
git clone https://github.com/<your-username>/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
git checkout -b feat/add-<term-name>
Edit glossary/terms.md to Contribute Terms to the Glossary at terms.md
New entries belong in glossary/terms.md, which the site builder parses together with README.md and ROADMAP.md to generate the site. To keep the glossary scannable, locate the correct alphabetical section—for example, ## Z for a term starting with "Z"—and insert your entry there.
Use the Three-Bullet Markdown Pattern
Every term must follow the exact three-bullet template so the parser renders the entry correctly. Do not omit the bullet labels or add extra top-level headers inside the entry.
### YourTerm
- **What people say:** "Short, colloquial description"
- **What it actually means:** Precise technical definition
- **Why it's called that:** (optional) Historical or naming rationale
The ### YourTerm heading declares the term name. The first bullet captures colloquial usage, the second bullet provides the precise technical definition, and the optional third bullet explains etymology or naming history. Keep this three-bullet format intact so the parser handles your entry without errors.
Real Example: Zero-Shot
The repository already includes a Zero-Shot entry that demonstrates the exact layout expected by the parser:
### Zero-Shot
- **What people say:** "No training needed"
- **What it actually means:** Using a model on a task it wasn't explicitly trained for, with no task-specific examples in the prompt. The model generalizes from pre-training. Works because large models have seen enough variety to handle new task formats.
Template for a New Term
If you were adding a term such as Foobar, your addition to glossary/terms.md would look like this:
### Foobar
- **What people say:** "A placeholder name"
- **What it actually means:** A generic term used in examples to denote an arbitrary concept or variable.
- **Why it's called that:** Originates from early computer-science textbooks as a stand-in for any identifier.
Validate the Build Locally
Before committing, run the site generator locally to confirm that your edit does not break the build. According to the rohitg00/ai-engineering-from-scratch source code, you should execute node site/build.js from the project root and then inspect site/data.js.
node site/build.js
After the script finishes, check that site/data.js changed only its timestamp. If the diff shows unexpected structural modifications, your markdown format likely deviates from the parser's expectations and needs correction before you proceed.
Commit and Open a Pull Request
Once the local build passes, stage your changes to glossary/terms.md and commit using a conventional commit message that clearly identifies the glossary addition:
git add glossary/terms.md
git commit -m 'feat(glossary): add “YourTerm” definition'
Push the branch to your fork and open a pull request against the upstream repository. The continuous integration pipeline will automatically rebuild the site and verify that the glossary format remains intact, ensuring that your contribution can be merged quickly.
Summary
-
The master glossary file is
glossary/terms.md, parsed alongsideREADME.mdandROADMAP.md. -
Insert terms under the correct alphabetical section (e.g.,
## X) to maintain scannability. -
Use the strict three-bullet template: What people say, What it actually means, and optionally Why it's called that.
-
Run
node site/build.jslocally and confirm that only the timestamp changes insite/data.js. -
Commit with a conventional message such as
feat(glossary): add “YourTerm” definition. -
The CI pipeline validates the format automatically when you open a pull request.
Frequently Asked Questions
What file do I edit to contribute a definition?
You must edit glossary/terms.md in the rohitg00/ai-engineering-from-scratch repository. This is the master glossary file consumed by the site builder.
What is the required markdown format for a glossary entry?
Each entry starts with an ### H3 heading for the term name followed by exactly three bullet points: What people say, What it actually means, and Why it's called that (optional). This structure allows the site/build.js parser to render the definition correctly.
How do I test my glossary changes before submitting a pull request?
Run node site/build.js locally and verify that the build succeeds. Check site/data.js to ensure only the timestamp was updated; if additional unexpected changes appear, fix your markdown formatting before committing.
What happens after I open a pull request for a new glossary term?
The repository's CI automatically rebuilds the site and runs format verification against glossary/terms.md. If the glossary format is intact and the build passes, your contribution is ready for maintainer review and merge.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →