PHPackages                             code-instinct/artisan-docs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. code-instinct/artisan-docs

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

code-instinct/artisan-docs
==========================

Automatically generate documentation for all Artisan commands in a Laravel application.

v1.0.1(3mo ago)17MITPHPPHP ^8.1CI passing

Since Apr 16Pushed 3mo agoCompare

[ Source](https://github.com/CodeInstinctAI/artisan-docs)[ Packagist](https://packagist.org/packages/code-instinct/artisan-docs)[ RSS](/packages/code-instinct-artisan-docs/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (2)Dependencies (6)Versions (3)Used By (0)

artisan-docs
============

[](#artisan-docs)

[![Tests](https://github.com/codeinstinctai/artisan-docs/actions/workflows/tests.yml/badge.svg)](https://github.com/codeinstinctai/artisan-docs/actions)[![Latest Version](https://camo.githubusercontent.com/beed3ce3190a51ba1f5615c5481c31e434505777691c2c1113abbb1fd49bf74c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636f64652d696e7374696e63742f6172746973616e2d646f63732e737667)](https://packagist.org/packages/code-instinct/artisan-docs)[![License](https://camo.githubusercontent.com/eab4a0448bd215e4a2146a3b78084abd9354b786d31125970ab92bbd04d256b1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f636f64652d696e7374696e63742f6172746973616e2d646f63732e737667)](LICENSE)

Automatically generate structured reference documentation for **every Artisan command** registered in your Laravel application — including custom commands, third-party packages, and Laravel's own built-in commands.

---

Installation
------------

[](#installation)

```
composer require code-instinct/artisan-docs
```

Laravel's auto-discovery will register the service provider automatically.

Optionally publish the config and/or the HTML template:

```
# Publish configuration
php artisan vendor:publish --tag=artisan-docs-config

# Publish HTML Blade template (for customisation)
php artisan vendor:publish --tag=artisan-docs-views
```

---

Usage
-----

[](#usage)

### Zero-config (Markdown, outputs to `docs/commands.md`)

[](#zero-config-markdown-outputs-to-docscommandsmd)

```
php artisan docs:commands
```

### Choose output format

[](#choose-output-format)

```
php artisan docs:commands --format=html   --output=docs/commands.html
php artisan docs:commands --format=json   --output=docs/commands.json
php artisan docs:commands --format=markdown --output=README-commands.md
```

### Filtering

[](#filtering)

```
# Only application-defined commands (in App\Console\Commands)
php artisan docs:commands --only-custom

# Exclude anything that lives in vendor/
php artisan docs:commands --exclude-vendor

# Scope to a single namespace
php artisan docs:commands --namespace=make

# Also surface hidden commands
php artisan docs:commands --include-hidden
```

### CI check — fail if docs are out of sync

[](#ci-check--fail-if-docs-are-out-of-sync)

```
php artisan docs:commands --check
```

Exits with code `1` when the committed documentation file does not match the current command structure. Ideal for a CI gate.

Before comparing, `--check` performs **structural normalisation**: it strips format-specific timestamps embedded by each generator — the `> Auto-generated on …` blockquote line in Markdown, the `generated_at` field in JSON, and the generated-time suffix inside the `` element in HTML — so that a run whose only difference from the committed file is the generation timestamp still passes. Only genuine structural changes (commands added or removed, arguments or options modified) will cause the check to fail.

---

Configuration
-------------

[](#configuration)

After publishing, edit `config/artisan-docs.php`:

KeyDefaultDescription`default_format``markdown``markdown`, `html`, or `json``default_output``docs/commands.md`Output file path (relative to base path)`include_hidden``false`Include hidden commands`include_vendor``true`Include vendor package commands`excluded_namespaces``['_', 'completion', 'horizon', 'telescope', 'nova']`Namespaces to always skip. `horizon`, `telescope`, and `nova` are excluded by default to prevent exposing internal queue/worker configuration, recording settings, and admin tooling internals.`excluded_commands``[]`Specific command names to skip`groups`*(see config)*Map namespace → group display name`app_command_paths``['App\\Console\\Commands\\']`Paths used to detect custom commands`html_template``artisan-docs::commands`Blade view for HTML output`title``Artisan Command Reference`Document title---

Security
--------

[](#security)

### Sensitive Data Redaction

[](#sensitive-data-redaction)

`CommandInspector` automatically redacts the default values of any command argument or option whose name matches a sensitive-credential pattern. This prevents secrets that were accidentally set as defaults from leaking into generated documentation.

The following keyword patterns trigger redaction (matched case-insensitively, including compound names such as `db_password` or `api_token`):

Matched keywords`password`, `passwd``secret``token``api_key`, `api-key`, `apikey``auth_key`, `auth-key``private_key`, `private-key``credential`When a match is found, the default value is replaced with the `[ REDACTED ]` placeholder (exposed as `CommandInspector::REDACTED_VALUE`) in all output formats. Arguments and options that have no meaningful default (`null`, `false`, or an empty string) are left untouched.

---

Output Formats
--------------

[](#output-formats)

### Markdown

[](#markdown)

GitHub-friendly tables for arguments and options, TOC with anchor links, group sections.

### HTML

[](#html)

Self-contained, dark-themed single-page reference with a sticky sidebar navigation. Zero external dependencies — ship it to GitHub Pages, an S3 bucket, or your internal wiki.

### JSON

[](#json)

Machine-readable structure for integration with Confluence, Notion, or custom tooling.

---

Customising the HTML Template
-----------------------------

[](#customising-the-html-template)

```
php artisan vendor:publish --tag=artisan-docs-views
```

Edit `resources/views/vendor/artisan-docs/commands.blade.php`.
Update `html_template` in your config to `artisan-docs::commands` (default already points to it after publishing).

---

Testing
-------

[](#testing)

```
composer test
```

Linting
-------

[](#linting)

```
composer lint
```

---

Contributing
------------

[](#contributing)

Contributions are welcome! If you've found a bug, have a feature request, or want to submit a pull request, please read the [Contributing Guidelines](CONTRIBUTING.md) to get started.

---

License
-------

[](#license)

Open-sourced software licensed under the [MIT LICENSE](LICENSE).

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance82

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

2

Last Release

96d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/27710470?v=4)[code-instinct](/maintainers/code-instinct)[@Code-Instinct](https://github.com/Code-Instinct)

---

Top Contributors

[![PoloStyle07](https://avatars.githubusercontent.com/u/22730351?v=4)](https://github.com/PoloStyle07 "PoloStyle07 (5 commits)")

---

Tags

laraveldocumentationartisancommandsdocs

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/code-instinct-artisan-docs/health.svg)

```
[![Health](https://phpackages.com/badges/code-instinct-artisan-docs/health.svg)](https://phpackages.com/packages/code-instinct-artisan-docs)
```

###  Alternatives

[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M246](/packages/laravel-ai)[laravel/sail

Docker files for running a basic Laravel application.

1.9k205.7M1.3k](/packages/laravel-sail)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M347](/packages/psalm-plugin-laravel)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77922.3M186](/packages/laravel-mcp)[propaganistas/laravel-disposable-email

Disposable email validator

6023.0M7](/packages/propaganistas-laravel-disposable-email)[tallstackui/tallstackui

TallStackUI is a powerful suite of Blade components that elevate your workflow of Livewire applications.

728176.2k14](/packages/tallstackui-tallstackui)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
