---
title: 'Docs that keep up with your code'
description: 'LaRecipe is a docs site that lives inside your Laravel app, written and kept current by the coding agent you already use. It has one goal: your docs never fall behind your code, so people and agents always read the current answer.'
url: 'https://larecipe.saleem.dev/3.x'
version: 3.x
locale: en
last_updated: '2026-10-19'
---

> Docs index: https://larecipe.saleem.dev/3.x/llms.txt · MCP: https://larecipe.saleem.dev/mcp · Skill: https://larecipe.saleem.dev/skill.md

# Docs that keep up with your code

You write pages in Markdown, in your own repository, next to the code they describe. People read them as a fast site, and agents read the same pages as Markdown, through `llms.txt` and an MCP server.

![The LaRecipe docs site in a browser: the sidebar, this Introduction page, and the panel of actions for agents, such as Copy as Markdown and Connect MCP. A badge on the window reads 3M+ downloads.](https://larecipe.saleem.dev/_assets/3.x/introduction.webp)

Every page lists the code it describes. When that code changes, the coding agent that changed it updates the page before it pushes, and a hook holds the push once if it forgets. The docs land in the same pull request as the code, and you review them together.

Your code changes, and LaRecipe finds the docs pages that list that code as their source. Your coding agent updates them before it pushes, so the code and the docs land in the same pull request and merge together. Then people read the docs site, and agents read the same pages as Markdown, through llms.txt and over MCP.

How LaRecipe keeps docs current:

1. Your code changes, in a commit.
2. LaRecipe finds the docs pages that list that code as their source, and your coding agent updates them before it pushes.
3. The code and the docs land in the same pull request. You review them together, and they merge together.
4. Then people read the docs site. Agents read the same pages as Markdown, through `llms.txt` and over MCP.

The diagram follows one example. Your code changes: commit `a1f3c9e` (`feat: refund invoices`, +42 -7), so `refunds.md` is stale because its source changed. Your agent updates the docs: the page `docs/billing/refunds.md`, titled Refunds (Guide and API tabs), now reads "Refund a paid invoice in full or in part, from the app or with one command." with `php artisan invoices:refund 1042`, and shows "Updated 2m ago" and "Updated by Claude Code" for PR #412. Pull request #412 "Add invoice refunds" holds both, code + docs, and they are merged together. Agents read the page connected via MCP or through `llms.txt`, and people read it on the site, where they can ask AI about the docs.

LaRecipe has 3 million+ downloads. Featured on [Laravel News](https://laravel-news.com/larecipe-documentation-package), [DevDojo](https://devdojo.com/episode/larecipe), Medium, [Packalyst](https://packagist.org/packages/binarytorch/larecipe) and [Product Hunt](https://www.producthunt.com/posts/larecipe-beautiful-docs).

## Install in two commands

Paste this prompt into Claude Code, Codex, Cursor or any coding agent, inside your Laravel app.

```text
Install LaRecipe in this Laravel app:

1. Run `composer require larecipe/larecipe`.
2. Run `php artisan larecipe:install --no-interaction` to keep the defaults.
3. Run `php artisan larecipe:doctor` and fix anything it reports.
4. Read the app and write starter docs with the larecipe-write-docs skill.

Then tell me the URL of the docs site.
```

Manual: run this in your Laravel app. Paste it in your terminal, press Enter for the defaults, then open `/docs`:

```bash
composer require larecipe/larecipe
php artisan larecipe:install
```

There is no Node and no build step. The installer also sets up the coding agents you already use, such as Claude Code, Codex and Cursor, so there is nothing to remember day to day.

## What you get

- [Docs that stay current](https://larecipe.saleem.dev/3.x/keeping-current/how-it-works.md): Your coding agent updates the pages a change affects, in the same pull request.
- [Made for agents](https://larecipe.saleem.dev/3.x/agents/surfaces.md): Every page as Markdown, plus llms.txt and an MCP server.
- [Ask AI](https://larecipe.saleem.dev/3.x/agents/ask-ai.md): Answers written only from your docs, with the pages they cite.
- [Live references](https://larecipe.saleem.dev/3.x/writing/live-references.md): Routes, commands, models and events, read from your running app.
- [Private docs](https://larecipe.saleem.dev/3.x/writing/gate-blocks.md): Your app's own auth and gates decide who reads, down to one paragraph.
- [Every language](https://larecipe.saleem.dev/3.x/writing/languages.md): Right to left included, with a fallback for pages not translated yet.

## Next

- [Installation](https://larecipe.saleem.dev/3.x/get-started/installation.md): Requirements, the installer's questions and the files it writes.
- [Your first docs](https://larecipe.saleem.dev/3.x/get-started/your-first-docs.md): Let your coding agent read your app and write starter pages.
- [Write a page](https://larecipe.saleem.dev/3.x/writing/markdown.md): Markdown, components and code samples from your app.
- [How it works](https://larecipe.saleem.dev/3.x/keeping-current/how-it-works.md): How LaRecipe finds the pages a change left stale.

Moving a site from LaRecipe 2? Read [Upgrade from v2](https://larecipe.saleem.dev/3.x/upgrade.md).

## Stay in the loop

LaRecipe release notes by email. Unsubscribe any time. Subscribe with your email address: https://larecipe.saleem.dev/newsletter

This form is a custom React component this site adds to LaRecipe. See how it is built: https://larecipe.saleem.dev/3.x/customize/custom-components
