# Contribute Code to ripple-lib
Want to contribute code or a bug report to help improve `ripple-lib`, the official client library for [RippleAPI](rippleapi-reference.html)? RippleAPI is a JavaScript API for interacting with the XRP Ledger. Here’s a roadmap to the high-level tasks that’ll have you reviewing code and functionality in no time.
{% set n = cycler(* range(1,99)) %}
{{n.next()}}
## Access the `ripple-lib` repo
`ripple-lib` is an open-source project. You can take a look at `ripple-lib` code simply by accessing the `ripple-lib` GitHub repo. Before contributing or reporting bugs, we recommend that you get to know the code and developer experience by performing the following tasks.
[Access the `ripple-lib` repo](https://github.com/ripple/ripple-lib)
{{n.next()}}
## Set up and run a rippled server
RippleAPI is an API for interacting with the XRP Ledger. The core peer-to-peer server that manages the XRP Ledger is `rippled`. Optionally, you can set up and run a `rippled` server to understand its developer experience and functionality. Anyone can run their own `rippled` server that follows the network and keeps a complete copy of the XRP Ledger.
[Set up and run a rippled server >](manage-the-rippled-server.html)
{{n.next()}}
## Get a Test Net XRP Ledger account
Use the XRP Test Net Faucet to get a test account on the XRP Test Network. If you set up a `rippled` server, you can connect it to the XRP Test Net to make test calls and get to know the XRP Ledger.
[Get a Test Net XRP Ledger account >](xrp-test-net-faucet.html)
{{n.next()}}
## Set up your `ripple-lib` development environment
`ripple-lib` requires Node.js and a few dependencies. We recommend using [Node.js v10 LTS](https://nodejs.org/en/) and [Yarn](https://yarnpkg.com/en/) dependency management. Also, be sure to create your own fork of the `ripple-lib` repository on GitHub so you can contribute pull requests to the official repo.
[Set up your development environment >](get-started-with-rippleapi-for-javascript.html#environment-setup)
{{n.next()}}
## Run your first `ripple-lib` script
Examine and run the `get-account-info.js` script. Use it to get a feel for how RippleAPI scripts work and to verify that your RippleAPI interface is working.
[Run your first script >](get-started-with-rippleapi-for-javascript.html#first-rippleapi-script)
{{n.next()}}
## Contribute code
Now that you have a handle on `ripple-lib`, you may have ideas for how to improve it.
Perhaps you’re developing on the XRP Ledger and want to contribute some code that enables `ripple-lib` to provide a feature your application needs.
Need some inspiration? Take a look at our list of [Help Wanted issues](https://github.com/ripple/ripple-lib/issues?utf8=%E2%9C%93&q=label%3A%22help+wanted%22)
Access the `ripple-lib` repo and open an issue or pull request.
[Contribute code](https://github.com/ripple/ripple-lib/pulls)
{{n.next()}}
## Report bugs
As you explore `ripple-lib`, you may find code that you don’t think is working as intended. To report a bug, [open an issue](https://github.com/ripple/ripple-lib/issues) in the `ripple-lib` repo.
If the bug you wish to report is security-related, we urge you to disclose it responsibly through Ripple's [Bug Bounty program](https://ripple.com/bug-bounty/).
[Report bugs](https://github.com/ripple/ripple-lib/issues)