Thank you for considering contributing to TracePerf! This document outlines the process for contributing to the project.
By participating in this project, you agree to abide by our Code of Conduct. Please be respectful and considerate of others.
If you find a bug, please create an issue on GitHub with the following information:
- A clear, descriptive title
- A detailed description of the issue
- Steps to reproduce the bug
- Expected behavior
- Actual behavior
- Screenshots or code snippets (if applicable)
- Environment information (Node.js version, OS, etc.)
We welcome feature suggestions! Please create an issue on GitHub with:
- A clear, descriptive title
- A detailed description of the proposed feature
- Any relevant examples or use cases
- If possible, a sketch of how the feature might be implemented
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature-name) - Make your changes
- Run tests and linting (
npm test && npm run lint) - Commit your changes with a descriptive commit message
- Push to your branch (
git push origin feature/your-feature-name) - Open a pull request
- Follow the existing code style and conventions
- Include tests for new features or bug fixes
- Update documentation as needed
- Keep pull requests focused on a single change
- Link to any relevant issues
- Clone the repository
- Install dependencies:
npm install - Build the project:
npm run build - Run tests:
npm test
traceperf/
├── src/ # Source code
│ ├── index.ts # Main entry point
│ ├── core/ # Core functionality
│ ├── trackers/ # Performance tracking modules
│ ├── formatters/ # Output formatting
│ ├── utils/ # Utility functions
│ └── types/ # TypeScript type definitions
├── test/ # Test files
├── examples/ # Example usage
└── docs/ # Documentation
- Use TypeScript for all code
- Follow the existing code style (enforced by ESLint and Prettier)
- Write comprehensive JSDoc comments for all public APIs
- Maintain high test coverage
- Write unit tests for all new functionality
- Ensure all tests pass before submitting a pull request
- Aim for high test coverage
- Update documentation for any changes to the public API
- Include examples for new features
- Keep the README up to date
The maintainers will handle the release process, including:
- Updating the version number
- Updating the changelog
- Creating a new release on GitHub
- Publishing to npm
By contributing to TracePerf, you agree that your contributions will be licensed under the project's MIT license.