Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
kami-development
kami-development
psyao/kami
claude-code
kami
filament
installation
deployment
hosting
adr

Builds, installs, deploys and checks sites on Kami, the CMS package in this Laravel application. Use when creating a Kami site or adding Kami to an application, declaring a Content Type or its Fields, writing or publishing Entries, adding a Locale, rendering a type, reacting to content changes, changing security headers, managing Roles and Permissions, deploying or updating a site, fixing a kami:doctor or kami:install problem, or choosing what runs on shared hosting.

Install
php artisan boost:add-skill psyao/kami

Save this content to: .claude/skills/kami-development/SKILL.md

# Kami development

Each task has one guide, the source of truth: open it before acting, and follow it over anything remembered.

| Task | Guide |
| --- | --- |
| Create a new site from the starter kit | `vendor/psyao/kami/docs/guide/installation.md#creating-a-site` |
| Add Kami to an existing application or to its Filament panel | `vendor/psyao/kami/docs/guide/existing-application.md` |
| Declare a Content Type or its Fields, tabs, sections and conditions, with its labels, its view and its migration | `vendor/psyao/kami/docs/guide/content-types.md` |
| Start a type (`kami:make:type Name`, `--singleton`, `--global-set`, `--taxonomy`) | `vendor/psyao/kami/docs/guide/content-types.md#declaring-a-type` |
| Declare a type with no URL (`$routable = false`) or a Singleton (`Home::entry()`) | `vendor/psyao/kami/docs/guide/content-types.md#types-with-no-url` |
| Let editors order a type by hand (`$orderable = true`, `Entry::query()->ordered()`) | `vendor/psyao/kami/docs/guide/content-types.md#types-ordered-by-hand` |
| Put a type's Entries in a tree (`$hierarchical = true`, `parent` on `SaveEntry`, `Term::ancestors()`) | `vendor/psyao/kami/docs/guide/content-types.md#hierarchical-types` |
| Hold values shown across the Site in a Global Set (`Footer::entry()`), or read `SiteSettings` | `vendor/psyao/kami/docs/guide/content-types.md#global-sets` |
| Link Entries with `Entries`, or classify them with a Taxonomy and `Terms` | `vendor/psyao/kami/docs/guide/content-types.md#relations` |
| Hold repeated or grouped values in one Field (`Repeater`, `Group`) | `vendor/psyao/kami/docs/guide/content-types.md#repeaters-and-groups` |
| Change a declared model: rename or drop a Field or type, flip `$translatable` (`ContentMigrator`), or fix content model drift | `vendor/psyao/kami/docs/guide/content-types.md#schema-changes` |
| Replace a type's admin form or table (`EntryForm`, `EntryTable`), or add a Field type or an admin page | `vendor/psyao/kami/docs/guide/content-types.md#in-the-admin` |
| Seed content from code | `vendor/psyao/kami/docs/guide/content-types.md#writing-entries` |
| Write, publish, schedule or unpublish Entries, from the admin or from code | `vendor/psyao/kami/docs/guide/publishing.md` |
| Duplicate an Entry (`DuplicateEntry`) | `vendor/psyao/kami/docs/guide/content-types.md#duplicating-an-entry` |
| Trash or restore Entries (`TrashEntry`, `RestoreEntry`) | `vendor/psyao/kami/docs/guide/content-types.md#the-trash` |
| Act on selected rows, or add a row, header or bulk action of your own writing through a core action | `vendor/psyao/kami/docs/guide/content-types.md#your-own-actions` |
| React to content changes with Content events | `vendor/psyao/kami/docs/guide/publishing.md#reacting-to-content` |
| Add a Locale, or understand Translations, Fallback and `lang` | `vendor/psyao/kami/docs/guide/multilingual.md` |
| Render a type, write its view, override `render()` or place `Kami::routes()` | `vendor/psyao/kami/docs/guide/routing-and-rendering.md` |
| Load from another origin, extend the front CSP, or weigh an option that weakens it | `vendor/psyao/kami/docs/guide/security.md` |
| Give the User model Kami's Roles, declare a Role, or check a Permission | `vendor/psyao/kami/docs/guide/users-and-roles.md` |
| Create the first administrator or give an existing User the Role, from a terminal or a deploy script | `vendor/psyao/kami/docs/guide/installation.md#the-first-user` |
| Fix a problem `kami:doctor` or `kami:install` reports | The section of `vendor/psyao/kami/docs/guide/installation.md` the problem names |
| Fix a Path clash, or Paths that do not follow the declarations | `vendor/psyao/kami/docs/guide/routing-and-rendering.md#after-a-deploy` |
| Deploy a site for the first time | `vendor/psyao/kami/docs/guide/deployment.md#first-deploy` |
| Deploy again, update Kami, or ship a changed Prefix or Locale | `vendor/psyao/kami/docs/guide/deployment.md#later-deploys` |
| Decide whether something can run on the host (cron, queue, Node, PHP limits) | `vendor/psyao/kami/docs/guide/hosting.md` |
| Understand why Kami works the way it does | `vendor/psyao/kami/docs/adr/` |

