Interested in contributing? As an open source project, we'd appreciate any help and contributions! On top of the A-Frame framework itself, you can also contribute to these related projects:
- Invite yourself to the A-Frame Slack channel.
- Join the discussion!
If you're not sure how to do something with A-Frame, please post a question (and any code you've tried so far) to Stack Overflow under the 'aframe' tag. Questions there will automatically create notifications in Slack, and are easier for others to find so new developers can learn from your questions too.
- Search the issue tracker for similar issues.
- Specify the version of A-Frame in which the bug occurred.
- Specify information about your browser and system (e.g., "Firefox Nightly on OS X")
- Describe the problem in detail (i.e., what happened and what you expected would happen).
- If possible, provide a small test case with CodePen, a link to your application, and/or a screenshot. You can fork this sample pen.
Check out the issues labeled help wanted (easy) or help wanted (hard) for good issues to tackle. Here's how to submit a pull request (PR):
- Have a GitHub account with SSH keys set up.
- Fork the repository on GitHub.
- Clone your fork of the repository locally (i.e.,
git clone [email protected]:yourusername/aframe
). - Run
npm install
to get dependencies andnpm run dev
to serve the test examples. - Create a branch to work in (i.e.,
git checkout -b mybranch
). - Make changes to your fork of the repository, commit them, and push them (i.e.,
git add -A . && git commit -m 'My Changes (fixes #1234)' && git push origin mybranch
). - If necessary, write unit tests (guide) and run with
npm test
. - Submit a pull request to the master branch. If you head to the A-Frame repository after running
git push
from earlier, you should see a pop up to submit a pull request. - Address review comments if any.
As per usual with open source, you would agree to license your contributions under the MIT License.
- Create something awesome like a scene, a component, or a shader.
- Publish your work to Github (and GitHub pages) so everyone can learn from your work.
- Share it on Slack, Twitter, or the awesome-aframe repository.
- Let us know about it so we can feature it on our blog: A Week of A-Frame.
- For bonus points, write and publish a case study to explain how you built it.
If you catch a typo or error in the documentation, we'd greatly appreciate a pull request.
- Go to the bottom of the documentation page on
aframe.io
you wish to update. - Click Edit Page GitHub button.
- Edit the documentation through GitHub's text editor.
- Prepend the commit message with
[docs]
. - We will merge the pull request and cherry-pick it onto documentation branches for older versions if necessary.
You can also do npm run docs
within the A-Frame project to start a local live
server for watching and serving documentation.
We like to have simple and interesting Glitch examples listed on relevant documentation pages. Glitch lets people remix/fork examples and code right in the browser with live updates. If you have a Glitch that might be useful in the documentation, request to add it!
- Have a Glitch example ready. Remix the base A-Frame Glitch to maintain consistency and formatting. Follow best practices.
- Go to the bottom of the documentation page on
aframe.io
you wish to update. - Click Edit Page GitHub button.
- Add Glitch examples to the
examples
piece in the header, withtitle
andsrc
. See example.
If a Glitch example needs to be updated for whatever reason, we can remix the
Glitch and update the src
URL.
- Invite yourself to the A-Frame Slack channel.
- Help answer questions that people might have and welcome new people.
- Redirect or cross-post questions to the Stack Overflow A-Frame tag.
- Help respond to newly-filed GitHub issues
- Redirect developers to Stack Overflow if a question is filed rather than an issue.
- For extra points, cross-post and answer the question on Stack Overflow after redirecting!
Every week, we round up all the cool stuff happening with A-Frame on the blog. We collect things to show off in these GitHub issues. If you see anything, just post it there!
We also need help keeping the awesome-aframe
repository up to date. If you see
any missing content or things that haven't been synced to the blog, make a pull
request there.
If you want to hold an event and talk about WebVR and A-Frame, check out the presentation kit.
Thanks so much for contributing and helping grow WebVR!