Skip to content

Latest commit

 

History

History
112 lines (82 loc) · 3.03 KB

File metadata and controls

112 lines (82 loc) · 3.03 KB

Contributing to PrinceJS

Thank you for your interest in contributing to PrinceJS! We welcome contributions from the community and are excited to work with you.

Getting Started

  1. Fork the repository on GitHub
  2. Clone your fork locally:
    git clone https://github.com/MatthewTheCoder1218/princejs.git
    cd princejs
  3. Create a new branch for your feature or fix:
    git checkout -b feature/your-feature-name

Development Setup

# Install dependencies
bun install

# Run tests
bun test

# Build the project
bun run build

Making Changes

  1. Write clear, concise code that follows the existing style
  2. Add tests for new features or bug fixes
  3. Update documentation if your changes affect how the framework is used
  4. Ensure all tests pass before submitting your pull request:
    bun test

Code Style

  • Use TypeScript for all new code
  • Follow the existing code structure and naming conventions
  • Use meaningful variable and function names
  • Add comments for complex logic
  • Keep functions focused and reusable

Commit Messages

Write clear, descriptive commit messages:

git commit -m "feat: add new feature description"
git commit -m "fix: resolve bug in middleware"
git commit -m "docs: update JSX examples in README"

Use these prefixes:

  • feat: for new features
  • fix: for bug fixes
  • docs: for documentation changes
  • test: for test additions or modifications
  • refactor: for code refactoring
  • perf: for performance improvements

Submitting a Pull Request

  1. Push your branch to your fork:
    git push origin feature/your-feature-name
  2. Open a Pull Request on GitHub with a clear title and description
  3. Reference any related issues (e.g., "Closes #123")
  4. Wait for review and address any feedback

Areas for Contribution

We're particularly interested in contributions for:

  • New middleware - authentication, security, validation
  • Database support - additional database adapters
  • Testing - improving test coverage, adding edge cases
  • Documentation - examples, guides, API reference
  • Performance - optimizations, benchmarks
  • JSX components - additional HTML helper components
  • Error handling - better error messages and recovery

Reporting Issues

If you find a bug or have a suggestion:

  1. Check existing issues to avoid duplicates
  2. Create a new issue with a clear title and description
  3. Include steps to reproduce for bugs
  4. Add example code when possible
  5. Specify your environment (OS, Bun version, etc.)

Questions?

Feel free to open a discussion or reach out:

License

By contributing to PrinceJS, you agree that your contributions will be licensed under the same license as the project.


Thank you for contributing to PrinceJS! 🚀