{"id":13490708,"url":"https://github.com/aframevr/aframe-registry","last_synced_at":"2025-04-23T19:33:55.705Z","repository":{"id":66127855,"uuid":"49099731","full_name":"aframevr/aframe-registry","owner":"aframevr","description":"[DISCONTINUED] Curated collection of community A-Frame components.","archived":false,"fork":false,"pushed_at":"2018-12-07T18:52:25.000Z","size":32314,"stargazers_count":78,"open_issues_count":20,"forks_count":39,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-02T19:46:47.804Z","etag":null,"topics":["aframe","threejs","virtual-reality","virtualreality","vr","webvr"],"latest_commit_sha":null,"homepage":"https://aframe.io/registry/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aframevr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-01-05T23:46:17.000Z","updated_at":"2024-12-13T12:27:31.000Z","dependencies_parsed_at":"2023-03-10T23:38:39.924Z","dependency_job_id":null,"html_url":"https://github.com/aframevr/aframe-registry","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aframevr%2Faframe-registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aframevr%2Faframe-registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aframevr%2Faframe-registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aframevr%2Faframe-registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aframevr","download_url":"https://codeload.github.com/aframevr/aframe-registry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250499942,"owners_count":21440719,"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":["aframe","threejs","virtual-reality","virtualreality","vr","webvr"],"created_at":"2024-07-31T19:00:50.290Z","updated_at":"2025-04-23T19:33:50.694Z","avatar_url":"https://github.com/aframevr.png","language":"HTML","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# aframe-registry\n\n[angle]: https://npmjs.com/package/angle\n\nCurated collection of community A-Frame components.\n\n[VIEW SITE](https://aframe.io/registry/)\n\n\u003cimg src=\"https://rawgit.com/aframevr/aframe-registry/master/scripts/placeholder.svg\" height=\"320\"\u003e\n\n## Introduction\n\nThe Registry collects components from the community. We curate them to make\nsure they work for the versions of A-Frame they say they work. We also try to\nimprove the components as they come in with code review and API suggestions.\nVersioning is handled so you don't have to look for which version of the\ncomponent works with your version of A-Frame. As a component repository,\nthe Registry is similar to the Unity Asset Store or npm.\n\n### Usage\n\nYou can install or try out components from the Registry in one of several ways.\n\n#### angle\n\n[angle](https://npmjs.com/package/angle) is a command-line interface (CLI)\nfor A-Frame. You can install components through this CLI straight into your\nHTML file. angle will inject the appropriate `\u003cscript\u003e` tag pointing to a CDN\ndepending on your version of A-Frame:\n\n```\nnpm install -g angle \u0026\u0026 angle install aframe-physics-system\n```\n\n#### Download\n\nIf you [browse the Registry's website](https://aframe.io/registry/), you'll see\ndownload links for components. The Registry will currently show builds for the\nlatest versions of A-Frame for now. You can either download the file locally,\nor copy and paste the URLs and reference from a `\u003cscript\u003e` tag in your HTML.\n\n#### Inspector\n\nIf you open any A-Frame scene using [the visual\nInspector](https://github.com/aframevr/aframe-inspector) with `\u003cctrl\u003e + \u003calt\u003e +\ni`, you'll find components from the Registry in the Inspector's dropdowns when\nadding a component to an entity. Straight from the Inspector, you can do things\nsuch as select animations, physics, or mountains from the dropdown straight\nfrom the Registry.\n\n## Maintaining the Registry\n\nA single registry file is maintained at `registry.yml`. The format of a\ncomponent looks like:\n\n```yml\n\u003cnpm package name\u003e:\n  names: [\u003ccomponent names (as used from HTML) included\u003e]\n  versions:\n    \u003caframe major version series\u003e:\n      version: \u003cnpm package version\u003e\n      path: \u003crelative path to component JS file from package root\u003e\n```\n\nAll other metadata will be fetched from npm, and the component build will be\nserved via `unpkg.com`, a CDN for npm.\n\nThis registry will then be processed and output to JSON files, one for each\nmajor version of A-Frame. These JSON files will be consumed by tools,\nlibraries, and websites such as the [A-Frame\nInspector](https://github.com/aframevr/aframe-inspector).\n\n### Versioning\n\nOnce A-Frame updates, all existing components will still work but are marked\nwith a compatibility warning until either the component's entry in the registry\nis updated and compatibility confirmed. Here's how component compatibility is\ndetermined in relation to A-Frame:\n\n- If there is a component version explicitly listed for an A-Frame version, use that.\n- If there is no component version listed for an A-Frame version, use the\n  version registered for the previous A-Frame version if possible. Then set a\n  flag in order to raise compatibility warnings.\n- If a component version for an A-Frame version is explicitly set to `null`,\n  exclude it.\n\n### Excluding from the Inspector\n\nComponents may be more optimal to use straight from code instead of from visual\ntools such as the Inspector. In such cases, specify `inspector: false`:\n\n```\naframe-codey-component:\n  names: codey\n  inspector: false\n  versions:\n    0.4.0:\n      version: 1.2.3\n      path: dist/aframe-codey-component.min.js\n```\n\n## Submitting a Component\n\nTo submit a component, make a pull request adding your component to the\nregistry file in the format explained above.\n\nWe recommend using [angle's][angle] component template to get started on a component:\n\n```\nnpm install -g angle\nangle initcomponent\n```\n\n### Component Requirements\n\n1. Must be published to [npm](https://npmjs.com).\n2. Must be published to [GitHub](https://github.com).\n3. Must self-register themselves with `AFRAME.registerComponent`.\n4. Must contain documentation on component properties and sample usage in the README.\n5. Must contain at least one example published to GitHub Pages.\n6. A link to the examples must be added as the GitHub repository's Website next\n   to the GitHub repository's Description.\n7. Must make sense in the context of a WebVR application. This can change\n   later, but the initial components of the Registry will be under strict\n   curation.\n\n### Component Suggestions\n\n- Should include an attractive preview image or GIF in your README for display.\n- Should follow [semver](http://semver.org/) in your component versioning scheme, mirroring A-Frame's latest stable version.\n- Use [angle](https://www.npmjs.com/package/angle), an A-Frame command-line tool, to bootstrap a component template for publishing.\n- Add A-Frame Registry maintainer [Kevin Ngo](https://github.com/ngokevin/) as\n  a collaborator to your GitHub repository and as an owner to your npm package\n  (`npm owner add ngokevin`) if you want help maintaining your component.\n\n## Updating the Registry\n\nAdd or update your module in the `registry.yml` file (not the files in\n`build/`). Then make a pull request!\n\nTo build the output registry JSON files that correspond to each A-Frame version:\n\n```bash\nnpm install\nnpm run config  # Local config. You will need to add your GitHub API token.\nnpm run build\n```\n\nIf you want to see the registry in a more readable format:\n\n```bash\nnpm run print\n```\n\nTry to keep the registry in alphabetical order.\n\n## Local Development\n\nIf updating the build scripts, make sure you have `npm install`ed. Then you can\nmodify scripts and run `npm run test` to unit test or `npm run build` to do a\nfull run.\n\nIf updating the website, run `npm run site` to re-generate the templates. This\ndoesn't need to be done if just working on CSS.\n\nOnce deployed to master, the Registry's GitHub Pages will update.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faframevr%2Faframe-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faframevr%2Faframe-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faframevr%2Faframe-registry/lists"}