> For the complete documentation index, see [llms.txt](https://notes.d15r.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notes.d15r.de/dev/php/laravel/package-development.md).

# Package-development

## Ablauf

Ich habe mir ein [CLI Tool](https://github.com/danielsundermeier/butler) programmiert, das mir viel Arbeit abnimmt.

### New

im Root Ordner des Projekts, in dem ich das Package entwickeln möchte. im Ordner /packages/danielsundermeier/package-name wird eine Vorlage erstellt und im Projekt lokal per Composer eingebunden.

```
butler package:new danielsundermeier/package-name D15r\\PackageNamespace --laravel
```

### Publish

* Git Repository wird erstellt, alles commited und veröffentlicht
* \--release=0.1.0 erstellt einen neuen Release
* Package bei Packagist.org registrieren?

```
butler package:publish danielsundermeier/package-name --release="0.1.0"
```

### Remove

```
butler package:remove danielsundermeier/package-name --require
```

### Clone

```
butler package:clone danielsundermeier/package-name https://github.com/danielsundermeier/package-name
```

### Push

```
butler package:push danielsundermeier/package-name "Commit message (optional)" --release="0.2.0"
```

## Links

### Artikel

* [Package Development](https://laravel.com/docs/packages)
* [Creating a Laravel specific package](https://johnbraun.blog/posts/creating-a-laravel-package-1)
* [Laravel Package Boilerplate](https://laravelpackageboilerplate.com/)
* [Social images for PHP Packages PHP Packages](https://banners.beyondco.de/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://notes.d15r.de/dev/php/laravel/package-development.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
