An operating function (Prototype)
Go to file
~hanfel-dovned 5a41068df6
Merge pull request #132 from urbit/hanfel/self-circle
Rewrite circle to use self-rendering
2024-09-27 10:46:34 -07:00
.github ci: fix ci on next/kelvin/412 branch 2023-07-19 17:04:20 +03:00
bin neo: add shrub.pill 2024-07-11 06:01:41 -04:00
doc/spec Revert "removing old Nock specs" 2022-11-30 12:55:16 -05:00
extras Misc cleanup blocking CC-Release. (#1249) 2019-04-24 17:27:27 -07:00
nix ci: fix ci nonsense 2024-04-16 16:16:14 +03:00
pkg Merge pull request #132 from urbit/hanfel/self-circle 2024-09-27 10:46:34 -07:00
sh ci: fix ci on next/kelvin/412 branch 2023-07-19 17:04:20 +03:00
tests Merge remote-tracking branch 'upstream/master' into dev-summit 2024-06-17 14:31:48 -04:00
.gitattributes feather tweaks and document basis-* classes 2024-08-06 11:21:37 -05:00
.gitignore Merge branch 'master' into release/next-vere 2021-10-05 11:33:08 -04:00
.ignore Can now |hi to King Haskell over Ames! (and merged Master) 2019-07-31 22:16:02 -07:00
.mailmap mailmap: add pkova [ci skip] 2020-01-30 15:53:19 +04:00
.stylish-haskell.yaml stylish-haskell 2019-07-12 12:27:15 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md 2023-05-24 11:40:45 -04:00
default.nix Merge branch 'develop' into lf/goerli-address 2023-02-09 06:57:19 -08:00
flake.lock ci: fix ci on next/kelvin/412 branch 2023-07-19 17:04:20 +03:00
flake.nix ci: make tests actually run in ci 2024-02-23 00:01:35 +02:00
LICENSE.txt Restore toplevel LICENSE.txt file. 2020-01-28 13:24:39 -08:00
MAINTAINERS.md meta: don't codeblock table in MAINTAINERS.md 2023-04-29 07:36:28 -05:00
Makefile arvo: retool for goerli instead of deprecated ropsten 2022-10-26 13:11:22 +10:00
README.md Update README 2024-09-27 10:32:12 +01:00
shell.nix build: removes herb from top-level Makefile, shell.nix 2022-06-03 14:40:08 -04:00
test-desk.bill ci: fix ci on next/kelvin/412 branch 2023-07-19 17:04:20 +03:00
vere-version ci: update vere-version 2023-01-18 14:54:59 -07:00

Developer Environment Setup

urbit/shrub is alpha software that should not be booted on a live ship. Boot a fakeship to try it out.

When you boot your fakeship you should use the --loom 33 flag, which allocates 8GB of memory on your machine for your ship. During Shrubbery development you could end up nuking and restarting the %neo agent many times, which will quickly use up the 2GB of memory ships are allocated by default. If/when your ship runs out of memory, just boot a new one and copy your work into that.

  • Clone urbit/shrub to your machine. (The develop branch is the latest stable build.)
  • Boot a fakeship with the --loom 33 flag.
  • > |new-desk %neo on the fakeship
  • > |mount %neo
  • $ rsync -avL path/to/pkg/shrub/* path/to/fakeship/neo
  • > |commit %neo
  • > |install our %neo

This will start the %neo agent which runs the Shrubbery prototype. Once that's finished booting, which will take a few minutes, go to <localhost:port>/mast/mast-sky-ui/<fakeship @p>/sky to access Sky.

Once you're in Sky, click the "docs" tile to find documentation, which includes tutorials and reference material for developers.

When you want to move changes from your local repo to the fakeship, repeat the rsync -avL command above. The %neo agent can do incremental builds and will make changes to your /con and /imp files as you'd expect, but if you add or amend a /pro file you'll have to |nuke %neo and |revive %neo.