Add introduction.txt, add docs on build

This commit is contained in:
bonbud-macryg 2024-06-13 16:07:14 +01:00
parent 85cb031ba0
commit 5b68d8a9fa
2 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,40 @@
# Chapter 0: Introduction
Shrubbery is a new in-development application model for Urbit. This guide will introduce the foundational Shrubbery concepts and get you started writing shrubs of your own. _It is aimed at Urbit developers who have at least been through App Academy, or are otherwise familiar with Gall agents._
At time of writing, Shrubbery's build system lives in a Gall agent called `%neo`. You can install this agent on a comet or moon with `|install ~met %neo`. You can install this desk on a fakeship from the GitHub repo, as detailed below.
## Cloning from GitHub
+ Clone the `urbit/shrub` repo to your machine.
+ Get the latest `urbit` [runtime](https://docs.urbit.org/manual/getting-started/self-hosted/cli).
+ Boot a fakeship with the `--loom 33` flag.
+ `|mount %base`
+ `rsync -avL —delete urbit/shrub/pkg/arvo/* pier/base`
+ `|commit %base`
+ `|start %neo`
This could take a while, youll see `booted %neo` in the Dojo when its complete.
## Directory structure
The only folders you need to understand for these tutorials are `/pro`, `/imp`, and `/con`.
- `/pro` for protocols. Like `/sur`, this is where your type definitions live.
- `/imp` for implementations. Like `/app`, this is where your app logic lives.
- `/con` for conversions. Like `/mar`, this is where you define rules for transforming nouns in your desk.
## Working in Sky
Sky is a UI for your local namespace. Three of the four examples in this guide are pre-loaded in there. The exception is Counter, which you'll build in your code editor and deploy in Sky yourself.
You can access Sky at `<localhost:8080>/neo/sky`. Every tile there represents a shrub located immediately beneath `/[%p our]/home` in the namespace. In the Counter tutorial you'll learn how to make your own shrubs at this location.
## Upcoming Changes
Everything in these guides is accurate at time of writing, but Shrubbery is a work in progress. Many implementation details are subject to change.
Of note:
- The way Shrubbery handles user interfaces is the most undercooked part of the system that we spend significant time on in these guides. Accessing `bowl:neo` within the `/con` files is a hack and will be deprecated. `/con` files may or may not exist in the final product.
- `/imp/txt.hoon` and "stub" implementations like it are a hack.
This guide launched at the June 2024 Lake Summit, and has an expiration date of sometime in Q3.

View File

@ -1,6 +1,10 @@
/@ home
/* feather-intro
/* diary
/* counter
/* tasks
/* messenger
/* introduction
^- kook:neo
|%
++ state pro/%home