The GUI for Realm OS.
We use yarn workspace to manage the multiple modules.
- app/ - the Realm desktop client
- onboarding/ – the web onboarding flow
- shared/ - shared code in the monorepo
- lib/ - outwards facing packages that are published to npmjs.com
- design-system/ – component library for Realm apps
- presence/ – cursor streaming for Realm apps
- room/ – data streaming for Realm apps
We use yarn workspaces to build all packages for Realm.
# Install dependencies and build all packages
yarn
# Note: you may have to rebuild sqlite3
cd app
./node_modules/.bin/electron-rebuild
cd ..
# Start the app
yarn start
Follow /.docs/DEV_SETUP.md
to setup fakeships and pull the Urbit submodule down into the Realm repo.
Once these ships are created, you can then go to /app/README.md
to get started with Realm.
If you download from releases, you will have to include a github token env when you open Realm for now, see docs in /app/release/app
.
In the debug build you can bypass the invite code and email with ~admins-admins-admins
and admin@admin.com
(only if DEBUG_PROD=true).
~hostyv
hosts several of the desks needed for Realm, you may have to manually install them for now.
To get the cutting edge %base
desk to test and develop against, set your OTA source to ~binnec-dozzod-marzod
https://github.com/AppImage/AppImageKit/wiki/FUSE
npx cross-env DEBUG_PROD=true yarn package:prerelease:mac
npx cross-env DEBUG_PROD=true yarn package:prerelease:linux
npx cross-env DEBUG_PROD=true yarn package:prerelease:win
Building a prerelease will replace the .d.ts
files in all the /dist
folders, so make sure to run rm -rf ./**/dist
followed by yarn
in root when you want to run Realm in dev mode again.
For frontend development, make sure to:
yarn lint
manually (VSCode instruction).