# Contributing to IWE

Thank you for your interest in contributing to IWE!

## License

This project is licensed under the [Apache License 2.0](LICENSE-APACHE).

## Contribution Terms

By submitting a contribution to this project, you agree to the following terms:

1. **License Grant**: All contributions submitted to this project will be licensed under the Apache License 2.0, the same license as the project itself.

2. **Rights Transfer**: By contributing, you willingly grant all rights to your contribution to the project maintainers and agree that your contribution becomes part of the project under the Apache License 2.0.

3. **Original Work**: You certify that your contribution is your original work or that you have the right to submit it under the Apache License 2.0.

4. **No Additional Terms**: You understand that no additional terms or conditions will apply to your contributions beyond those specified in the Apache License 2.0.

## Contribution Guidelines

Before opening a PR, please file an issue (for bugs) or start a discussion (for features) so we can align on the approach.

### What We May Accept

- **Bug fixes**: Well-documented bug fixes with test cases
- **New features**: Must start with a discussion (see below)
- **Documentation improvements**: Substantial improvements to documentation
- **Performance improvements**: With benchmarks demonstrating the improvement

### What We Reject

We will reject pull requests that only contain:

- Formatting or style changes without functional improvements
- Linting fixes unrelated to actual issues
- Typo fixes in code comments or variable names
- Other trivial changes that don't add meaningful value

### Before Contributing a New Feature

**Important**: Before starting work on a new feature, please open a GitHub Discussion or Issue to discuss:

- The problem you're trying to solve
- Your proposed solution
- How it fits into the project's goals
- Implementation approach

This helps avoid wasted effort on features that may not align with the project's direction or may already be in development.

## Maintainers Wanted: Editor Plugins

We are actively looking for maintainers for the IWE editor plugins. If you use IWE with one of these editors and want to help shape its integration, please reach out by opening an issue in the relevant repository.

- **Neovim**: [iwe-org/iwe.nvim](https://github.com/iwe-org/iwe.nvim)
- **VSCode**: [iwe-org/vscode-iwe](https://github.com/iwe-org/vscode-iwe)
- **Zed**: [iwe-org/zed-iwe](https://github.com/iwe-org/zed-iwe)

Maintainer responsibilities include triaging issues, reviewing pull requests, and keeping the plugin compatible with the latest IWE LSP server (`iwes`).

## Contributors Wanted: Agentic Skills

We are also looking for contributors to the [iwe-org/skills](https://github.com/iwe-org/skills) repository, which hosts agentic AI skills for knowledge graph management. If you have ideas for new skills, improvements to existing ones, or workflows that pair well with IWE, contributions are welcome.

## Questions?

If you have questions about contributing, please open an issue in the GitHub repository.

---

**By submitting a pull request or otherwise contributing to this project, you acknowledge that you have read and agree to these contribution terms.**
