2 The Birth of Vibe Coding
In February 2025, a single tweet from Andrej Karpathy gave a name to a way of working that had no name until then. This chapter dissects that moment: what the original text said and did not say, why that particular moment, and how the meaning drifted as the word spread.
2.1 Karpathy’s Tweet and the Conditions of That Moment
Pre-draft. Check ownership and status in TOPICS.md at the repository root.
Brief. In February 2025, a single tweet by Andrej Karpathy gave rise to the term that would be cited more than any other in the software industry over the following year. This section dissects that original text: exactly what it defined and what it did not, how the technical conditions at the moment the tweet was written (the model generation, the maturity of agentic coding tools, the mood of the developer community) contributed to the spread of this definition, and why that particular moment. This is the section that serves as the starting point for the whole of Chapter 2.
There’s a new kind of coding I call “vibe coding”, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.
— Andrej Karpathy, X, February 2025
Seed Questions
- What scope did Karpathy’s original text actually define, and how does it differ from the meaning that later became widespread?
- What coding agents and tools were available at the time the tweet was posted, and what role did their maturity play in the adoption of this concept?
- A year later, in a retrospective tweet, Karpathy called this tweet “a thought he tossed out after it came to him in the shower.” How does this self-assessment diverge from its actual impact?
- In the early days as the tweet spread, which reactions (welcome, cynicism, refutation) predominated?
Research Pointers
- Collect the full text of the original tweet (https://x.com/karpathy/status/1886192184808149383) and the one-year retrospective tweet (https://x.com/karpathy/status/2019137879310836075), along with major quote-tweet reactions.
- Check the release and update history of major coding agent tools around the time the tweet was posted.
- Check the Wikipedia overview (https://en.wikipedia.org/wiki/Vibe_coding) for descriptions related to early adoption.
2.2 Spread of the Term and Drift of Its Meaning
Pre-draft. Check ownership and status in TOPICS.md at the repository root.
Brief. A term that started from a single tweet came to be used, within a few months, in a much broader sense than its original definition. This section covers that spread and the drift of its meaning. It should cover why Simon Willison drew a line by saying “not all AI-assisted programming is vibe coding,” how the narrow sense (fully delegating without reading the code) and the broad sense (coding in general using AI tools) circulated at the same time, and how the Collins Dictionary, by selecting it as its Word of the Year, gave this spread official sanction. If §2.1 in Chapter 2 covers the moment of the utterance, this section covers the process of circulation that followed.
Seed questions
- What was the specific criterion for the line Simon Willison drew? What examples did he use to distinguish between “real vibe coding” and “AI-assisted programming”?
- What kind of confusion (debates like “is this vibe coding?”) did the coexistence of the narrow and broad senses cause in practice?
- How did the Collins Dictionary’s citation for its selection define the term? Is that definition closer to the original tweet or to Willison’s distinction?
- When comparing snapshots across time (right after the tweet, months later, at the time of the dictionary entry), what pattern appears in the drift of meaning?
Research pointers
- Read the full text of Simon Willison, “Not all AI-assisted programming is vibe coding” (2025-03-19)
- Compare the definition wording in the Collins Word of the Year 2025 announcement (https://www.collinsdictionary.com/us/woty) with the news coverage (https://www.cnn.com/2025/11/06/tech/vibe-coding-collins-word-year-scli-intl)
- Check whether the change in the definition can be traced through the edit history of the Wikipedia overview (https://en.wikipedia.org/wiki/Vibe_coding)
2.3 Genealogy of Tools: From Autocomplete to Agents
Pre-draft. Check assignment and status in TOPICS.md at the repository root.
Brief. This section deals with the genealogy of tools, not concepts. It should trace the flow starting from GitHub Copilot’s autocomplete-style coding assistance, released in 2021, through chat-interface-based coding tools, to agentic CLI and IDE tools. The core claim is that the form of the tool (autocomplete versus conversation versus autonomous execution) has defined the coding methodology of its era. We need to verify the causal claim that the methodology of vibe coding would not have emerged without the tool forms that made it possible. Within Chapter 2, this section complements the conceptual history (§2.1, §2.2) with a history of tools.
Seed Questions
- Why did GitHub Copilot (released in preview in 2021) choose the autocomplete form, and which later tools adopted that form as their default?
- The transition from autocomplete-style tools to chat-based coding assistance (code explanation, generation requests) occurred with which tools, and at what point in time?
- What technical prerequisites did the transition from chat-based to agentic tools (file system access, command execution, autonomous loops) require?
- How did the developer community react (welcome, resistance) at each transition period between tool forms?
- Which led which, tool form or methodology, or were they mutually determining?
Research Pointers
- Check GitHub Copilot’s public announcement (2021; confirm the exact date and distinguish preview from general availability) and its subsequent major update history.
- Compile the release chronology of representative agentic coding CLI and IDE tools (Cursor, Windsurf, Claude Code, Devin, etc.).
- Check the discussion of tool form and autonomy in Anthropic’s “Building effective agents” (December 2024).