Contributing
Thank you for your interest in contributing to Graytool!
Getting Started
- Fork the project
- Create a feature branch:
git checkout -b feature/new-feature - Set up the development environment:
git clone https://github.com/<your-username>/graytool.git
cd graytool
npm install
npm run build
Development Process
- Write your code
- Run type checks:
npm run typecheck - Format the code:
npm run format - Run lint:
npm run lint - Test in Chrome
Commit Messages
Use meaningful commit messages:
feat: Added code generator to JSON viewer
fix: Fixed empty string issue in field detection
docs: Updated button configuration documentation
refactor: Restructured storage module
Pull Requests
- Make sure all tests and lint checks pass
- Open a PR describing your changes
- Wait for the code review process
Code Standards
- Follow the Code Style Guide rules
- All storage access must go through
shared/storage.ts - All constants must be imported from
shared/constants.ts - All utility functions must be imported from
shared/utils.ts - Follow the silent failure principle in content scripts
- Use
escapeHtml()andescapeAttr()for XSS protection
Bug Reports
Via GitHub Issues:
- Specify your Graylog version
- Specify your Chrome version
- Provide reproducible steps
- Describe the expected vs. actual behavior
- Include console error logs
Feature Requests
Via GitHub Issues:
- Explain what the feature would do
- Provide a use case
- Discuss a possible design approach