--- title: "Contributing" description: "How to contribute to ƿit" type: "standalone" --- ƿit is developed openly. Contributions of all kinds are welcome. ## Report Bugs Found a problem? Open an issue on the [ƿit issue tracker](https://gitea.pockle.world/john/cell/issues). 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: ```bash pit install gitea.example.com/you/your-package ``` See [Packages](/manual/#packages) for how to structure and publish packages. ## Contribute to the Runtime The ƿit runtime is written in C. To build from source: ```bash 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.