📃 Contribute to the Docs

The Unison language website is written in Unison's own computable documentation format!

If you have suggestions or feedback for the language documentation, you can file a github issue in thewebsite github repo.The website repo houses both the underlying Unison codebase and the front end used for styling and rendering the documentation.

PR's are also welcome! To submit a PR for doc content, you'll need to follow thePR process built into the UCM.Then file a github issue with a copy of the UCM pull request output.


  1. .> pull https://github.com/unisonweb/website:.learn ._learn(you can do this both for initial fetch and for subsequent updates)
  2. .> fork ._learn .prs.learn._mythingto create a copy of_learn.You can create multiple forks in.prs.learn,if you have multiple things you're working on.
  3. If you haven't already done so, set your default author, and for at least.prs.learnset the default license to MIT, which is the preferred license for new definitions in this repo (if you're already using the MIT license as your default license everywhere, then no action needed). Seethese instructions on how to configure just a sub-namespace with a different licenseand there's a sample excerpt config below.
  4. Nowcd .prs.learn._mythingand hack away. You can at any time review what's changed between your namespace and_docswithdiff.namespace ._docs .prs.learn._mything.
  5. Push your forked version somewhere public. Suggestion: just mirror your root Unison namespace to a git repo.> push git@github.com:mygithubname/allmyunisoncode.No need to maintain a separate Git repo for every Unison library you want to contribute to.
  6. .prs.learn._mything> pull-request.create https://github.com/unisonweb/website:.docs https://github.com/myuser/allmyunisoncode:.prs.learn._mythingand this will create some output. Copy that output to your clipboard. We don't literally use the GitHub pull request mechanism for Unison repositories, we use GitHub issues instead.
  7. Next,create a GitHubissuein this repo (that's right, anissue,nota GitHub PR). Make the issue title something descriptive, and for the issue body, paste in the output generated bypull-request.createas well as some text describing the change, just like you would for any other pull request.
  8. Use the GitHub issue comments for coordinating the review. Once merged, the maintainer will close the issue.

Sample configuration

Seethese instructionsbut to set the license forprs.docs,your config will look something like:

DefaultMetadata {
  prs.docs = [".metadata.licenses.myauthorname_mit_2022"]