Contributing
Guidelines for contributing to Dependi.
Get Involved
We welcome contributions! See the full Contributing Guide for detailed information on:
- Setting up your development environment
- Code style and standards
- Adding support for new languages
- Submitting pull requests
Quick Links
Types of Contributions
We welcome:
- Bug reports and fixes
- New language/package manager support
- Performance improvements
- Documentation improvements
- Feature requests and implementations
Development Setup
Prerequisites
- Rust 1.75+ (tested with 1.91.1)
- Zed Editor (latest stable)
- wasm32-wasip1 target:
rustup target add wasm32-wasip1
Quick Start
# Clone
git clone https://github.com/YOUR_USERNAME/zed-dependi.git
cd zed-dependi
# Build LSP
cd dependi-lsp
cargo build --release
# Build extension
cd ../dependi-zed
cargo build --release --target wasm32-wasip1
# Install as dev extension in Zed
# Run: zed: install dev extension
# Select: dependi-zed directory
Running Tests
cd dependi-lsp
# All tests
cargo test
# Specific modules
cargo test parsers::cargo
cargo test registries::npm
# With output
cargo test -- --nocapture
Code Quality
# Formatting
cargo fmt --all
# Linting (warnings as errors)
cargo clippy --all-targets -- -D warnings
Commit Convention
Use conventional commit format:
feat:New featurefix:Bug fixdocs:Documentationrefactor:Code refactoringtest:Testschore:Maintenance
Examples:
feat: add support for Ruby gems
fix: handle scoped npm packages correctly
docs: improve installation instructions
License
By contributing, you agree that your contributions will be licensed under the MIT License.