{"id":13638751,"url":"https://github.com/yungcalibri/pharos","last_synced_at":"2025-04-19T21:34:49.245Z","repository":{"id":206048182,"uuid":"693184200","full_name":"yungcalibri/pharos","owner":"yungcalibri","description":"A guiding light for Urbit users and developers","archived":false,"fork":false,"pushed_at":"2023-11-17T20:40:38.000Z","size":106,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-08-03T01:13:30.099Z","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/yungcalibri.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,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-09-18T14:12:48.000Z","updated_at":"2024-06-12T21:51:33.000Z","dependencies_parsed_at":"2023-11-07T17:59:09.606Z","dependency_job_id":"12eba9b1-6603-4b59-b49a-558ee96352de","html_url":"https://github.com/yungcalibri/pharos","commit_stats":null,"previous_names":["yungcalibri/pharos"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yungcalibri%2Fpharos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yungcalibri%2Fpharos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yungcalibri%2Fpharos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yungcalibri%2Fpharos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yungcalibri","download_url":"https://codeload.github.com/yungcalibri/pharos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223810200,"owners_count":17206713,"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:52.884Z","updated_at":"2024-11-09T09:30:17.785Z","avatar_url":"https://github.com/yungcalibri.png","language":"hoon","funding_links":[],"categories":["Developer Tools"],"sub_categories":[],"readme":"# Pharos notes\n\n## Summary\n\nPharos is the first drop-in feedback system tailored for Urbit apps. Pharos allows developers to effortlessly collect user feedback for support and product enhancements. The Pharos agent is a centralized hub through which developers can manage feedback, categorize and prioritize requests, and trigger direct communications with end users for efficient issue resolution. In the Pharos portal, developers can comment and annotate requests as well as push requests to external issue management systems (currently GitHub issues is supported).\n\n## Installing Pharos\n\nThe workflow for installing the Pharos agent is standard as any typical user space app in Urbit. Once installed, Pharos can be accessed in Landscape.\n\nFor installation via the github repo, from dojo run:\n\n```hoon\n|new-desk %pharos\n|mount %pharos\n```\n\nDownload the github repo and copy the contents of the app to your ship's %pharos desk. Commit and install:\n\n```hoon\n|commit %pharos\n|install our %pharos\n```\n\n## Navigating the Pharos UI\n\n### Tickets View\n\nThe tickets view will appear unpopulated until some tickets are submitted. \n\n#### Creating Tickets\n\nIn production, we'll receive tickets from other apps integrating `/lib/grip`, our ticket submisssion library, about which more below. In development, we can create tickets from the dojo with `|create-ticket`.\n\n```hoon\n:pharos|create-ticket 'ticket title' 'ticket body', =ticket-type %report\n\n:: +$  ticket-type\n::   $?  %request  :: feature request\n::       %support  :: support request\n::       %report   :: bug report\n::       %document :: documentation request\n::       %general  :: general feedback\n::   ==\n```\n\n#### Interacting with Tickets\n\n- The table on the left lists all submitted tickets, ordered by submission date.\n- Click on a ticket to display it in the preview pane on the right.\n- Each ticket has a note field which you can edit freely.\n- A link below the ticket's title in the detail view will open a Talk DM with the ship who submitted the ticket.\n- Another button, if Github Issues integration is configured, will export the selected ticket to Github Issues.\n\n### Settings View\n\nThe **Settings** tab is used to configure app settings. Currently, the only settings available are related to integration with GitHub Issues.\n\nTo export tickets to GitHub Issues, specify the repository owner, repository name, and a GitHub access token with issue creation permissions. For more information on how these fields are used, please visit the GitHub Issues documentation.\n\n## Reading Data \u0026 Scrying Pharos\n\nPharos provides scry endpoints for single tickets and all stored tickets. We won't tell you how to live your life, but JSON is probably the easiest way to make use of them. \n\nTo get the data for one ticket according to its ID:\n\n```hoon\n.^(json %gx /=pharos=/ticket/[ticket-id]/json)\n```\n\nor via browser:\n\n```\n[ship-url]/~/scry/pharos/ticket/[ticket-id].json\n```\n\nFor obtaining all json data for the pharos agent:\n\n```hoon\n.^(json %gx /=pharos=/all-tickets/json)\n```\n\nor:\n\n```\n[ship-url]/~/scry/pharos/all-tickets.json\n```\n\n## The `/lib/grip` integration\n\n`/lib/grip` is a library for developers to integrate into their apps, intended to facilitate collecting support tickets from users. \n\nIt wraps a Gall agent to provide additional behavior: a web UI, a remote poke to submit a ticket, and automatic crash reporting! \n\nThe library can be found at https://github.com/supercoolyun/grip, with a more detailed writeup there.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyungcalibri%2Fpharos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyungcalibri%2Fpharos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyungcalibri%2Fpharos/lists"}