A task the table does not cover is outside what Kami offers today: say so, and keep to Kami's public classes rather than its `Internal` namespaces under `vendor/psyao/kami/src/`.

Kami development

Each task has one guide, the source of truth: open it before acting, and follow it over anything remembered.

Task Guide
Create a new site from the starter kit vendor/psyao/kami/docs/guide/installation.md#creating-a-site
Add Kami to an existing application or to its Filament panel vendor/psyao/kami/docs/guide/existing-application.md
Declare a Content Type or its Fields, tabs, sections and conditions, with its labels, its view and its migration vendor/psyao/kami/docs/guide/content-types.md
Start a type (kami:make:type Name, --singleton, --global-set, --taxonomy) vendor/psyao/kami/docs/guide/content-types.md#declaring-a-type
Declare a type with no URL ($routable = false) or a Singleton (Home::entry()) vendor/psyao/kami/docs/guide/content-types.md#types-with-no-url
Let editors order a type by hand ($orderable = true, Entry::query()->ordered()) vendor/psyao/kami/docs/guide/content-types.md#types-ordered-by-hand
Put a type's Entries in a tree ($hierarchical = true, parent on SaveEntry, Term::ancestors()) vendor/psyao/kami/docs/guide/content-types.md#hierarchical-types
Hold values shown across the Site in a Global Set (Footer::entry()), or read SiteSettings vendor/psyao/kami/docs/guide/content-types.md#global-sets
Link Entries with Entries, or classify them with a Taxonomy and Terms vendor/psyao/kami/docs/guide/content-types.md#relations
Hold repeated or grouped values in one Field (Repeater, Group) vendor/psyao/kami/docs/guide/content-types.md#repeaters-and-groups
Change a declared model: rename or drop a Field or type, flip $translatable (ContentMigrator), or fix content model drift vendor/psyao/kami/docs/guide/content-types.md#schema-changes
Replace a type's admin form or table (EntryForm, EntryTable), or add a Field type or an admin page vendor/psyao/kami/docs/guide/content-types.md#in-the-admin
Seed content from code vendor/psyao/kami/docs/guide/content-types.md#writing-entries
Write, publish, schedule or unpublish Entries, from the admin or from code vendor/psyao/kami/docs/guide/publishing.md
Duplicate an Entry (DuplicateEntry) vendor/psyao/kami/docs/guide/content-types.md#duplicating-an-entry
Trash or restore Entries (TrashEntry, RestoreEntry) vendor/psyao/kami/docs/guide/content-types.md#the-trash
Act on selected rows, or add a row, header or bulk action of your own writing through a core action vendor/psyao/kami/docs/guide/content-types.md#your-own-actions
React to content changes with Content events vendor/psyao/kami/docs/guide/publishing.md#reacting-to-content
Add a Locale, or understand Translations, Fallback and lang vendor/psyao/kami/docs/guide/multilingual.md
Render a type, write its view, override render() or place Kami::routes() vendor/psyao/kami/docs/guide/routing-and-rendering.md
Load from another origin, extend the front CSP, or weigh an option that weakens it vendor/psyao/kami/docs/guide/security.md
Give the User model Kami's Roles, declare a Role, or check a Permission vendor/psyao/kami/docs/guide/users-and-roles.md
Create the first administrator or give an existing User the Role, from a terminal or a deploy script vendor/psyao/kami/docs/guide/installation.md#the-first-user
Fix a problem kami:doctor or kami:install reports The section of vendor/psyao/kami/docs/guide/installation.md the problem names
Fix a Path clash, or Paths that do not follow the declarations vendor/psyao/kami/docs/guide/routing-and-rendering.md#after-a-deploy
Deploy a site for the first time vendor/psyao/kami/docs/guide/deployment.md#first-deploy
Deploy again, update Kami, or ship a changed Prefix or Locale vendor/psyao/kami/docs/guide/deployment.md#later-deploys
Decide whether something can run on the host (cron, queue, Node, PHP limits) vendor/psyao/kami/docs/guide/hosting.md
Understand why Kami works the way it does vendor/psyao/kami/docs/adr/

A task the table does not cover is outside what Kami offers today: say so, and keep to Kami's public classes rather than its Internal namespaces under vendor/psyao/kami/src/.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource