- Event store migrations use PostgreSQL-specific SQL (SERIAL, UUID) that
fails on SQLite — replaced with doctrine:schema:update --force
- Run messenger:setup-transports BEFORE event_store schema to avoid
messenger_messages table conflict
- Read model migrations (--em=read_model) include role seeding (ROLE_USER,
ROLE_ADMIN) which doctrine:schema:create skips
- Fix default_credentials in json to match script (admin@slink.local)
Migrated all 80 app JSON files to place config_path inside each
install_methods object instead of at the root level. This allows
different install methods (e.g. Debian vs Alpine) to have distinct
config paths.
Also updated AGENTS.md JSON structure example to reflect the change.
- Set ADMIN_EMAIL/ADMIN_PASSWORD so admin user is created on first boot
- Generate JWT keypair for authentication to work
- Run doctrine:migrations:migrate for DB schema
- Save credentials to ~/slink.creds