Thank you for your interest in contributing to Lark. This document explains how to get started.
- Fork the repository
- Clone your fork:
git clone https://github.com/<your-username>/lark-daemon.git cd lark-daemon
- Create a branch:
git checkout -b feature/your-feature-name
- Make your changes
- Push and open a pull request
- Go 1.22 or later
- Docker and Docker Compose (optional)
golangci-lintfor linting (optional)
make buildmake runmake testTests use in-memory SQLite by default, so no external database is required.
make lint- Follow standard Go conventions and
gofmtformatting - Keep handler files focused on a single domain (see
internal/server/api/) - Use
slogfor structured logging - All API responses must use the
writeJSONhelper - All API errors must use structured error codes from
errors.go - New endpoints must have corresponding tests
Use Conventional Commits format:
feat: add workspace invite links
fix: prevent duplicate channel membership
docs: update environment variable table
test: add coverage for webhook execution
- Keep PRs focused on a single change
- Include a clear description of what changed and why
- Ensure all tests pass (
make test) - Ensure the linter passes (
make lint) - Add tests for new functionality
- Update documentation if the API changes
- Use GitHub Issues for bug reports and feature requests
- Include reproduction steps for bugs
- Include the Go version and OS
By contributing, you agree that your contributions will be licensed under the MIT License.