{"id":13638373,"url":"https://github.com/johnhyde/astrolabe","last_synced_at":"2025-04-19T17:33:46.613Z","repository":{"id":37019019,"uuid":"445656240","full_name":"johnhyde/astrolabe","owner":"johnhyde","description":"An Address Space Explorer for Urbit","archived":false,"fork":false,"pushed_at":"2024-01-17T17:52:44.000Z","size":934,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-03T01:12:43.155Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"hoon","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnhyde.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-07T21:24:11.000Z","updated_at":"2023-07-25T14:53:10.000Z","dependencies_parsed_at":"2023-01-17T13:30:23.894Z","dependency_job_id":null,"html_url":"https://github.com/johnhyde/astrolabe","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnhyde%2Fastrolabe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnhyde%2Fastrolabe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnhyde%2Fastrolabe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnhyde%2Fastrolabe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnhyde","download_url":"https://codeload.github.com/johnhyde/astrolabe/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223805200,"owners_count":17205870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T01:00:44.832Z","updated_at":"2024-11-09T08:31:04.395Z","avatar_url":"https://github.com/johnhyde.png","language":"hoon","funding_links":[],"categories":["Applications"],"sub_categories":[],"readme":"# Astrolabe\nAstrolabe (%astrolabe) is a one-stop shop %docket app for exploring Urbit address space. Main features: ID Search, Sigil Search, Sky Chart, and Ship View (for viewing a given ship's details). Astrolabe integrates with %pals wherever possible, and contains documentation to explain the many quirks of Urbit address space to a new user.\n\n# Justification\nThere should be a place on Urbit to explore Urbit address space. It will help new Urbiters get their bearings, and be a useful tool for anyone who wants to explore. Having open-source tools for this in one place _on Urbit_ is important.\nI like the name _Astrolabe_, because it's an old-timey guide to the heavenly bodies. _Planisphere_ could also be cool.\n\n# Proposal\nYou can read about the proposal [here](https://urbit.org/grants/astrolabe), and discuss in the dedicated group on Urbit: `~poster-hoster-midlev-mindyr/astrolabe`\n\n# The Code\n## Desk\n\nThe desk currently has the minimum amount of files necessary to distribute an application and should be distributable immediately. Any further Hoon development should happen here.\n\n## UI\n\nAstrolabe is built primarily using [Svelte], [Typescript], and [Tailwind CSS]. [Vite] ensures that all code and assets are loaded appropriately, bundles the application for distribution and provides a functional dev environment.\n\n### Getting Started\n\nTo get started using Astrolabe first you need to run `npm install` inside the `ui` directory.\n\nTo develop you'll need a running ship to point to. If it's running somewhere other than `http://localhost:8081`, make a copy of `.env` in the `ui` directory and name it `.env.local`. This file will not be committed. Change `VITE_SHIP_URL` to the URL of the ship you would like to point to.\n\nOnce your URL is correctly configured, you can run `npm run dev`. This will proxy all requests to the ship except for those powering the interface, allowing you to see live data.\n\nRegardless of what you run to develop, Vite will hot-reload code changes as you work so you don't have to constantly refresh.\n\n# Deploying\n\n1. Spin up a comet or distribution ship.\n2. Mount an `%astrolabe` desk. In Dojo:\n    1. `|merge %astrolabe our %base` to create a new desk.\n    2. `|mount %astrolabe` to mount it.\n    3. Set `ASTROLABE_DESK` in `.env.local` if the path to your desk is different.\n3. Create and upload `glob-http`, if applicable (see below)\n4. Bump the `version` in `desk.docket-0`.\n3. Install the desk\n    1. From the `ui` folder: `npm run install:desk`\n    2. (first time only, on dev ship): `|install our %astrolabe`\n    2. From the distribution ship's dojo: `:treaty|unpublish %astrolabe`\n    2. From middleman or distribution ship's dojo: `|commit %astrolabe`\n    3. (if using a comet as a middleman) `|public %astrolabe`\n    4. (if using a comet as a middleman) from the actual distribution ship: `|install ~comet-name %astrolabe` or `|resume %astrolabe`\n    5. (if using a comet as a middleman) from the actual distribution ship: `|pause %astrolabe`\n4. Build UI and upload `glob-ames` \n5. Publish the desk from dojo: `:treaty|publish %astrolabe`\n\n## Deploying with `glob-ames` glob\nInitial Setup:\n1. Put the line `glob-ames+[~dister-midlev-mindyr 0v0]` in `desk.docket-0` if it's not there, where `~dister-midlevi-mindyr` is the `@p` of the distribution ship.\n\nEvery Time:\n4. Build the UI with `npm run build` in the `ui` directory which will bundle all the code and assets into the `dist/` folder.\n5. Upload the `dist/` folder as a glob to your distribution ship. Example url: https://distribution.urbit-ship.com/docket/upload\n\n## Deploying with `glob-http` glob\nInitial Setup:\n1. Spin up a globber ship (comet or fakezod) (or just reuse your dev ship for this).\n2. Mount an `%globber` desk. In Dojo:\n    1. `|merge %globber our %base` to create a new desk.\n    2. `|mount %globber` to mount it.\n    3. Set `GLOBBER_DESK` in `.env.local` if the path to your globber desk is different.\n\nEvery Time:\n3. From the `ui` directory, run `npm run release` to build the ui, make the glob, and copy it to the `globs` folder. The command will also print out the glob hash/id.\n4. Copy the string printed by the last step, and paste it into `desk.docket-0`.\n5. Upload the glob in `/globs/` to any publicly available HTTP endpoint that can serve files. This allows the glob to be distributed over HTTP.\n6. Once you've uploaded the glob, paste the url into `desk/desk.docket-0`. Both the full URL and the hash should be updated to match the glob we just created, on the line that looks like this:\n    ```hoon\n        glob-http+['https://bootstrap.urbit.org/glob-0v5.fdf99.nph65.qecq3.ncpjn.q13mb.glob' 0v5.fdf99.nph65.qecq3.ncpjn.q13mb]\n    ```\n\n[svelte]: https://svelte.dev/\n[typescript]: https://www.typescriptlang.org/\n[tailwind css]: https://tailwindcss.com/\n[vite]: https://vitejs.dev/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnhyde%2Fastrolabe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnhyde%2Fastrolabe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnhyde%2Fastrolabe/lists"}