Vývojář Local Development (Monorepo)

Local Development (Monorepo)

Chcete zasahovat přímo do Laravixu — do jádra nebo výchozí šablony? Pak potřebujete vývojové monorepo, ne distribuci. Tento článek vysvětluje rozložení repozitáře a rozběhne ho přes Laravel Sail.

Tip: Pokud chcete s Laravixem jen postavit web, použijte distribuci — viz Instalace.

Rozložení repozitáře

Monorepo je kompletní Laravel aplikace, která jádro instaluje z lokální cesty (Composer ji symlinkuje):

Cesta Co to je
packages/laravix/cms Distribuované jádro — modely, Filament resources, bloky, API, příkazy. Jediný balíček v monorepu.
packages/laravix/cms/resources/themes/default Zdroj výchozí šablony, který se při instalaci publikuje do themes/.
themes/default Výchozí šablona, jak existuje v této aplikaci — viz Struktura šablony.
app/, config/, routes/ Hostitelská aplikace — tenké lepidlo kolem balíčku.
.github/workflows/split.yml Při každém pushi a tagu zrcadlí packages/laravix/cms do samostatného repozitáře Laravix/cms.

First-party pluginy se přestěhovaly. Pluginy Docs a Changelog tu dřív žily jako packages/laravix/docs-plugin a packages/laravix/changelog-plugin. Ve verzi v0.11.0 byly přesunuty mimo jádro a dnes sídlí v repozitáři webu laravix.com, který laravix/cms konzumuje jako každá jiná instalace. Pořád jsou referenčními příklady pro Vývoj pluginů — jen nejsou v tomhle repozitáři.

Požadavky

  • Docker (monorepo běží v kontejnerech Laravel Sail: PHP, MySQL, Meilisearch, Mailpit)
  • Composer a PHP 8.4 na hostiteli pro první composer install
  • Node.js pro build assetů

Ne laravix:docker. Ten příkaz generuje Docker prostředí pro instalaci Laravixu — patří k distribuci, ne k tomuhle repozitáři. Monorepo má vlastní compose.yaml řízený Sailem.

Setup

git clone https://github.com/MartinKoudela/laravix-cms.git
cd laravix-cms

composer install
cp .env.example .env

vendor/bin/sail up -d
vendor/bin/sail artisan key:generate
vendor/bin/sail artisan migrate --seed
vendor/bin/sail npm install
vendor/bin/sail npm run build

Otevřete http://localhost/admin a přihlaste se. Seeder zakládá tři účty, všechny s heslem example_:

E-mail Přístup
[email protected] Super admin — všechny weby
[email protected] Běžný uživatel
[email protected] Běžný uživatel

Tip: Všechny PHP, Artisan, Composer a Node příkazy pouštějte přes vendor/bin/sail, aby běžely uvnitř kontejnerů. Pomůže alias: alias sail='vendor/bin/sail'.

Každodenní příkazy

vendor/bin/sail artisan test --compact   # spuštění Pest testů
vendor/bin/sail bin pint --dirty         # formátování změněných PHP souborů
vendor/bin/sail npm run dev              # Vite dev server s hot reloadem
vendor/bin/sail artisan pail             # sledování logů aplikace

Stack: Laravel 13, Filament 5, Livewire 4, Tailwind CSS 4, GrapesJS, Meilisearch, Pest 4 na PHP 8.4.

Úpravy jádra

Balíčky v packages/*/* jsou nainstalované jako symlinkované path repozitáře, takže změny souborů v packages/laravix/cms platí okamžitě — žádný composer update není potřeba.

Frontendové změny (admin theme, JavaScript builderu) vyžadují rebuild: vendor/bin/sail npm run build, nebo nechte běžet npm run dev.

Řešení problémů

„Unable to locate file in Vite manifest". Assety ještě nejsou sestavené — spusťte vendor/bin/sail npm run build.

Přihlášení se správnými údaji selhává. Uživatel nemá žádný web a není super admin. Vytvořte správný účet přes vendor/bin/sail artisan laravix:user a na dotaz o super adminovi odpovězte ano.

Port 80 je obsazený. Nastavte APP_PORT v .env před sail up.

Související články

Laravix Documentation · 25.08.2026
Star on GitHub