# 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: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
