Open-source project
mattpocock/dictionary-of-ai-coding avatar
mattpocock/dictionary-of-ai-coding

dictionary-of-ai-coding: Plain-English Definitions for AI Coding Terminology

AI coding jargon, explained in plain English.

4,882 stars550 forksTypeScriptLicense varies

At a glance

What is it?
dictionary-of-ai-coding is a TypeScript repository by Matt Pocock (Total TypeScript) that defines AI coding jargon in plain English, organised into seven sections covering models, context windows, tools, failure modes, handoffs, memory, and patterns of work. The README is auto-generated from Markdown source files in the dictionary/ directory.
Who is it for?
dictionary-of-ai-coding is the right reference for engineers starting with AI coding tools who find the terminology opaque, or who want precise definitions to use in technical conversations where imprecise AI vocabulary causes confusion. The entry for AI itself demonstrates the project's core argument: the word is a shifting label, not a technical term, and using precise language such as model, harness, or context window produces clearer communication.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 5 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What the Repository Is For and Who Should Read It

dictionary-of-ai-coding addresses a specific problem in AI engineering: that the jargon surrounding AI coding tools is inconsistently used and often left undefined. The README frames this directly: "AI coding can feel like it's just for experts. Unexplained jargon. Mysterious failures. Bills that don't seem to match the work."

The repository is a dictionary, not a tutorial or a framework. It defines terms rather than teaching you to build with them. The intended audience is software engineers who use or are evaluating AI coding tools such as chat-based assistants, AI agents, or LLM-backed development environments, and who want to understand what the terminology actually means.

The README states that the basic terms of engagement are learnable in an afternoon. That claim is testable by reading the dictionary entries. The repository is publicly accessible on GitHub and through the aihero.dev website maintained by Matt Pocock.

Seven Sections and Their Coverage

The dictionary is organised into seven sections, each covering a distinct cluster of concepts:

Section 1, The Model, covers AI, model, parameters, training, inference, effort, token, next-token prediction, non-determinism, model provider, harness, model provider request, input tokens, output tokens, prefix cache, and cache tokens. These are the foundational concepts for understanding what an LLM is and how it processes text.

Section 2, Sessions, Context Windows, and Turns, covers stateless, context, context window, stateful, agent, system prompt, session, and turn. These terms describe how a model receives input across multiple interactions.

Section 3, Tools and Environment, covers environment, filesystem, tool, tool call, tool result, MCP, permission request, permission mode, agent mode, and sandbox. These describe how an AI agent interacts with external systems.

Section 4, Failure Modes, covers sycophancy, hallucination, parametric knowledge, knowledge cutoff, contextual knowledge, attention relationship, attention budget, attention degradation, and smart zone. These are the ways AI coding tools produce wrong or misleading output.

Section 5, Handoffs, covers clearing, handoff, primary source, secondary source, handoff artifact, spec, ticket, compaction, and autocompact. These describe how to structure work across multiple sessions.

Section 6, Memory and Steering, covers memory system, AGENTS.md, progressive disclosure, context pointer, skill, and subagent.

Section 7, Patterns of Work, covers human-in-the-loop, AFK, automated check, automated review, human review, vibe coding, design concept, grilling, prototyping, DX, AX, software factory, and dark factory.

How the Repository Is Built: Generated README and Source Files

The README contains a comment at the top: "GENERATED FILE - DO NOT EDIT. Source: dictionary/*.md, internal/Curriculum.md, internal/README.template.md. Regenerate: npm run generate".

This means the README on GitHub is not the source of truth. The actual definitions are in the dictionary/ directory as individual Markdown files, one per term. The generate script at internal/generate-readme.ts assembles these into the README.

To contribute a definition or correct an existing one, the correct path is to edit the relevant .md file in dictionary/ and run:

bash
npm run generate

The package.json scripts section lists two entries: generate (which runs the tsx script) and prepare (which runs Husky for git hooks). The devDependencies include tsx for running TypeScript scripts directly, husky for pre-commit hooks, lint-staged for staged-file linting, prettier for formatting, and TypeScript at ^5.7.2.

The repository is private ("private": true in package.json), meaning it is not published to npm as a package. The dictionary is a content repository, not a library to install.

