bouncer
bouncer copied to clipboard
A tool to streamline syncing Urbit app desks
bouncer
A dev tool to streamline Urbit app development. bouncer connects to a running ship (e.g, a fake ship or locally running moon) and runs a customizable script to merge, mount, rsync, commit, and install (a common workflow for app development).
Requirements
- Ruby 3+
- bundler (
gem install bundler) - a fresh Urbit fake ship (currently assumes
~zod)
Setup
- Check out this repo
- Run
bundleto install the Ruby dependencies - Create a copy of
config.ymland add your own script and ENV vars. See./apps/landscape/config.ymlfor an example
Usage
For a quick demo, start a new fake ~zod and then:
bin/bounce
To use a custom config:
bin/bounce -c ./apps/landscape/config.yml
Or for a ship besides ~zod running on another loopback port (ie, running multiple ships):
bin/bounce -c ./apps/landscape/config.yml -s net -p 12322
The custom config syntax is documented in config.yml.
To find the loopback port, check the fake ship output for the following line:
http: loopback live on http://localhost:12322
Example
Check out the landscape-apps repo for an example of how bouncer is used in production at Tlon.
TODO
- [ ] automated removal of stale pier / creation of new pier (for now, run
./create.shmanually)