> For the complete documentation index, see [llms.txt](https://languagelearninglab.gitbook.io/pushkin/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://languagelearninglab.gitbook.io/pushkin/developers/developing-with-pushkin.md).

# Developing with Pushkin

Pushkin is 100% open-source. We love it when people come together to help fix bugs, build features, and make Pushkin better for everyone. If you’d like to contribute, feel free to open a pull request. The Pushkin project is split into several repos, each corresponding to a Yarn/NPM module. Issues and general project direction is tracked via GitHub’s project boards and issues. The discussion board can be found in the [pushkin repo](https://github.com/pushkin-consortium/pushkin) which contains the documentation.

1. [CLI](https://github.com/pushkin-consortium/pushkin-cli) ([Docs](/pushkin/advanced/pushkin-cli.md)) Installable via Yarn. Adds a `pushkin` command to the path when installed globally and makes working with Pushkin much easier.
2. [Client](https://github.com/pushkin-consortium/pushkin-client) ([Docs](/pushkin/advanced/pushkin-client.md)) A module that provides simplified methods for making calls to a Pushkin API and unpacking data sent back from a worker. Note that built-in functions assume the API has corresponding default routes enabled to handle such requests.
3. [API](https://github.com/pushkin-consortium/pushkin-api) ([Docs](/pushkin/advanced/pushkin-api.md)) Essentially a mini-server designed with the use case of interfacing between Pushkin Client and Pushkin Worker via RabbitMQ.
4. [Worker](https://github.com/pushkin-consortium/pushkin-worker/) ([Docs](/pushkin/advanced/experiment-structure/worker-component-migration-and-seed.md#experiment-worker-component)) Receives messages from RabbitMQ and runs whatever functionality it’s told to run, sending the result back through the queue it came from. Designed to be on the receiving end of a Pushkin API. Comes with built-in simple functions that most users will probably want, like “getAllStimuli”.
