Two quick notes before we get started:
- Anyone wishing to contribute to the NativeScript project must read & sign the NativeScript Contribution License Agreement. Thanks for being cool about that.
- NativeScript is an inclusive community, and we expect all contributors to treat each other respectfully. As such, all NativeScript contributors must adhere to the NativeScript community code of conduct.
While not terribly glamorous, documentation is often the easiest place to get started contributing to any open source project. It’s also something that virtually everyone reads and uses, so your documentation work can have a big impact on the NativeScript community. The NativeScript documentation lives in a series of Markdown files in the NativeScript/docs repository.
Don’t know where to start? Look for issues that have an “help wanted” label.
NOTE: New to open source and don’t know how to submit a pull request? Check out Kent Dodd’s free video walkthrough on the topic.
The main NativeScript code repository is the series of TypeScript modules that live in the NativeScript/NativeScript repo. If you’re interested in contributing to those modules, read through the detailed module contributing guide before getting started.
There are many other code repositories in the NativeScript world you might also be interested in contributing to.
This repo contains the NativeScript command-line interface, which lets you create, build, and run apps using the NativeScript framework. The CLI is written in TypeScript.
And these are just the main NativeScript repositories. Explore the NativeScript organization on GitHub for a full list of repos you can contribute to.
Are you interested in writing code, but finding it overwhelming to figure out how to contribute to one of the main NativeScript repositories?
You’re not alone. It can be difficult to jump into an unfamiliar codebase and immediately make meaningful contributions. It’s really something that you work up to. In NativeScript, an easier place to get started is by writing a NativeScript plugin.
The great thing about NativeScript plugins is that you’re basically writing a NativeScript module, so you get familiar with NativeScript’s coding conventions while maintaining the freedom to experiment.
If you’re interested, look through the list of plugins on https://market.nativescript.org/ for inspiration. If you’re looking for help coming up with plugin ideas, try asking around on the NativeScript community forum.
Large open source tools generate an enormous number of community questions, requests, and discussions, and NativeScript is no different. The NativeScript core team can only feasibly participate in so many of these conversations, and as such, community support is invaluable to keeping the project running smoothly.
Plus, providing support—whether it’s on Stack Overflow, a forum, Slack, or wherever—is a great way to learn more about a project, and to prepare yourself for contributing code directly. Here are a few ways you can help.