Thank you for your interest in contributing to the Log Analyzer project! This document provides guidelines and instructions for contributing.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/log-analyzer.git cd log-analyzer - Install dependencies:
npm install
- Build the project:
npm run build
- Node.js >= 18.0.0
- GitHub Copilot CLI installed and configured
- Active GitHub Copilot subscription (for testing)
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes in the
src/directory -
Build and test your changes:
npm run build ./test.sh # If you have Copilot CLI installed -
Commit your changes:
git add . git commit -m "Description of your changes"
-
Push to your fork:
git push origin feature/your-feature-name
-
Open a Pull Request on GitHub
- Use TypeScript for all new code
- Follow existing code formatting and naming conventions
- Use meaningful variable and function names
- Add JSDoc comments for public APIs
- Keep functions focused and single-purpose
When adding new features:
- Test with various log formats
- Test with large log files (if possible)
- Verify error handling
- Check edge cases
When proposing new features:
- Open an issue first to discuss the feature
- Explain the use case and benefits
- Consider backwards compatibility
- Update documentation and examples
Some ideas for contributions:
- Enhanced parsing: Support more log formats
- Streaming analysis: Process logs in chunks
- Export options: JSON, CSV, or HTML output
- Custom prompts: Allow users to customize analysis prompts
- Visualization: Generate charts or graphs from log data
- Integration: Support for common logging platforms
- Performance: Optimize for very large files
- Testing: Add unit and integration tests
When adding features, please update:
- README.md - If it affects usage
- Code comments - For complex logic
- examples/ - If adding new capabilities
- Type definitions - Keep TypeScript types accurate
Feel free to open an issue for:
- Bug reports
- Feature requests
- Questions about the code
- Documentation improvements
By contributing, you agree that your contributions will be licensed under the MIT License.