كل أوامر larecipe:*، مجمّعة حسب المهمة. تُقرأ كتلة الاستخدام وجدول الخيارات لكل أمر من التطبيق أثناء تشغيله عبر مرجع حي <Artisan>، فتطابق ما يعرضه php artisan help.
الأوامر التي تأخذ إصدارًا من التوثيق تستخدم --docs-version، لأن Symfony يحجز --version للتطبيق نفسه.
الإعداد والكتابة
larecipe:install
يُعِدّ مجموعة توثيق بصفحة أولى، ويكتب تعليمات AGENTS.md والمهارات وإعداد MCP والخطّافات للوكلاء الذين يجدهم. يعرض --dry-run كل خطوة مسبقًا، ولكل سؤال خيار في سطر الأوامر. راجع التثبيت.
larecipe:installInstall LaRecipe: your docs, and the agent setup that keeps them current
php artisan larecipe:install [--driver [DRIVER]] [--path [PATH]] [--agents [AGENTS]] [--no-hooks] [--git-hook [GIT-HOOK]] [--ci [CI]] [--review [REVIEW]] [--claude-md] [--no-index] [--composer-script] [--onboard [ONBOARD]] [--onboard-agent [ONBOARD-AGENT]] [--dry-run]| Option | Description | Default |
|---|---|---|
--driver=DRIVER | repository (recommended) or database | |
--path=PATH | The docs folder of a repository set | docs |
--agents=AGENTS | Agents to set up, comma-separated (claude,codex,cursor,gemini,copilot), or "none" (default: the ones detected) | |
--no-hooks | Skip the pre-push and SessionStart agent hooks | |
--git-hook=GIT-HOOK | Also install the git pre-push hook: warn or strict | |
--ci=CI | Add the optional no-AI CI check: fail or comment | |
--review=REVIEW | required (default) or auto | |
--claude-md | Add @AGENTS.md to CLAUDE.md without asking | |
--no-index | Leave the docs index out of AGENTS.md | |
--composer-script | Add larecipe:agents to composer post-update-cmd without asking | |
--onboard=ONBOARD | Then write starter docs for these audiences: product,api,package,internal | |
--onboard-agent=ONBOARD-AGENT | The agent to run onboarding with | |
--dry-run | Show what would change without writing anything |
larecipe:onboard
يكتب توثيقًا أوليًا بوكيل البرمجة الذي تستخدمه ومهارة larecipe-write-docs. يعرض أمر الوكيل ويسأل قبل أن يشغّله. ولا يُنشئ أي commit. راجع توثيقك الأول.
larecipe:onboardGenerate starter docs from your app with your local coding agent
php artisan larecipe:onboard [--audience [AUDIENCE]] [--set [SET]] [--agent [AGENT]] [--print] [--yes]| Option | Description | Default |
|---|---|---|
--audience=AUDIENCE | Who the docs are for: product, api, package, internal (comma-separated) | |
--set=SET | The doc set to write into (default: the default set) | |
--agent=AGENT | claude, codex, cursor, gemini or copilot (default: the one detected) | |
--print | Only print the command, do not run it | |
--yes | Run without asking |
larecipe:upgrade
ينقل تطبيقًا من LaRecipe 2 إلى LaRecipe 3: الإعدادات والتنقل والمحتوى. ومن دون --apply يكتب التقرير فقط. راجع الترقية من الإصدار 2.
larecipe:upgradeUpgrade LaRecipe 2 docs, config and navigation to LaRecipe 3
php artisan larecipe:upgrade [--apply] [--move-to [MOVE-TO]] [--relative-links]| Option | Description | Default |
|---|---|---|
--apply | Write the changes (without it, only the report is written) | |
--move-to=MOVE-TO | Move the docs into this folder, for example docs | |
--relative-links | Also turn /docs/VERSION/page links into relative .md links |
larecipe:make:page
ينشئ صفحة فيها title و description و sources في ترويستها (frontmatter). لمجموعات المستودع فقط. لا يعدّل navigation.json، لكنه ينبّهك حين يكون للإصدار ملف منه.
larecipe:make:pageCreate a docs page with title, description and sources
php artisan larecipe:make:page [--title [TITLE]] [--description [DESCRIPTION]] [--source [SOURCE]] [--set [SET]] [--docs-version [DOCS-VERSION]] [--locale [LOCALE]] [--dry-run] [--] <path>| Argument | Description | Default |
|---|---|---|
path | The page path, for example billing/refunds (required) |
| Option | Description | Default |
|---|---|---|
--title=TITLE | The page title (default: from the path) | |
--description=DESCRIPTION | One sentence about the page | |
--source=SOURCE | Code the page documents, for example app/Billing/** (repeatable) | |
--set=SET | The doc set (default: the default set) | |
--docs-version=DOCS-VERSION | The version (default: the default version) | |
--locale=LOCALE | The locale (default: the default locale) | |
--dry-run | Show what would change without writing anything |
larecipe:make:version
يضيف إصدارًا إلى مجموعة مستودع بنسخ إصدار موجود. وفي مجموعة بلا إصدارات، يسمّي --current-as الإصدار الذي تنتمي إليه صفحاتها الحالية. راجع الإصدارات.
larecipe:make:versionAdd a docs version by copying an existing one
php artisan larecipe:make:version [--from [FROM]] [--default] [--current-as [CURRENT-AS]] [--set [SET]] [--dry-run] [--] <version>| Argument | Description | Default |
|---|---|---|
version | The new version id, for example 3.x (required) |
| Option | Description | Default |
|---|---|---|
--from=FROM | Copy the pages of this version (default: the default version) | |
--default | Make the new version the default | |
--current-as=CURRENT-AS | For a set without versions yet, the version its current pages belong to | |
--set=SET | The doc set (default: the default set) | |
--dry-run | Show what would change without writing anything |
larecipe:navigation:freeze
يكتب التنقل الذي يستنتجه LaRecipe من المجلدات وترويسات الصفحات في navigation.json، لتعدّله بيدك. لمجموعات المستودع فقط.
larecipe:navigation:freezeWrite the derived navigation to navigation.json
php artisan larecipe:navigation:freeze [--set [SET]] [--docs-version [DOCS-VERSION]] [--locale [LOCALE]] [--dry-run]| Option | Description | Default |
|---|---|---|
--set=SET | The doc set (default: the default set) | |
--docs-version=DOCS-VERSION | The version (default: the default version) | |
--locale=LOCALE | The locale (default: the default locale) | |
--dry-run | Show what would change without writing anything |
إبقاء التوثيق محدّثًا
larecipe:affected
يسرد الصفحات التي تطابق sources: فيها الملفات التي لمسها تغييرٌ ما، وأيّها تركها التغيير قديمة. يشغّله خطّاف pre-push وفحص CI. راجع كيف يعمل لنطاقات المقارنة وصيغ الإخراج.
larecipe:affectedList the docs pages a change affects and the ones it left stale
php artisan larecipe:affected [--base [BASE]] [--head [HEAD]] [--uncommitted] [--set [SET]] [--docs-version [DOCS-VERSION]] [--locale [LOCALE]] [--format [FORMAT]] [--fail-on-stale] [--no-drift]| Option | Description | Default |
|---|---|---|
--base=BASE | Compare with this branch or commit (from where the branch left it) | |
--head=HEAD | The end of the range | HEAD |
--uncommitted | Include staged, unstaged and untracked changes | |
--set=SET | Only this doc set | |
--docs-version=DOCS-VERSION | A version id, or "all" (default: each set's default version) | |
--locale=LOCALE | Check this locale's translations against their source pages | |
--format=FORMAT | text, json, github or markdown | text |
--fail-on-stale | Exit with 1 when the change leaves pages stale | |
--no-drift | Skip pages that drifted before this change |
larecipe:sources:suggest
يقترح sources: للصفحات التي لا تذكر أيًّا منها، انطلاقًا من الأصناف والأوامر والمسارات التي تذكرها. ويكتبها --apply في تلك الصفحات.
larecipe:sources:suggestSuggest sources: for docs pages from the code they mention
php artisan larecipe:sources:suggest [--set [SET]] [--page [PAGE]] [--all] [--apply] [--dry-run] [--json]| Option | Description | Default |
|---|---|---|
--set=SET | Only this doc set | |
--page=PAGE | Only this page path | |
--all | Also suggest for pages that already declare sources | |
--apply | Add the suggestions to pages that declare no sources yet | |
--dry-run | With --apply, show what would change without writing | |
--json | Print the suggestions as JSON |
larecipe:validate
يفحص الروابط والتنقل والمخططات (schemas) والمكوّنات والمقتطفات والمراجع الحية وحدود الحجم والمهارات. يخرج برمز غير الصفر عند وجود خطأ، ويطبع --json التقرير الذي يقرؤه الوكلاء. راجع التحقق.
larecipe:validateCheck the docs: links, navigation, schemas, components, snippets, budgets and skills
php artisan larecipe:validate [--set [SET]] [--docs-version [DOCS-VERSION]] [--json]| Option | Description | Default |
|---|---|---|
--set=SET | Only this doc set | |
--docs-version=DOCS-VERSION | Only this version of the set (Symfony reserves --version) | |
--json | Print the report as JSON |
larecipe:hook
تستدعيه خطّافات الوكلاء (pre-push و session-start) وخطّاف git (git-pre-push). لا تشغّله بنفسك.
larecipe:hookRun LaRecipe's docs check for an agent hook or the git pre-push hook
php artisan larecipe:hook [--client [CLIENT]] [--strict] [--payload [PAYLOAD]] [--] <event>| Argument | Description | Default |
|---|---|---|
event | pre-push, session-start or git-pre-push (required) |
| Option | Description | Default |
|---|---|---|
--client=CLIENT | The agent calling: claude or codex | claude |
--strict | For git-pre-push, block the push when pages are stale | |
--payload=PAYLOAD | The hook payload as JSON (default: read from stdin) |
larecipe:hooks:git
يثبّت فحص pre-push في git أو يزيله، لمن يرفع عمله من دون وكيل. يكتفي بالتحذير افتراضيًا، ويوقف --strict عملية الـ push. ولا يستبدل خطّافًا موجودًا أبدًا.
larecipe:hooks:gitInstall or remove the git pre-push docs check
php artisan larecipe:hooks:git [--install] [--uninstall] [--strict] [--dry-run]| Option | Description | Default |
|---|---|---|
--install | Add the LaRecipe check to the pre-push hook | |
--uninstall | Remove the LaRecipe check from the pre-push hook | |
--strict | Block pushes that leave docs pages stale (default: warn only) | |
--dry-run | Show what would change without writing anything |
larecipe:sync
يشغّل وكيل توثيق داخل تطبيقك بمفتاح مزوّد laravel/ai الخاص بك: للصفحات التي تركها تغييرٌ قديمة، أو للصفحات التي تسمّيها، أو للمجموعة كلها مع --audit. يعرض خطته ويسأل أولًا. راجع larecipe:sync.
larecipe:syncUpdate the docs with an AI agent on your own provider key (on demand, never in CI)
php artisan larecipe:sync [--base [BASE]] [--head [HEAD]] [--page [PAGE]] [--audit] [--set [SET]] [--docs-version [DOCS-VERSION]] [--locale [LOCALE]] [--dry-run] [--max-pages [MAX-PAGES]] [--max-steps [MAX-STEPS]] [--provider [PROVIDER]] [--model [MODEL]] [--remote [REMOTE]] [--commit] [--queue] [--yes]| Option | Description | Default |
|---|---|---|
--base=BASE | Compare with this branch or commit (default: the default branch) | |
--head=HEAD | The end of the range | HEAD |
--page=PAGE | Update this page instead (a path such as guides/webhooks, or its file); repeatable | |
--audit | Review the whole set and fix what matters most | |
--set=SET | The doc set (default: the default set) | |
--docs-version=DOCS-VERSION | The version to work on (default: the set's default version) | |
--locale=LOCALE | The locale to work on (default: the set's default locale) | |
--dry-run | Report what the agent would change, and write nothing | |
--max-pages=MAX-PAGES | The most pages this run may change (default: larecipe.ai.sync.max_pages) | |
--max-steps=MAX-STEPS | The most agent steps this run may take (default: larecipe.ai.sync.max_steps) | |
--provider=PROVIDER | The laravel/ai provider (default: larecipe.ai.sync.provider, then ai.default) | |
--model=MODEL | The model (default: larecipe.ai.sync.model, then the provider's default) | |
--remote=REMOTE | The MCP endpoint of a production database set, to change it outside a pull request | |
--commit | Commit the docs change on the current branch | |
--queue | Run as a queued job (visible in Horizon or Nightwatch) | |
--yes | Run without asking |
الوكلاء
larecipe:agents
يعيد توليد كتلة AGENTS.md والمهارات وأنماط الخطّافات المُجمَّعة. شغّله بعد تحديث LaRecipe أو تغيير إعداداته.
larecipe:agentsRegenerate the AGENTS.md block, the LaRecipe skills and the hook patterns
php artisan larecipe:agents [--dry-run] [--no-index] [--package]| Option | Description | Default |
|---|---|---|
--dry-run | Show what would change without writing anything | |
--no-index | Leave the docs index out of the AGENTS.md block | |
--package | Refresh the canonical skills inside the LaRecipe package (for contributors) |
larecipe:agents-md
يكتب فهرس التوثيق في كتلة LaRecipe داخل AGENTS.md. شغّله بعد إضافة صفحات أو حذفها أو إعادة تسميتها.
larecipe:agents-mdWrite the docs index into the LaRecipe block of AGENTS.md
php artisan larecipe:agents-md [--set [SET]] [--claude-md] [--print] [--dry-run]| Option | Description | Default |
|---|---|---|
--set=SET | Index this doc set (default: the default set) | |
--claude-md | Also add @AGENTS.md to CLAUDE.md without asking | |
--print | Print the block instead of writing it | |
--dry-run | Show what would change without writing anything |
larecipe:mcp
يشغّل خادم MCP المحلي عبر stdio. يشغّله إعداد MCP لدى وكيلك. راجع أدوات MCP.
larecipe:mcpStart the LaRecipe docs MCP server over stdio, for your coding agent
php artisan larecipe:mcplarecipe:doctor
يقيّم ما يحصل عليه الوكلاء من كل مجموعة توثيق، مع إصلاح لكل ملاحظة. يخرج برمز غير الصفر حين يفشل أحد الفحوص. راجع التحقق و doctor.
larecipe:doctorGrade how ready your docs are for agents, with fixes
php artisan larecipe:doctor [--set [SET]] [--json]| Option | Description | Default |
|---|---|---|
--set=SET | Only this doc set | |
--json | Print the report as JSON |
المصادر
larecipe:source:export
يكتب مجموعة توثيق في صورة حزمة (bundle) من الملفات المعيارية، إلى مجلد أو ملف .tar.gz، لاستخدامها مع source:import و pull.
larecipe:source:exportExport a doc set as a bundle of canonical files (Markdown, larecipe.json, navigation.json, assets)
php artisan larecipe:source:export [--set [SET]] [--to [TO]]| Option | Description | Default |
|---|---|---|
--set=SET | The doc set (default: larecipe.default) | |
--to=TO | A new directory, or a file ending in .tar.gz |
larecipe:source:import
يحمّل حزمة إلى المصدر المضبوط لمجموعة ما، بعد التحقق منها أولًا. ويقارن --verify كل بصمة محتوى (content hash) بعد ذلك.
larecipe:source:importImport a bundle of canonical files into a doc set
php artisan larecipe:source:import [--set [SET]] [--verify] [--] <bundle>| Argument | Description | Default |
|---|---|---|
bundle | A bundle directory, or a .tar.gz made by larecipe:source:export (required) |
| Option | Description | Default |
|---|---|---|
--set=SET | The doc set (default: larecipe.default) | |
--verify | Re-read the set afterwards and compare every content hash |
larecipe:source:move
ينسخ مجموعة بين المستودع وقاعدة البيانات، ويطبع تغيير الإعدادات الذي يجعل الموقع يُقدَّم من المصدر الجديد. ولا يعدّل config/larecipe.php أبدًا. راجع تبديل المصادر.
larecipe:source:moveMove a doc set between the repository and the database source
php artisan larecipe:source:move [--set [SET]] [--path [PATH]] [--connection [CONNECTION]] [--dry-run] [--verify] [--] <from> <to>| Argument | Description | Default |
|---|---|---|
from | The source the set uses now: repository or database (required) | |
to | The source to move it to: repository or database (required) |
| Option | Description | Default |
|---|---|---|
--set=SET | The doc set (default: larecipe.default) | |
--path=PATH | The docs folder on the repository side, when it is not the configured one (default: docs/) | |
--connection=CONNECTION | The database connection on the database side | |
--dry-run | Show the plan and the validation, write nothing | |
--verify | After writing, re-read the target and compare every content hash |
larecipe:make:docs-migration
ينشئ هيكل ترحيل توثيق يدويًا. يُملأ كل --page بمحتواه الحالي وبصمة محتواه. راجع ترحيلات التوثيق.
larecipe:make:docs-migrationCreate a docs migration for a database doc set
php artisan larecipe:make:docs-migration [--set [SET]] [--page [PAGE]] [--] <name>| Argument | Description | Default |
|---|---|---|
name | What the migration does, for example document_billing_exports (required) |
| Option | Description | Default |
|---|---|---|
--set=SET | The doc set (default: larecipe.default) | |
--page=PAGE | Pages to include with their current content and hash, for example 3.x/billing/exports |
larecipe:pull
يحدّث مجموعة قاعدة بيانات محلية أو في CI من حزمة صُنعت في الإنتاج بالأمر larecipe:source:export.
larecipe:pullRefresh a local database doc set from a production export
php artisan larecipe:pull [--set [SET]] [--from [FROM]]| Option | Description | Default |
|---|---|---|
--set=SET | The database doc set to refresh (default: larecipe.default) | |
--from=FROM | A bundle made on production with larecipe:source:export (a .tar.gz or a directory) |
larecipe:cache:warm
يملأ الذاكرة المؤقتة لمجموعات قاعدة البيانات مسبقًا. شغّله في عملية النشر بعد php artisan migrate.
larecipe:cache:warmWarm the cache of database doc sets (pages, navigation, manifest)
php artisan larecipe:cache:warm [--set [SET]]| Option | Description | Default |
|---|---|---|
--set=SET | The doc sets to warm (default: every database set) |
التشغيل
larecipe:optimize
يُصيّر كل صفحة في مجموعات المستودع في الذاكرة المؤقتة، مع قوائم الصفحات والتنقل وسجلات البحث. يشغّله php artisan optimize.
larecipe:optimizeCompile LaRecipe pages, navigation and search records into the cache
php artisan larecipe:optimize [--set [SET]]| Option | Description | Default |
|---|---|---|
--set=SET | Only compile these doc sets |
larecipe:clear
يمحو ما جمّعه larecipe:optimize، ويحذف bootstrap/cache/larecipe/optimized.php. ويبقى فهرس بيانات التحديث (provenance) ولقطة المراجع وأنماط الخطّافات. يشغّله php artisan optimize:clear.
larecipe:clearForget the LaRecipe pages and search records compiled by larecipe:optimize
php artisan larecipe:clearlarecipe:provenance
يجمع آخر تغيير لكل صفحة من git، لمجموعات المستودع. شغّله حيث يتوفر السجل الكامل، فالأمر larecipe:optimize لا يشغّله. راجع مصدر المستودع.
larecipe:provenanceCompile page provenance (last change, author, agent, pull request) for repository doc sets
php artisan larecipe:provenance [--set [SET]] [--clear]| Option | Description | Default |
|---|---|---|
--set=SET | The doc sets to compile (default: every repository set) | |
--clear | Remove the compiled indexes instead |
larecipe:references:snapshot
يكتب ما تستطيع المراجع الحية قراءته في bootstrap/cache/larecipe/references.json، لبيئات CI التي لا قاعدة بيانات فيها. ولا يُستخدم إلا حين لا يستطيع التطبيق الإجابة.
larecipe:references:snapshotSnapshot what live references can read, for CI without a database
php artisan larecipe:references:snapshotlarecipe:export
يكتب مجموعات التوثيق العامة موقعًا ثابتًا، ومعه البحث. وما يحتاج إلى التطبيق أثناء تشغيله يُستبعد ويُذكر في قائمة. راجع التصدير الثابت.
larecipe:exportExport public doc sets as a static site
php artisan larecipe:export [--out [OUT]] [--set [SET]] [--base-url [BASE-URL]]| Option | Description | Default |
|---|---|---|
--out=OUT | The folder to write the site into | build/docs |
--set=SET | The doc sets to export (all public sets by default) | |
--base-url=BASE-URL | Where the site will be served from, for example https://docs.acme.dev |
larecipe:share
يطبع رابطًا موقّعًا مؤقتًا يتيح لأي شخص قراءة صفحة واحدة، خاصة كانت أم لا. راجع كتل الصلاحيات والتوثيق الخاص.
larecipe:shareIssue a temporary signed link that lets anyone read one private page
php artisan larecipe:share [--expires [EXPIRES]] [--] <page>| Argument | Description | Default |
|---|---|---|
page | The page, as set/version/path (for example docs/3.x/billing/roadmap) (required) |
| Option | Description | Default |
|---|---|---|
--expires=EXPIRES | How long the link works: 30m, 12h, 7d, 2w | 7d |
ملفات الواجهة
لا يوجد أمر larecipe:publish. ليقدّم خادم الويب ملفات الواجهة المبنية مسبقًا، استخدم أمر Laravel نفسه (راجع النشر):
php artisan vendor:publish --tag=larecipe-assets --force