Contributing to Htmx.Components
We welcome contributions to the Htmx.Components framework! This guide will help you get started with contributing code, documentation, and reporting issues.
Important Note: This library is developed primarily for our organization's internal use. While we welcome quality contributions, we cannot provide support for external users or guarantee compatibility with external use cases.
Getting Started
Prerequisites
- .NET 8.0 SDK or later
- Visual Studio 2022 or Visual Studio Code
- Basic understanding of ASP.NET Core, HTMX, and Entity Framework Core
Development Setup
- Fork the repository
- Clone your fork locally
- Open the solution in your preferred IDE
- Build the solution to ensure everything compiles
Contribution Guidelines
Code Contributions
We welcome the following types of contributions:
- Bug fixes: Clear, focused fixes for identified issues
- Performance improvements: Optimizations with measurable benefits
- Documentation improvements: Better examples, clearer explanations
- Test coverage: Additional unit tests or integration tests
What We're NOT Looking For
- New features without prior discussion: Please open an issue first
- Breaking changes: We prioritize stability for our internal use
- External dependencies: We prefer to keep dependencies minimal
- Style-only changes: We have established coding standards
Code Standards
- Follow existing code patterns and conventions
- Write clear, descriptive commit messages
- Include appropriate documentation for public APIs
- Add tests for new functionality when applicable
- Ensure all existing tests pass
Submitting Changes
- Create a feature branch from
main
- Make your changes with clear, focused commits
- Test your changes thoroughly
- Submit a pull request with:
- Clear description of changes
- Reference to any related issues
- Explanation of testing performed
Reporting Issues
When reporting issues:
- Use the provided issue templates
- Include minimal reproduction steps
- Specify your environment (.NET version, OS, etc.)
- Note: We cannot guarantee timely responses to external issue reports
Development Notes
Architecture Principles
- Convention over configuration: Prefer attribute-based configuration
- Minimal dependencies: Keep external dependencies to a minimum
- Performance-focused: Optimize for our specific use cases
- HTMX-first: Design with HTMX patterns in mind
Key Areas for Contribution
- Table component optimizations
- Authorization pattern improvements
- Documentation and examples
- Test coverage expansion
Review Process
All contributions go through our internal review process:
- Automated build and test verification
- Code review by core team members
- Integration testing with our applications
- Final approval and merge
Timeline: Reviews are conducted on our internal schedule. External contributions may take longer to review as they are not our primary focus.
License
By contributing, you agree that your contributions will be licensed under the same license as the project.
Questions?
While we cannot provide dedicated support for external contributors, you can:
- Review existing documentation and code examples
- Search through existing issues for similar problems
- Submit clear, well-documented issues for consideration
Thank you for your interest in contributing to Htmx.Components!