Paradigm shift: from line-by-line code to conversational direction of an AI agent.
Karpathy: “fully give in to the vibes… forget that the code even exists.”
Bad → "What's 17*28?"
Good → "What's 17*28? Think step-by-step and show each partial sum."
Write skeleton code & tests in minutes, not hours.
Offload boilerplate so you think about logic & design.
Try new patterns, libraries, languages with confidence.
Cmd+K inline edits@ mentionsCmd+K: inline code generation or modification@files, @folders: attach context explicitly@web, @docs: bring in external knowledge"Add a validateEmail function that returns true if valid."
"@readme Generate a setup script that matches our docs."
"Now make it handle edge cases: empty string, special chars."
CLAUDE.md; use /plan for steps; /diff for summaries; spawn subagents for tests/docs.cursor.rules; Ask (⌘/Ctrl+K) for focused edits; inline diff → accept hunks → stage → PR.LLMs are powerful but isolated—no built-in access to your files, repos, DBs, or cloud APIs.
Model Context Protocol (MCP) standardizes tool access so agents can work in your world.
Agents discover tools/resources from each server at runtime.
Client config (JSON) — add servers to your agent host (e.g., VS Code, CLI, or desktop host):
{
"mcpServers": {
"context7": {
"command": "context7-mcp",
"args": ["--stdio"],
"env": { "C7_PROJECT_ROOT": "${workspaceFolder}" }
},
"github": {
"command": "mcp-github",
"args": ["--stdio"],
"env": { "GITHUB_TOKEN": "${env:GITHUB_TOKEN}" }
},
"jira": { "command": "mcp-jira", "args": ["--stdio"], "env": { "JIRA_URL":"...", "JIRA_TOKEN":"..." } },
"cloudflare": { "command":"mcp-cloudflare", "args":["--stdio"], "env": { "CF_API_TOKEN":"..." } },
"aws": { "command":"mcp-aws", "args":["--stdio"], "env": { "AWS_PROFILE":"prod" } },
"sentri": { "command":"mcp-sentri", "args":["--stdio"], "env": { "SENTRI_URL":"...", "SENTRI_KEY":"..." } }
}
}
Call flow — discovery and invocation (JSON-RPC under the hood):
// 1) list tools on 'context7'
{ "method":"tools/list", "params":{ "server":"context7" } }
// 2) call a semantic search tool
{
"method":"tools/call",
"params":{
"server":"context7",
"name":"search",
"arguments":{ "query":"open the file that creates EKS nodegroups" }
}
}
// 3) act on result: open file, edit, create PR via GitHub server
Exact method names vary by implementation; the pattern is standard.
Not obsolete—elevated. Architect, prompt-engineer, validator, conductor of specialized agents.
is_featured boolean column to Posts table.".env, .gitignore// e2e/project.spec.js
import { test, expect } from '@playwright/test';
test('user workflow: create project → add task → complete', async ({ page }) => {
await page.goto('/projects');
await page.getByRole('button', { name:/new project/i }).click();
await page.getByRole('textbox', { name:/name/i }).fill('Demo');
await page.getByRole('button', { name:/create/i }).click();
await page.getByRole('link', { name:'Demo' }).click();
await page.getByRole('textbox', { name:/title/i }).fill('First task');
await page.getByRole('button', { name:/add/i }).click();
await page.getByRole('checkbox', { name:/First task/i }).check();
await expect(page.getByRole('listitem', { name:/First task/i }))
.toHaveClass(/completed/);
});