Back when I started this project, the documentation went something like this:
- Clone the repo
- Make your change
- Submit a PR
There's a lot missing from that.
After a while, people would report that it was hard to get things running locally, so we ended up with a massive wall of text in the format:
- type this
- change directory
- run this command
- check that
- do this other thing
... on and on and on.
What we didn't have until now is the thing that would let someone who has a cursory knowledge of Exercism figure out where to begin.
The start of contributing to Exercism isn't about cloning a repository, it's about finding the right repository to contribute to. And that, in turn, isn't just about going to the Exercism profile page on GitHub and looking at the repositories. That doesn't provide a good mental model of what you're looking for and how things fit together.
So I've made an attempt at documenting Exercism—the open source project. I'm not trying to explain how you would use Exercism to learn a new programming language, or why you might do that. I'm trying to give you a way to start considering the project if you think you might want to contribute to it.
Exercism—as an open source project—has two distinct parts.
Most open source projects are code that people incorporate into their own projects. They're tools and components used to build software: libraries and frameworks, packages and infrastructure.
Exercism is unusual in the open source landscape. Exercism isn't a component or infrastructure. Exercism is an experience targeted at the end-user.
If you want to follow along on the high-level goings-on on the Exercism project, watch the discussions repository, and keep an eye on this newsletter.
The product consists of a website and a command-line client (CLI).
We are currently investing our efforts in design research and product design.
While we welcome fixes and improvements to the existing site, we are taking a step back from it and doing design research from scratch. You can read more about this in the article The Delightful Design of Exercism.
You can navigate to the repository for any language track on Exercism via the trackler library. This list includes both active and upcoming tracks, as well as tracks that have been requested where no work has yet been done.
I've put this content into a pull request (https://github.com/exercism/exercism.io/pull/3377). If you have thoughts or suggestions or feedback, I'd appreciate it if you would help review the PR.