Thank you for your interest in contributing to perflock! This document provides guidelines and information about contributing to this project.
Please be respectful and constructive in all interactions. We're all here to build something great together.
- Node.js >= 18.0.0
- npm >= 10.0.0
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/perflock.git cd perflock - Install dependencies:
npm install
- Build all packages:
npm run build
npm run build- Build all packagesnpm run dev- Run in development mode with watchnpm run test- Run all testsnpm run test:watch- Run tests in watch modenpm run test:coverage- Run tests with coveragenpm run lint- Lint all packagesnpm run lint:fix- Fix linting issuesnpm run format- Format code with Prettiernpm run typecheck- Run TypeScript type checking
perflock/
├── packages/
│ ├── core/ # Main library
│ ├── cli/ # CLI tool
│ └── github-action/ # GitHub Action
├── .github/ # GitHub workflows and templates
└── ...
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Make your changes
-
Ensure tests pass:
npm run test -
Ensure linting passes:
npm run lint
-
Commit your changes with a descriptive message
-
Push to your fork and create a Pull Request
- Keep PRs focused on a single feature or fix
- Include tests for new functionality
- Update documentation as needed
- Ensure all CI checks pass
- Write clear commit messages
When reporting issues, please include:
- A clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Node.js and npm versions
- Any relevant error messages or logs
Feature requests are welcome! Please open an issue with:
- A clear description of the feature
- Use cases and motivation
- Any implementation ideas (optional)
Feel free to open an issue for any questions about contributing.
Thank you for contributing!