Skip to content

Latest commit

 

History

History
164 lines (103 loc) · 2.87 KB

File metadata and controls

164 lines (103 loc) · 2.87 KB

Contributing to repofetch

Thank you for your interest in contributing to repofetch. We welcome contributions from the community and appreciate your help in making this project better.

Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (version 18 or higher)
  • pnpm (version 8 or higher)

Setting Up the Development Environment

  1. Clone the repository
git clone https://github.com/nesalia/repofetch.git
cd repofetch
  1. Install dependencies
pnpm install
  1. Enable husky hooks
pnpm prepare

This will set up the pre-commit hooks that run linting, type checking, and tests before each commit.

Development Workflow

Running Tests

To run the test suite:

pnpm test

For watch mode during development:

pnpm test --watch

Building

To build all packages:

pnpm build

To build a specific package:

pnpm --filter @deessejs/core build

Linting

To run the linter:

pnpm lint

Type Checking

To run type checking:

pnpm typecheck

Making Changes

  1. Create a feature branch
git checkout -b feature/your-feature-name

or for bug fixes:

git checkout -b fix/your-bug-fix-name
  1. Make your changes

Write your code following the existing patterns and conventions in the project.

  1. Test your changes

Ensure all tests pass before committing:

pnpm test
  1. Commit your changes

We follow the conventional commits format. Make sure your commit messages are clear and descriptive.

  1. Push your changes
git push origin your-branch-name

Submitting a Pull Request

  1. Create a pull request against the main branch

  2. Fill out the PR template with:

    • A clear description of the changes
    • Link to any related issues
    • Screenshots or examples if applicable
  3. Ensure all checks pass

The CI pipeline will run:

  • Linting
  • Type checking
  • Tests

All checks must pass before a PR can be merged.

  1. Request a review

Once your PR is ready, request a review from one of the maintainers.

Code Style

  • Use TypeScript for all new code
  • Follow the existing code formatting (enforced by ESLint and Prettier)
  • Write meaningful variable and function names
  • Add comments for complex logic
  • Include tests for new functionality

Reporting Issues

If you find a bug or have a suggestion, please:

  1. Search existing issues first
  2. Create a new issue with a clear description
  3. Include steps to reproduce (for bugs)
  4. Specify your environment (Node version, OS, etc.)

Questions?

If you have questions about contributing, please reach out to us at: support@nesalia.com

License

By contributing to repofetch, you agree that your contributions will be licensed under the MIT License - see the LICENSE file for details.