Contributing

Thank you for considering contributing to LogWard! We welcome contributions from the community.

Ways to Contribute

Report Bugs
Found a bug? Open an issue on GitHub with detailed reproduction steps and expected vs actual behavior.
Suggest Features
Have an idea? Create a feature request issue describing the use case and expected functionality.
Submit Code
Fix bugs or implement features by submitting pull requests. Follow our coding standards and include tests.
Improve Docs
Help improve documentation by fixing typos, adding examples, or clarifying explanations.

Development Setup

  1. 1. Fork the repository

    Click "Fork" on GitHub to create your own copy

  2. 2. Clone your fork

    git clone https://github.com/your-username/logward.git

  3. 3. Create a branch

    git checkout -b feature/your-feature-name

  4. 4. Install dependencies

    pnpm install

  5. 5. Make your changes

    Write code, add tests, update documentation

  6. 6. Test your changes

    pnpm test && pnpm typecheck

  7. 7. Commit and push

    git commit -m "feat: add new feature"
    git push origin feature/your-feature-name

  8. 8. Create pull request

    Open a PR on GitHub with a clear description of your changes

Coding Standards

TypeScript
  • Use strict TypeScript - no any types
  • Define interfaces for all data structures
  • Use Zod for runtime validation
  • Follow existing code patterns
Commit Messages

Follow Conventional Commits:

  • feat: add new feature
  • fix: resolve bug in ingestion
  • docs: update API documentation
  • refactor: simplify query logic
  • test: add alert tests
Testing
  • Write tests for new features
  • Maintain or improve code coverage
  • Test edge cases and error handling
  • Run full test suite before submitting PR

Pull Request Process

  1. 1. Update documentation

    Update relevant docs if you changed API or added features

  2. 2. Add tests

    Include unit/integration tests for new functionality

  3. 3. Pass CI checks

    Ensure all automated tests and linting pass

  4. 4. Describe changes

    Write a clear PR description explaining what and why

  5. 5. Request review

    Wait for maintainer review and address feedback

  6. 6. Merge

    Once approved, a maintainer will merge your PR

Code of Conduct

We are committed to providing a welcoming and inclusive environment. We expect all contributors to:

  • Be respectful and inclusive in all interactions
  • Accept constructive criticism gracefully
  • Focus on what's best for the community
  • Show empathy towards other community members

Questions?

If you have questions about contributing, feel free to:

  • Open a GitHub Discussion for general questions
  • Create an issue for bug reports or feature requests
  • Join our community Discord server (coming soon)