Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: garden is now landscape #2958

Merged
merged 5 commits into from
Oct 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 38 additions & 17 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,48 @@ Regardless of what you run to develop, Vite will hot-reload code changes as you

## Fakezod Development

Follow these instructions or use Tlon's own
To get started, make sure your %groups desk is mounted:

```
|mount %groups
```

Sync the latest %groups files:

```
rsync -avL --delete desk/* ~/urbit/zod/groups/
arthyn marked this conversation as resolved.
Show resolved Hide resolved
```

And commit:

```
|commit %groups
```

Since %groups and %talk have already been released and are now in the pill. It is very unlikely that you would have to create those desks from scratch, but if you do you can follow these instructions or use Tlon's
[Bouncer](https://github.com/tloncorp/bouncer) utility (requires Ruby 3+).

0. Clone or pull latest versions of this repo and `urbit/urbit`.
1. Boot a fake ship. Use local networking with `-F` like so:
1. Clone or pull latest versions of this repo, `tloncorp/landscape` and `urbit/urbit`.
2. Boot a fake ship. Use local networking with `-F` like so:
`urbit -F zod`
2. Mount or create the appropriate desks on local `~zod`:
1. `|mount %garden`
2. `|merge %groups our %base`
3. `|mount %groups`
3. From the `urbit/urbit` repo:
1. `rsync -avL --delete pkg/garden/* ~/urbit/zod/garden/`
3. Create and mount the appropriate desks on local `~zod`:
1. `|new-desk %landscape`
2. `|mount %landscape`
3. `|new-desk %groups`
4. `|mount %groups`
4. From the `urbit/urbit` repo:
1. `rsync -avL --delete pkg/base-dev/* ~/urbit/zod/landscape/`
2. `rsync -avL --delete pkg/base-dev/* ~/urbit/zod/groups/`
3. `rsync -avL pkg/garden-dev/* ~/urbit/zod/groups/`
4. From this repo:
5. From the `tloncorp/landscape` repo:
1. `rsync -avL desk/* ~/urbit/zod/landscape/`
2. `rsync -avL desk-dev/* ~/urbit/zod/groups/`
6. From this repo:
1. `rsync -avL desk/* ~/urbit/zod/groups/`
2. `rsync -avL landscape-dev/* ~/urbit/zod/groups/`
5. Commit and install garden on local `~zod`:
1. `|commit %garden`
2. `|install our %garden`
6. Similarly commit and install Groups:
7. Commit and install landscape on local `~zod`:
1. `|commit %landscape`
2. `|install our %landscape`
8. Similarly commit and install Groups:
1. `|commit %groups`
2. `|install our %groups`

Expand All @@ -52,9 +73,9 @@ Groups and Talk are distributed via the Urbit network by way of a [glob](https:/
1. Create or launch an urbit using the -F flag.
2. On that urbit, if you don't already have a desk to run from, run `|merge %work our %base` to create a new desk and mount it with `|mount %work`.
3. Now the `%work` desk is accessible through the host OS's filesystem as a directory of that urbit's pier ie `~/zod/work`.
4. From the `ui` directory you can run `rsync -avL --delete dist/ ~/zod/work/groups` where `~/zod` is your fake urbit's pier.
4. From the repo you can run `rsync -avL --delete ui/dist/ ~/zod/work/groups` and `rsync -avL desk/mar/webmanifest.hoon ~/zod/work/mar/webmanifest.hoon` where `~/zod` is your fake urbit's pier.
5. Once completed, run `|commit %work` on your urbit and you should see your files logged back out from the dojo.
6. Run `=dir /=garden` to switch to the garden desk directory.
6. Run `=dir /=landscape` to switch to the landscape desk directory.
7. Run `-make-glob %work /groups`. This will create a glob from the folder where you just added files. It will output to `~/zod/.urb/put`.
8. Navigate to `~/zod/.urb/put` you should see a file that looks something like: `glob-0v5.fdf99.nph65.qecq3.ncpjn.q13mb.glob`. The characters between `glob-` and `.glob` are a hash of the glob's contents.
9. Upload the glob to any publicly available HTTP endpoint that can serve files. This allows the application to be distributed over HTTP.
Expand Down
34 changes: 11 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,46 +33,34 @@ images, media, and even random musings.

This project uses the [formal comment spec](https://developers.urbit.org/reference/hoon/style#comments-and-unparsed-bytes)
for all Hoon code to ensure compatibility with
[doccords](https://github.com/urbit/urbit/pull/5873) once support is released.
[doccords](https://github.com/urbit/urbit/pull/5873).

Additionally, detailed documentation is available in the [Docs Landscape
app](https://urbit.org/applications/~pocwet/docs) if you have both Docs and
Groups installed on a running Urbit ship.
Groups installed on a running Urbit ship.

Visit this repository's wiki for [an overview of how to use Landscape and
its apps](https://github.com/tloncorp/landscape-apps/wiki).

## Integrating with Groups agents

The `%groups` desk provides several simple agents with discrete concerns. This
list may expand over time, but new agents are unlikely for the time being.
The `%groups` desk provides several simple agents with discrete concerns. This list may expand over time.

- `%groups` - The organizational substrate for constructing, joining, finding,
and managing groups (different than the in-group activity of chatting,
writing, or collecting)
- `%groups-ui` - Optimized scries for the Groups UI
- `%chat` - 1:1 and multi-DM capabilities for Talk and Chat channels in Groups
- `%diary` - Notebook channels in Groups
- `%heap` - Gallery channels in Groups
- `%hark` - Notifications within Groups and Talk, and a general notification bus
for Landscape, which will eventually be moved to Landscape proper
- `%notify` - Hooks for iOS push notifications
- `%grouper` - Handler for Lure invitiations

All actions are performed with
[pokes](https://developers.urbit.org/reference/glossary/poke).
All actions are performed with
[pokes](https://developers.urbit.org/reference/glossary/poke).
See the on-ship developer documentation for more details.

## Use of current-day Landscape agents

At the moment, Groups and Talk both make use of `%settings-store`, `%s3-store`,
and `%contact-store` agents in the `%landscape` desk (the historical name for
the Groups 1 app). We will eventually distribute these as part of the base
`%garden` desk (the system launcher UI we now call Landscape). Finally, we will
rename `%garden` to `%landscape`, reducing confusion everywhere.

We have plans to replace `%contact-store`with a Groups agent (and standalone
contact + identity management app) on the tails of Tlon core devs’ [subscription
reform
efforts](https://gist.github.com/belisarius222/15bcf267689f1dd95e12005bd944608e).
Nothing is changing in the short-term, but if your app uses this store, you may
want to stay subscribed to our announcements in the [urbit-dev mailing
list](https://groups.google.com/a/urbit.org/g/dev).
## Use of Landscape agents

At the moment, Groups and Talk make use of `%settings`, `%storage`, `%hark`,
and `%contacts` agents in the `%landscape` desk.
Loading