Contributing

ƿit is developed openly. Contributions of all kinds are welcome.

Report Bugs

Found a problem? Open an issue on the ƿit issue tracker. Include:

  • What you expected to happen
  • What actually happened
  • A minimal reproduction (a short .ce or .cm file)
  • Your platform and ƿit version (pit version)

Submit Packages

Share your ƿit packages by hosting them on a Gitea instance. Any package with a valid pit.toml can be installed by others:

pit install gitea.example.com/you/your-package

See Packages for how to structure and publish packages.

Contribute to the Runtime

The ƿit runtime is written in C. To build from source:

git clone https://gitea.pockle.world/john/cell
cd cell
make bootstrap

Code Style

  • C code uses 2-space indentation
  • Functions and variables are static unless exported
  • No headers between files in the same package
  • Use JS_NULL / JS_IsNull — there is no undefined
  • Objects over classes; limit prototype usage

Submitting Patches

  1. Fork the repository on Gitea
  2. Create a branch for your change
  3. Keep commits focused — one logical change per commit
  4. Test your changes with pit test all
  5. Open a pull request with a clear description

Improve Documentation

Documentation lives in the docs/ directory as Markdown files. Fixes for typos, unclear explanations, or missing examples are always appreciated.

Code of Conduct

Be respectful. Communicate clearly. Assume good faith. Technical disagreements are fine; personal attacks are not.