squiggle/CONTRIBUTING.md
2022-03-28 22:39:59 -04:00

2.2 KiB

The current document was written quickly and not exhaustively, yet, it's unfinished. Template here

Contributing to Squiggle

We welcome contributions from developers, especially people in react/typescript, rescript, and interpreters/parsers. We also are keen to hear issues filed by users!

Squiggle is currently pre-alpha.

Quick links

  • Roadmap to the alpha
  • The team presently communicates via the EA Forecasting and Epistemics slack (channels #squiggle and #squiggle-ops), you can track down an invite by reaching out to Ozzie Gooen
  • Squiggle documentation
  • Rescript documentation
  • You can email quinn@quantifieduncertainty.org if you need assistance in onboarding or if you have questions

Bug reports

Anyone (with a github account) can file an issue at any time. Please allow Quinn, Sam, and Ozzie to triage, but otherwise just follow the suggestions in the issue templates.

Project structure

Squiggle is a monorepo with four packages.

  • components is where we improve reactive interfacing with Squiggle
  • playground is the site playground.squiggle-language.com
  • squiggle-lang is where the magic happens: probability distributions, the interpreter, etc.
  • website is the site squiggle-language.com

Deployment ops

We use netlify, and it should only concern Quinn, Sam, and Ozzie.

Development environment, building, testing, dev server

You need yarn.

TODO: fill this out based on all the different packages scripts once they cool down.

If you're on NixOS

You'll need to run a command like this in order to get yarn build to run, especially in packages/squiggle-lang.

patchelf --set-interpreter $(patchelf --print-interpreter $(which mkdir)) ./node_modules/gentype/gentype.exe 

See here

Pull request protocol

Please work against staging branch. Do not work against master. Please do not merge without approval from some subset of Quinn, Sam, and Ozzie; they will be auto-pinged.