# AI Hero Content Index

> Request any URL with `Accept: text/markdown` header for markdown version.

Updated: 2026-03-08T00:58:23.997Z

## Free Content

- [LLM Fundamentals](https://www.aihero.dev/llm-fundamentals) (list)
- [The AI Engineer Roadmap](https://www.aihero.dev/ai-engineer-roadmap) (list)
- [Model Context Protocol Tutorial](https://www.aihero.dev/model-context-protocol-tutorial) (list)
- [Vercel AI SDK Tutorial](https://www.aihero.dev/vercel-ai-sdk-tutorial) (list)
- [How To Make Codebases AI Agents Love](https://www.aihero.dev/how-to-make-codebases-ai-agents-love) (post)
- [How To Use Claude Code Hooks To Enforce The Right CLI](https://www.aihero.dev/how-to-use-claude-code-hooks-to-enforce-the-right-cli) (post)
- [Never Run Claude /init](https://www.aihero.dev/never-run-claude-init) (post)
- [This Hook Stops Claude Code Running Dangerous Git Commands](https://www.aihero.dev/this-hook-stops-claude-code-running-dangerous-git-commands) (post)
- [My Skill Makes Claude Code GREAT At TDD](https://www.aihero.dev/skill-test-driven-development-claude-code) (post)
- [Why the Anthropic Ralph plugin sucks (use a bash loop instead)](https://www.aihero.dev/why-the-anthropic-ralph-plugin-sucks) (post)
- [Tracer Bullets: Keeping AI Slop Under Control](https://www.aihero.dev/tracer-bullets) (post)
- [Here's How To Stream Claude Code With AFK Ralph](https://www.aihero.dev/heres-how-to-stream-claude-code-with-afk-ralph) (post)
- [A Complete Guide To AGENTS.md](https://www.aihero.dev/a-complete-guide-to-agents-md) (post)
- [Essential AI Coding Feedback Loops For TypeScript Projects](https://www.aihero.dev/essential-ai-coding-feedback-loops-for-type-script-projects) (post)
- [My AGENTS.md file for building plans you actually read](https://www.aihero.dev/my-agents-md-file-for-building-plans-you-actually-read) (post)
- [An Introduction To Plan Mode](https://www.aihero.dev/plan-mode-introduction) (post)
- [Getting Started With Ralph](https://www.aihero.dev/getting-started-with-ralph) (post)
- [11 Tips For AI Coding With Ralph Wiggum](https://www.aihero.dev/tips-for-ai-coding-with-ralph-wiggum) (post)
- [Evalite v1 Preview: Fast Evals, Built-in Scorers](https://www.aihero.dev/evalite-v1-preview) (post)
- [Personal software is INSANE in the age of AI](https://www.aihero.dev/personal-software-is-insane-in-the-age-of-ai-u2hx2) (post)
- [Creating The Perfect Claude Code Status Line](https://www.aihero.dev/creating-the-perfect-claude-code-status-line) (post)
- [What Is An Agent?](https://www.aihero.dev/what-is-an-agent) (post)
- [What Are Tools?](https://www.aihero.dev/what-are-tools) (post)
- [What Is The Context Window?](https://www.aihero.dev/what-is-the-context-window) (post)
- [Messages, System Prompts and Reasoning Tokens](https://www.aihero.dev/messages-system-prompts-and-reasoning-tokens) (post)
- [What Are Tokens?](https://www.aihero.dev/what-are-tokens) (post)
- [Most Devs Still Don't Know What Tokens Are](https://www.aihero.dev/what-are-tokens) (post)
- [Securing your AI App with Guardrails](https://www.aihero.dev/securing-your-ai-app-with-guardrails) (post)
- [Streaming In 'Next Question Suggestions' With Vercel's AI SDK](https://www.aihero.dev/streaming-in-next-question-suggestions-with-the-ai-sdk) (post)
- [What Is An AI Engineer?](https://www.aihero.dev/what-is-an-ai-engineer) (post)
- [17 Techniques For Improving Your LLM-Powered App](https://www.aihero.dev/how-to-improve-your-llm-powered-app) (post)
- [The AI Engineer Mindset](https://www.aihero.dev/the-ai-engineer-mindset) (post)
- [Implementing Anthropic's "think" Tool In TypeScript](https://www.aihero.dev/implementing-anthropics-think-tool-in-typescript) (post)
- [What Can You Use LLM's For?](https://www.aihero.dev/what-are-llms-used-for) (post)
- [5 Questions To Ask Before Choosing An LLM](https://www.aihero.dev/how-to-choose-an-llm) (post)
- [What Is An LLM?](https://www.aihero.dev/what-is-an-llm) (post)
- [Connect Claude Code To A GitHub MCP Server](https://www.aihero.dev/connect-claude-code-to-github) (post)
- [Publish Your MCP Server To NPM](https://www.aihero.dev/publish-your-mcp-server-to-npm) (post)
- [The Problem With MCP: Stateful Servers](https://www.aihero.dev/the-problem-with-mcp-stateful-server) (post)
- [Logging: A Huge MCP Footgun](https://www.aihero.dev/logging-a-huge-mcp-footgun) (post)
- [Using MCP Prompts](https://www.aihero.dev/using-mcp-prompts) (post)
- [How Does The Model Context Protocol Work?](https://www.aihero.dev/how-does-the-model-context-protocol-work) (post)
- [Serving MCP Servers Over stdout](https://www.aihero.dev/mcp-server-from-a-single-typescript-file) (post)
- [STORM: Generate High-Quality Articles Based On Real Research](https://www.aihero.dev/storm-generate-high-quality-articles-based-on-real-research) (post)
- [Google's Introduction To Agents Is GREAT](https://www.aihero.dev/google-agents-whitepaper-review) (post)
- [What Is Vercel's AI SDK?](https://www.aihero.dev/what-is-the-ai-sdk) (post)
- [Build Your First Agent With Vercel's AI SDK](https://www.aihero.dev/agents-with-vercel-ai-sdk) (post)
- [Generate Arrays With Vercel's AI SDK](https://www.aihero.dev/generate-arrays-with-vercel-ai-sdk) (post)
- [Create Embeddings With Vercel's AI SDK](https://www.aihero.dev/create-embeddings-with-vercel-ai-sdk) (post)
- [Extract Structured Data From PDF's With Vercel's AI SDK](https://www.aihero.dev/structured-data-from-pdfs-with-vercel-ai-sdk) (post)
- [Build an Alt Text Generator With Vercel's AI SDK](https://www.aihero.dev/describe-images-with-vercel-ai-sdk) (post)
- [Generate Enums With Vercel's AI SDK](https://www.aihero.dev/generate-enums-with-vercel-ai-sdk) (post)
- [Streaming Objects With Vercel's AI SDK](https://www.aihero.dev/streaming-objects-with-vercel-ai-sdk) (post)
- [Tool Calling With Vercel's AI SDK](https://www.aihero.dev/tool-calls-with-vercel-ai-sdk) (post)
- [Structured Outputs with Vercel's AI SDK](https://www.aihero.dev/structured-outputs-with-vercel-ai-sdk) (post)
- [Use Local Models With Vercel's AI SDK](https://www.aihero.dev/use-local-models-with-vercel-ai-sdk) (post)
- [Working With Message Histories In Vercel's AI SDK](https://www.aihero.dev/vercel-ai-sdk-messages-array) (post)
- [Hot-Swap AI Models With Vercel's AI SDK](https://www.aihero.dev/swap-ai-models-with-vercel-ai-sdk) (post)
- [Adding System Prompts With Vercel's AI SDK](https://www.aihero.dev/system-prompts-with-vercel-ai-sdk) (post)
- [Streaming Text With Vercel's AI SDK](https://www.aihero.dev/streaming-text-with-vercel-ai-sdk) (post)
- [Generate Text With Vercel's AI SDK](https://www.aihero.dev/generate-text-with-vercel-ai-sdk) (post)
- [Vercel's AI SDK Future-proofs Your AI Stack](https://www.aihero.dev/vercel-ai-sdk) (post)
- [Here's 2024's best resource on prompt engineering](https://www.aihero.dev/the-prompt-report) (post)
- [Anthropic thinks you should build agents like this](https://www.aihero.dev/building-effective-agents) (post)
- [Evalite - an Early Preview](https://www.aihero.dev/evalite-an-early-preview) (post)
- [The Three Types Of Evals](https://www.aihero.dev/three-types-of-evals) (post)
- [Anthropic's new Model Context Protocol In 2 Minutes](https://www.aihero.dev/anthropics-new-model-context-protocol-in-2-minutes~hc0tx) (post)
- [2025: The Year Building With GenAI's Gets Boring](https://www.aihero.dev/2025-the-year-building-with-gen-ais-gets-boring~d53hd) (post)
- [Your App Is Only As Good As Its Evals](https://www.aihero.dev/what-are-evals) (post)

## Usage

```bash
# Get markdown version of any post or lesson
curl -H "Accept: text/markdown" https://www.aihero.dev/some-post-slug

# Workshop/tutorial lessons
curl -H "Accept: text/markdown" https://www.aihero.dev/workshops/module-slug/lesson-slug
curl -H "Accept: text/markdown" https://www.aihero.dev/tutorials/module-slug/lesson-slug
```

## Routes

- Posts/Lists: `/https://www.aihero.dev/<slug>`
- Workshops: `https://www.aihero.dev/workshops/<module>/<lesson>`
- Tutorials: `https://www.aihero.dev/tutorials/<module>/<lesson>`
