4d1e04afdf70458f9465e23d368449bf1d9aa939
- host apipie matcher now globs the engine controllers, so /api/docs and /api/swagger keep documenting the catalog endpoints - rails g warp_engine:install: initializer template + a clean create_warp_engine_tables migration (signed bigint PKs) for new hosts; TTG never runs it - engine append_migrations initializer: future catalog migrations in the engine's db/migrate run via the host's rails db:migrate - README documents the updater contract, config surface, host expectations (admin JS picker, apipie matcher) and the soft-delete/resurrection behavior - make api-test runs both suites plus a production zeitwerk:check Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Teletype Games
Monorepo: Vue 3 frontend + Rails 8 API.
Projekt struktúra
apps/
frontend/ # Vue 3 + Vite + TypeScript + Tailwind
api/ # Rails 8 API + ActiveAdmin
Fejlesztői környezet
docker compose up -d
| Szolgáltatás | URL |
|---|---|
| Frontend | http://${WEBAPP_DOMAIN} |
| API | http://${WEBAPP_DOMAIN}/api |
| Admin | http://${WEBAPP_DOMAIN}/admin |
| API Docs | http://${WEBAPP_DOMAIN}/api/swagger |
Linting
Backend (RuboCop)
# Ellenőrzés
docker compose run --rm --no-deps api bundle exec rubocop
# Automatikus javítás
docker compose run --rm --no-deps api bundle exec rubocop -A
Konfig: apps/api/.rubocop.yml (rubocop-rails-omakase preset)
Frontend (ESLint)
# Ellenőrzés
docker compose run --rm --no-deps frontend npm run lint
# Automatikus javítás
docker compose run --rm --no-deps frontend npm run lint:fix
Konfig: apps/frontend/eslint.config.js (ESLint 9 flat config, Vue + TypeScript)
Languages
Ruby
43.8%
Vue
27.8%
TypeScript
13%
CSS
10.2%
JavaScript
3.3%
Other
1.8%