# Contributing

If you want to fix a bug or implement a feature in the Lucy compiler, that should be done in the liblucy project.

Most development can be done using the lucyc CLI. You can build just this binary using make bin/lucyc. Below is instructions on building liblucy.

# Building liblucy

liblucy has 2 compilation targets:

Note that building on Windows is not currently possible. We would love someone to contribute this!

# Prerequisites

# Building the CLI

You can build just the CLI by running:

make bin/lucyc

The lucyc command will be in bin/lucyc.

# Building wasm

The wasm binaries are built in 4 forms:

You can build any of these with make, such as:

make dist/liblucy-debug-browser.mjs

The release versions are built using -O3.

Each of these has a separate entrypoint in liblucy, such as main-browser-dev.js. When someone imports liblucy in Node this is controlled with the package.json exports field.

# Building all

You can build all of the binaries using:

make all