Thank you for your interest in contributing to MASTerm! This document provides guidelines and instructions for contributing.
- Rust 1.70+ (install via rustup)
- Git
# Clone the repository
git clone https://github.com/masterm-dev/masterm.git
cd masterm
# Build the project
cargo build
# Run tests
cargo test
# Run the CLI
cargo run -- --helpmasterm/
βββ crates/
β βββ masterm-core/ # Core engine library
β βββ masterm-cli/ # CLI binary
β βββ masterm-shell/ # Shell adapters
β βββ masterm-plugins/ # Built-in plugins
βββ docs/ # Documentation
βββ tests/ # Integration tests
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Run tests:
cargo test - Run lints:
cargo clippy - Format code:
cargo fmt - Commit with a descriptive message
- Push and create a Pull Request
- Follow Rust idioms and best practices
- Use
cargo fmtfor formatting - Use
cargo clippyfor linting - Add documentation for public APIs
- Write tests for new functionality
See docs/plugins.md for the plugin development guide.
Use conventional commits:
feat: Add new featurefix: Fix bugdocs: Update documentationrefactor: Refactor codetest: Add testschore: Maintenance tasks
- Update documentation if needed
- Add tests for new functionality
- Ensure all tests pass
- Update CHANGELOG.md if applicable
- Request review from maintainers
Be respectful, inclusive, and constructive. We're all here to build something great together.
- Open an issue for bugs or feature requests
- Join our Discord for discussions
- Check existing issues before creating new ones
Thank you for contributing! π