61 lines
1.7 KiB
Markdown
61 lines
1.7 KiB
Markdown
---
|
|
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.
|