A Sample Entry: AI as a Moving Label

The entry for AI in Section 1 is worth examining as an example of the dictionary's approach. It does not give a one-line definition. Instead, it presents a historical table:

| Era | What "AI" meant | | --------- | ------------ | | 1950s | Symbolic reasoning - theorem provers, checkers programs. | | 1960s-70s | Rule-based symbolic programs - ELIZA, SHRDLU. | | 1980s | Expert systems - thousands of hand-written if-then rules. | | 1990s | Game-tree search - Deep Blue beating Kasparov (1997). | | 2000s | Statistical machine learning - spam filters, recommenders. | | 2010s | Deep learning - image recognition (AlexNet, 2012). | | 2020s | Large language models - ChatGPT (2022). |

The entry argues that "AI" is a moving label that shifts to the next unsolved problem after each technique is mastered. It attributes this observation to Bertram Raphael (1971) and Larry Tesler (around 1979). The practical usage note says to avoid AI in any technical claim and to name the specific part: model, harness, agent, or context.

This pattern, a definition followed by the historical mechanism and a concrete usage instruction, is consistent across entries. The failure modes section follows the same structure: here is the term, here is the mechanism, here is how it affects your work.

Limitations: Coverage, Maintenance, and What It Is Not

The dictionary covers terminology as defined by its author. Where a term is contested or has different meanings in different communities, the dictionary reflects Matt Pocock's usage, not a consensus definition. Readers who encounter different terminology in other resources will need to compare definitions themselves.

The repository has no GitHub releases, and the README is generated rather than manually versioned. New terms appear when the author adds source files to dictionary/ and runs the generate script. There is no CHANGELOG to track what was added or changed.

The last push was on 2026-09-24, indicating recent activity. The content focus is narrow: AI coding terminology as it relates to working with LLMs in a software development context. It does not cover machine learning theory, model training, data engineering, or the statistical foundations of language models. Those are treated as out of scope.

The dictionary does not cover safety, alignment, or AI policy terminology, even though those fields have their own jargon. The README's framing is practical and tool-oriented: bills, context degradation, failure modes in daily development work.

The Broader aihero.dev Context and How to Access the Content

The README links to aihero.dev/ai-coding-dictionary as the published version of the dictionary, alongside the GitHub repository. The aihero.dev site is maintained by Matt Pocock, who is known for the Total TypeScript course series.

The README also mentions a newsletter at aihero.dev/newsletter with over 62,000 developer subscribers at the time of writing. The dictionary is positioned as a free standalone reference, with the newsletter and other aihero.dev resources as the broader paid and free educational context.

For engineers who want the content without cloning the repository, the aihero.dev site is the more accessible form. The GitHub repository is the correct starting point for anyone who wants to suggest edits, contribute new entries, or understand how the content is generated from source files.

The TypeScript toolchain in the repository is minimal and exists solely to support the generation script. There is no application code, no server, and no build output beyond the generated README.

Editorial conclusion

dictionary-of-ai-coding is the right reference for engineers starting with AI coding tools who find the terminology opaque, or who want precise definitions to use in technical conversations where imprecise AI vocabulary causes confusion. The entry for AI itself demonstrates the project's core argument: the word is a shifting label, not a technical term, and using precise language such as model, harness, or context window produces clearer communication. Anyone who wants to contribute should check the generate script at internal/generate-readme.ts, which assembles the README from the dictionary/*.md source files.

Frequently asked questions

What does the dictionary-of-ai-coding repository contain?

It contains plain-English definitions of AI coding terminology in Markdown files under dictionary/, organised into seven sections. The README is auto-generated from these source files using the npm run generate script.

How do I contribute a new term to dictionary-of-ai-coding?

Add a Markdown file to the dictionary/ directory with the definition, then run npm run generate to rebuild the README. The repository uses Husky pre-commit hooks and lint-staged for formatting checks before each commit.

Is dictionary-of-ai-coding available as an npm package?

No. The package.json has "private": true, meaning it is not published to npm. The content is accessible on GitHub or at aihero.dev/ai-coding-dictionary.

Official sources

  1. Official README
  2. Project repository
Community notes

Community notes