{"id":19806365,"url":"https://github.com/ory/docs","last_synced_at":"2025-05-15T08:04:46.872Z","repository":{"id":37390729,"uuid":"123697592","full_name":"ory/docs","owner":"ory","description":"The Ory documentation","archived":false,"fork":false,"pushed_at":"2025-05-14T14:10:46.000Z","size":130521,"stargazers_count":144,"open_issues_count":49,"forks_count":405,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-05-14T14:57:44.359Z","etag":null,"topics":["docs","documentation","hacktoberfest","ory"],"latest_commit_sha":null,"homepage":"https://www.ory.sh/docs","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"patreon":"_ory","open_collective":"ory"}},"created_at":"2018-03-03T14:08:54.000Z","updated_at":"2025-05-14T13:47:49.000Z","dependencies_parsed_at":"2024-03-15T08:46:27.993Z","dependency_job_id":"31154b8f-e657-41aa-86e9-4219a2e5097c","html_url":"https://github.com/ory/docs","commit_stats":{"total_commits":4141,"total_committers":264,"mean_commits":15.68560606060606,"dds":0.7017628592127505,"last_synced_commit":"c13701b3187bd8395070738c88b053b7ae0e57b3"},"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ory%2Fdocs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ory%2Fdocs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ory%2Fdocs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ory%2Fdocs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ory","download_url":"https://codeload.github.com/ory/docs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254301422,"owners_count":22047901,"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":["docs","documentation","hacktoberfest","ory"],"created_at":"2024-11-12T09:07:23.809Z","updated_at":"2025-05-15T08:04:46.818Z","avatar_url":"https://github.com/ory.png","language":"TypeScript","funding_links":["https://patreon.com/_ory","https://opencollective.com/ory"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eOry Documentation\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n    \u003ca href=\"https://www.ory.sh/chat\"\u003eChat\u003c/a\u003e |\n    \u003ca href=\"https://www.ory.sh/l/sign-up-newsletter\"\u003eNewsletter\u003c/a\u003e\u003cbr/\u003e\u003cbr/\u003e\n    \u003ca href=\"https://www.ory.sh/docs/\"\u003eDocumentation\u003c/a\u003e |\n    \u003ca href=\"https://opencollective.com/ory\"\u003eSupport this project!\u003c/a\u003e\u003cbr/\u003e\u003cbr/\u003e\n    \u003ca href=\"https://www.ory.sh/jobs/\"\u003eWork in Open Source, Ory is hiring!\u003c/a\u003e\n\u003c/h4\u003e\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [Overview](#overview)\n- [Style guide](#style-guide)\n  - [Grammar and style](#grammar-and-style)\n    - [Lists](#lists)\n    - [Headings](#headings)\n  - [Formatting](#formatting)\n    - [Document front matter](#document-front-matter)\n    - [Bolding, 'code formatting'](#bolding-code-formatting)\n    - [Linking](#linking)\n    - [Code blocks](#code-blocks)\n    - [Placeholders and dummy data](#placeholders-and-dummy-data)\n    - [UI references](#ui-references)\n    - [Diagrams](#diagrams)\n  - [Import \\\u0026 reference content](#import--reference-content)\n    - [Markdown partials](#markdown-partials)\n    - [Code snippets](#code-snippets)\n      - [From GitHub](#from-github)\n      - [From this repository](#from-this-repository)\n  - [Screenshots and videos](#screenshots-and-videos)\n    - [Compressing images](#compressing-images)\n    - [Recording and compressing videos](#recording-and-compressing-videos)\n  - [Testing](#testing)\n  - [Formatting documentation](#formatting-documentation)\n  - [Adding content to \"Examples\" page](#adding-content-to-examples-page)\n  - [CLI and API reference - auto-generated content](#cli-and-api-reference---auto-generated-content)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n# Overview\n\nOry documentation is the single source of truth for usage, implementation,\nconfiguration, and troubleshooting of the Ory Network and all projects of the\n[Ory Ecosystem](https://www.ory.sh/docs/ecosystem/projects/). The documentation\nis best consumed through the\n[Ory documentation portal](https://www.ory.sh/docs/).\n\nTo see the source code of each of the projects, visit the project repository:\n\n- [Ory Kratos](https://github.com/ory/kratos/)\n- [Ory Hydra](https://github.com/ory/hydra/)\n- [Ory Oathkeeper](https://github.com/ory/oathkeeper/)\n- [Ory Keto](https://github.com/ory/keto/)\n\nDocumentation of other Ory projects:\n\n- [Ory Kubernetes Helm Charts](https://github.com/ory/k8s/tree/master/docs/helm)\n- [Ory Dockertest](https://github.com/ory/dockertest/blob/v3/README.md)\n- [Ory SDKs](https://github.com/ory/sdk/blob/master/README.md)\n\n# Style guide\n\nThis style guide outlines the most important rules and conventions that apply to\nthe Ory documentation. If there are no Ory-specific requirements or guidelines\nfor a given topic, refer to the\n[Microsoft Writing Style Guide](https://learn.microsoft.com/en-us/style-guide/welcome/)\nand follow the rules described there.\n\n## Grammar and style\n\nOry documentation must be clear, concise, and unambiguous. To achieve that,\nfollow these simple rules:\n\n1. Use active voice and present tense.\n2. Always write in American English.\n3. Use\n   [zero conditional](https://www.ef.com/wwen/english-resources/english-grammar/zero-conditional/)\n   when talking about the cause-and-effect in software behavior.\n4. Use the right words to make sure that your message is clear and unambiguous.\n   Don't use words like \"should\", \"could\", or \"may\".\n5. Don't use phrasal verbs, colloquialisms, and jargon.\n6. Don't refer to users in ways that imply their sex.\n7. Don't use contractions of Latin origins such as `e.g` or `i.e`.\n8. Remember to use articles (`a`, `an`, `the`) in your writing.\n9. Use common contractions such as `aren't`, `don't`, `doesn't` to sound\n   friendly and informal.\n\n### Lists\n\nOry follows the\n[Microsoft Writing Style Guide list formatting guidelines](https://learn.microsoft.com/en-us/style-guide/scannable-content/lists).\n\n- List items must begin with a capital letter unless there's a specific reason\n  not to do that. For example, the item is a proper name that's not capitalized,\n  a parameter, or a command wrapped in backticks (`` ` ``).\n- Don't use punctuation such as commas (`,`), semicolons (`;`), or conjunctions\n  (`and`, `or`) at the end of list items.\n- Use periods (`.`) only at the end of list items that are proper sentences,\n  even very short ones.\n- Make list items consistent in structure. For example, if one list item is a\n  full sentence, make all list items full sentences. Don't use different\n  structures for list items in a single list.\n- Indent lines with 3 spaces to denote nested sub-items in lists. Indent text,\n  code blocks, and images.\n\n### Headings\n\n- Use\n  [sentence case](https://docs.microsoft.com/en-us/style-guide/text-formatting/using-type/use-sentence-style-capitalization)\n  for headings.\n- The highest heading level in documents is `h2`. Use `h1` only when you\n  override the document `title`.\n- The lowest heading level in documents is `h4`. If you absolutely need to add\n  more heading levels, don't go lower than `h5`.\n- Avoid using symbols and special characters in headings.\n- Leave one blank line before and after a heading.\n- Don't use links in headings.\n- Headings play an important role in SEO and searchability and make the document\n  more scannable. Make your headings short and true to the content they\n  introduce.\n\n## Formatting\n\nWrite in [Markdown](https://www.markdownguide.org/). Don't mix HTML tags with\nMarkdown. Files with the `.mdx` extension use\n[JSX-extended Markdown (MDX)](https://mdxjs.com/).\n\n### Document front matter\n\nAdd this front matter to every document you create:\n\n```md\n---\nid: excellent_feature\ntitle: Learn how to use the excellent feature in your implementation\nsidebar_label: Excellent feature\nslug: excellent-feature-for-some-reason\n---\n```\n\n- `id` is the document identifier that makes up the last part of the document\n  URL. Try to come up with a short ID that accurately describes the content. IDs\n  that use multiple words must use hyphens (`-`) to separate the words.\n- `title` is the document title that’s displayed as the page header. Used by\n  search engines when displaying search results. Try to make it descriptive so\n  that it helps readers understand what the document is about at the first\n  glance. If it comes out long(ish), you can overwrite it by adding a `h1` in\n  the very first line following the front matter. Use sentence case.\n- `sidebar_label` represents the document title used in the sidebar (left\n  navigation). Create a short document title that fits the sidebar width. Use\n  sentence case.\n- `slug` is an optional property that allows you to customize the document URL.\n  Use it to create more meaningful, SEO-friendly URLs.\n\n### Bolding, 'code formatting'\n\n- Use only `code` and **bold** formatting. Don't use any other formatting.\n- For inline code, wrap text in single backticks (`` ` ``). For code blocks use\n  three backticks (` ``` `)\n- Use `code` formatting for:\n  - Commands, for example `ory --help`\n  - File names and paths, for example `file.txt`, `~/Desktop/git/docs`\n  - Environment variables, for example `CUSTOM_ENV_VAR`\n- Use **bold** only when writing about user interface (UI) elements.\n\n### Linking\n\n- Link to external web pages using absolute links. Don't expose the link on its\n  own. Instead, embed it in descriptive text. For example:\n\n  ```\n  Ory documentation uses [Prism syntax highlighting](https://prismjs.com/).\n  ```\n\n- Link to documents within this repository using relative links. When\n  referencing the file, use the file name.\n\n  ```\n  [Some link](../path/to/file.mdx)\n  ```\n\n### Code blocks\n\n- Always add a programming language identifier to code blocks. Ory documentation\n  uses [Prism syntax highlighting](https://prismjs.com/).\n\n  ````\n  ```json\n  {some-JSON-code-here}\n  ```\n  ````\n\n- For command line examples, use `shell` as the programming language identifier.\n  Don't put `$` before the command.\n\n  ````\n  ```shell\n  ory get identities\n  ```\n  ````\n\n- For Ory Permissions (Keto) relation tuples, use `keto-relation-tuples`\n  language identifier, and for relationships use `keto-relationships`.\n\n  ````\n  ```keto-relation-tuples\n  namespace:object#relation:subject\n  // comment\n  ```\n\n  ```keto-relationships\n  namespace:subject is relation of object\n  is namespace:subject allowed to permission on object?\n  // comment\n  ```\n  ````\n\n- For multi-line commands, indent subsequent lines of the command with two\n  spaces.\n\n  ````\n  ```shell\n  curl --request GET -sL \\\n    --header \"Content-Type: application/json\" \\\n    --header \"Authorization: Bearer {ORY_API_KEY}\" \\\n    'https://{project-slug}.projects.oryapis.com/admin/identities/{identity_id}?include_credential=oidc'\n  ```\n  ````\n\n### Placeholders and dummy data\n\nUsing placeholders and dummy data in code snippets and command examples is a\ngood way to ensure that users run commands in the context of their setups and,\nas a result, achieve success faster. Additionally, this fabricated information\nprevents leaking of sensitive data such as tokens or API keys.\n\nFollow these rules when using placeholders and dummy data:\n\n- Introduce placeholders and dummy data in curly brackets with a preceding $ so\n  they can be used in bash commands.\n- Use colons (`-`) or underscores (`_`) to separate multiple words, for example\n  `{ORY_SESSION_COOKIE}` or `{project-slug}`.\n- When referring to a project API URL or SDK URL, always use\n  `https://$PROJECT_SLUG.projects.oryapis.com`.\n- When referring to scenarios in which the user runs a custom domain, use\n  `https://ory.your-custom-domain.com`.\n- Always use short, but descriptive, verbal placeholders. Don't mix digits and\n  letters to mimic the format of the data you mock.\n\n### UI references\n\nWhen talking about any user interface (UI) in the Ory documentation, follow\nthese rules:\n\n- When referring to UI elements, always use the exact text associated with the\n  given element.\n- Format the name of the UI element you refer to in **bold**.\n- Format any user input with `code`.\n\n\u003e Example: In the **Identity Model Schema** box, type `MyCustomIdentitySchema`.\n\n### Diagrams\n\nUse [Mermaid](https://mermaid-js.github.io/mermaid/#/) to create diagrams. You\ncan run the tool locally or use [Mermaid Live Editor](https://mermaid.live) in\nthe browser. See the\n[Mermaid Cheatsheet](https://jojozhuang.github.io/tutorial/mermaid-cheat-sheet/)\nfor a detailed description on how to use Mermaid.\n\nTo add a Mermaid diagram, use this `mdx-code-block`:\n\n````md\n```mdx-code-block\nimport Mermaid from \"@site/src/theme/Mermaid\"\n\u003cMermaid\n  chart={`\n\n{your-Mermaid-code}\n\n`}\n/\u003e\n```\n````\n\n## Import \u0026 reference content\n\n### Markdown partials\n\nIf a certain piece of content must be re-used across multiple documents in the\nexact form, it's a good idea to turn it into a partial. Thanks to that, you\nmaintain content in a single file, instead of multiple instances of the same\ncontent in many docs.\n\nAdd partials to the `_common` directory.\n\nTo import a partial, use this `mdx-code-block`:\n\n````md\n```mdx-code-block\nimport ExamplePartial from './_common/example.md'\n\n\u003cExamplePartial /\u003e\n```\n````\n\n\u003e **TIP:** Headings contained in partials aren't added to the Docusaurus table\n\u003e of contents (ToC). To make sure users can access all headings through the ToC,\n\u003e don't add headings to partials. Instead, add appropriate headings to the\n\u003e document manually and introduce partials after them. To see an implementation\n\u003e of this approach, look at\n\u003e [this file](https://github.com/ory/docs/blob/0137302d511b2a6b0e17a570e917d92fcdff1d1f/docs/kratos/social-signin/10_google.mdx?plain=1#L237).\n\n### Code snippets\n\n#### From GitHub\n\nUse\n[CodeFromRemote](https://github.com/ory/docusaurus-template/blob/master/src/theme/CodeFromRemote.js)\nto import code directly from GitHub.\n\nUse this `mdx-code-block`:\n\n````md\n```mdx-code-block\nimport CodeFromRemote from '@theme/CodeFromRemote'\n\n\u003cCodeFromRemote\n  lang=\"js\"\n  link=\"https://github.com/ory/kratos-selfservice-ui-node/blob/master/src/middleware/simple.ts\"\n  src=\"https://raw.githubusercontent.com/ory/kratos-selfservice-ui-node/master/src/middleware/simple.ts\"\n  startAt=\"{CONTENT_FROM_CODE}\"\n  endAt=\"{CONTENT_FROM_CODE}\"\n/\u003e\n```\n````\n\n- `lang` specifies the programming language the code is in\n- `link` is the file location displayed in the top part of the code block window\n- `src` is the direct link used to import the code (optional)\n- `startAt` , `endAt` are used to define where the imported snippet starts and\n  ends (optional)\n\n#### From this repository\n\n````md\n```mdx-code-block\nimport CodeBlock from '@theme/CodeBlock'\nimport exampleJs from '!!raw-loader!./code-example.jsx'\nimport exampleGo from '!!raw-loader!./code-example.go'\n\n\u003cCodeBlock className=\"language-jsx\"\u003e{exampleJs}\u003c/CodeBlock\u003e\n\u003cCodeBlock className=\"language-go\"\u003e{exampleGo}\u003c/CodeBlock\u003e\n```\n````\n\n## Screenshots and videos\n\n- Use screenshots and videos sparingly. These resources tend to get out-of-date\n  quickly and are cumbersome to maintain.\n- Screenshots and videos must capture only the relevant parts of the screen.\n- Screenshots and videos must capture UI elements in English. If you’re\n  capturing parts of the browser UI in your work, make sure the UI is in\n  English.\n- Make an effort to get the screenshots and videos looking as clean as possible.\n  Avoid situations where text fields suggest irrelevant inputs, avoid erratic\n  mouse cursor movements and general chaos.\n- You must add media to `_static` folders.\n  - In the `_static` directory, each document that uses media has its own\n    directory.\n  - In the directory of the document, the files have numbers for names, for\n    example, `1.png`, `2.png`, `3.png`. The filenames should reflect the stage\n    at which the media is used in the document. This means that the screenshot\n    named `1.png` will be used in line 70, while the diagram `2.svg` will be\n    used in line 100.\n\n### Compressing images\n\nCompress images you add to the documentation to keep the repository lean. You\ncan use [`pngquant`](https://pngquant.org/).\n[Read this article to learn a trick to make your screenshots 80% smaller](https://about.gitlab.com/blog/2020/01/30/simple-trick-for-smaller-screenshots/).\n\n### Recording and compressing videos\n\nWe recommend using\n[Quicktime to record videos](https://support.apple.com/en-gb/guide/quicktime-player/qtp97b08e666/mac).\nFollow these rules:\n\n- Use 16:9 format with at least 1024 pixels of width. `ffmpeg` will scale it to\n  the right size.\n- Make sure that no history or auto-suggestions are visible.\n\nAfter recording the video, convert the `.mov` file to `mp4` and `webm`:\n\n```shellsession\nfile=\"screencast.mov\"\n\nffmpeg -i $file -an -c:v libvpx-vp9 -vf scale=1024:-1 -crf 30 -b:v 0 \"${file%.*}\".webm\nffmpeg -i $file -vcodec h264 -vf scale=1024:-1 -an \"${file%.*}\".mp4\n```\n\nUse this `mdx-code-block` to add the video to your document:\n\n````\n```mdx-code-block\nimport mp4 from './_static/screencast.mp4'\nimport webm from './_static/screencast.webm'\nimport VideoEmbed from '@site/src/components/VideoEmbed'\n\n\u003cVideoEmbed mp4={mp4} webm={webm} /\u003e\n```\n````\n\n## Ory Console\n\n### Navigate to Ory Console Pages\n\nYou can use the `/current/` route to navigate users to their active Ory Network\nproject. For example, to access the Custom UI settings for the active Ory\nNetwork project in the Console, you can link to:\nhttps://console.ory.sh/projects/current/ui\n\nWhen referencing a page of the Ory Console, use the\n`\u003cConsoleLink route=\"project...\" /\u003e` component in MDX files.\n\nThe component resolves the navigation section and page title for the given\nroute, and renders a standard markup for both, as well as the link with the\n`/current/` shortcut mentioned above:\n\n```tsx\n\u003cConsoleLink route=\"project.activity.events\" /\u003e\n\n// becomes:\n// Activity → Logs \u0026 Events in the [Ory Console](https://console.ory.sh/current/projects/activity/events)\n```\n\nA list of all supported routes can be found here:\n[src/components/ConsoleLink/console-routes.ts](src/components/ConsoleLink/console-routes.ts).\n\nPlease note that the syntax is like accessing a path in a JS object, but as a\nstring. If the route you want to reference is found in the `console-routes.ts`\nfile in the following way:\n\n```ts\n{\n  project: {\n    activity: {\n      events: {\n        route: \"/projects/[project]/activity/events\",\n      }\n    }\n  }\n}\n```\n\nUse `\u003cConsoleLink route=\"project.activity.events\" /\u003e` to reference it.\n\nTo add a new route, you need to add an entry in\n[`console-routes.ts`](https://github.com/ory/docs/blob/master/src/components/ConsoleLink/console-routes.ts)\nas well as\n[`console-nav-data.ts`](https://github.com/ory/docs/blob/master/src/components/ConsoleLink/console-nav-data.ts).\n\n## Testing\n\nTo test the documentation locally:\n\n1. Clone this repository.\n2. Navigate to the cloned repository and run `npm install` to install all\n   dependencies.\n3. Run the development server and test the changes you made using a fully\n   operational version of the documentation portal that runs on your machine.\n   Run `npm run start`.\n4. Create a production build to check for any technical issues, such as invalid\n   internal links. Run `npm run build`.\n\n## Formatting documentation\n\nAll documents and other files in this repository must be formatted with Prettier\nusing the [Ory Prettier styles](https://github.com/ory/prettier-styles).\n\nTo format all relevant files, run these commands from the main directory of the\nrepository:\n\n```sh\nmake format\ngit commit -a -m \"chore: format\"\ngit push\n```\n\nFor a better workflow, install the Prettier plugin for your editor:\n\n- [VSCode Prettier plugin](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)\n- [IntelliJ Prettier plugin](https://www.jetbrains.com/help/idea/prettier.html)\n\n## Adding content to \"Examples\" page\n\n[The Quickstart overview](https://www.ory.sh/docs/getting-started/overview)\nprovides an overview of Ory quickstarts. To add a new example or modify existing\nentries:\n\n1.  Open `examples-content.tsx` in `src/pages/_assets/`.\n2.  Copy the following snippet and append it to the correct array (either\n    official, community, or self-hosting examples):\n\n    ```tsx\n    {\n          title: \"Protect a Page with Login: NextJs/React\", //Your example title goes here\n          language: \"typescript\",                           //The main programming language of your example\n          author: \"ory\",                                    //The author's GitHub handle\n          tested: true,                                     //Is the example in ory/examples or ory/docs and has automated tests?\n          repo: \"https://github.com/ory/docs/tree/master/code-examples/protect-page-login/nextjs\", //The repo containing the example code\n          docs: \"https://www.ory.sh/docs/guides/protect-page-login/next.js\",                       //Documentation for the example, can be README, blog article or similar\n        },\n    ```\n\n    - `language` can be one of: dart, django, docker, erlang, flutter, go, java,\n      javascript, kotlin, kubernetes, nextjs, nodejs, ory, php, python, react,\n      rescript, svelte, typescript, vue\n\n3.  Open a pull request with your changes.\n\n## CLI and API reference - auto-generated content\n\nOry documentation contains auto-generated content such as CLI and API\nreferences. Documents of this type are generated from source code and are pushed\nto this repository by an automated job.\n\nAs such, editing any of these documents in the Ory documentation repository\nisn't the way to change or fix this content. Any changes you make will be\noverwritten by the next push that follows the generation process.\n\nInstead, find the lines in question in the source code of the Ory projects and\nedit them there. For example, if you want to edit the documentation of the Ory\nKratos CLI, you must edit this file:\n\nhttps://github.com/ory/kratos/blob/master/cmd/clidoc/main.go\n\nThe `cmd/clidoc/main.go` is the general path for all Ory projects.\n\nThe command to generate the CLI docs can be found here:\nhttps://github.com/ory/x/blob/master/clidoc/generate.go#L96\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fory%2Fdocs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fory%2Fdocs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fory%2Fdocs/lists"}