We love open source, and we're thrilled that you want to help make xyOps even better! Please read this document carefully before contributing. It explains how to work effectively with the xyOps team and where your efforts can have the biggest impact.
We are not currently accepting feature pull requests (PRs), except under special circumstances. If you have a great idea for a new feature, please:
- Open a GitHub Issue to describe your idea.
- Use clear and concise language, including use cases and benefits.
- Encourage others to give your issue a 👍 reaction.
- Wait for a Dev team member to approve the idea before writing any code.
We generally prefer to design and implement new features in-house, but we're very responsive and regularly integrate popular feature requests quickly. Your feedback shapes the roadmap!
There are plenty of other valuable ways to contribute:
- Small, well-scoped fixes are welcome.
- Your PR should clearly describe the issue and the reasoning behind your change.
- All unit tests must pass (
npm test). - Follow our code style (see the Development Guide).
- Commits must be signed off (DCO) and GPG-signed.
Please do not open GitHub issues for security vulnerabilities. Instead, follow the responsible disclosure process described in our Security Guide.
We're preparing a formal localization process! If you speak any languages other than English, we'd love your help translating xyOps once this is ready. Watch for updates in the GitHub Issues area.
Our biggest need right now is Plugins! xyOps is built around an open plugin architecture, and we would love your contributions here.
- See the Plugin Guide for full development and publishing details.
- Publish your plugin on GitHub, then register it on the xyOps Plugin Marketplace.
- Plugins should use an OSI-approved license and include clear documentation of any security considerations.
We happily accept PRs that improve our docs!
- All documentation lives in
/docs. - Follow the writing style in the Development Guide.
- Screenshots/diagrams should be PNG or WebP (lossless) with proper alt-text.
If you enjoy xyOps, help us grow the community:
- Mention xyOps on Bluesky and Mastodon, or boost our posts!
- Participate in GitHub Discussions. Particularly, help out new users!
- Subscribe to our YouTube Channel and leave likes on our videos (if you like them).
- Runtime: Node.js LTS
- Language: Plain JavaScript, no frameworks
- Testing: pixl-unit
- Code style and setup: see the Development Guide
- License: BSD-3-Clause
All participants are expected to follow our Code of Conduct. By contributing to xyOps, you agree to foster a welcoming, respectful community.
Your time and effort mean a lot to us. Even if you're not writing code, every issue, translation, plugin, or mention helps make xyOps better for everyone.
Together, we can make xyOps truly awesome.
-- The PixlCore Team