Contributing to LexKit
Help us build the future of rich text editing
LexKit is an open-source project built with modern web technologies. We welcome contributions from developers of all skill levels.
Getting Started
LexKit is a monorepo built with modern tools. Here's how to get started with development.
LexKit is hosted on GitHub. Clone the repository to get started:
Clone the LexKit repository
LexKit uses pnpm for package management. Install all dependencies:
Install dependencies
Run the development server to see your changes in action:
Start the development server
Project Structure
LexKit is organized as a monorepo with clear separation of concerns.
LexKit Monorepo Structure
Core packages including the editor system, UI components, and TypeScript configurations.
The main web application with documentation, demos, and examples.
Development Workflow
Follow these best practices to ensure smooth collaboration.
Create feature branches from main for all changes:
Create a feature branch
Use descriptive branch names like feature/add-link-extension or fix/toolbar-bug.
Before submitting a PR, ensure your code passes all checks:
Run quality checks
When your changes are ready, create a pull request with:
- Clear description of the changes
- Link to any related issues
- Screenshots for UI changes
- Tests for new functionality
Best Practices
Guidelines for writing maintainable, high-quality code.
- Use strict TypeScript types
- Avoid
anytypes when possible - Document complex type definitions
- Use utility types for common patterns
- Document all public APIs with JSDoc
- Update docs for API changes
- Add examples for complex features
- Keep README files up to date
- Write tests for new features
- Test edge cases and error conditions
- Ensure tests pass before submitting
- Update tests when changing APIs
- Review your own code first
- Be constructive in feedback
- Consider performance implications
- Ensure code follows project conventions
Need Help?
Don't hesitate to reach out if you need assistance or have questions.