Thank you for your interest in contributing to Lark CLI. This document covers the process for submitting changes.
- Fork the repository
- Clone your fork:
git clone https://github.com/<your-username>/lark-cli.git cd lark-cli
- Create a branch:
git checkout -b feature/my-change
- Make your changes
- Run tests:
make test - Commit and push:
git commit -m "feat: add my change" git push origin feature/my-change - Open a pull request against
main
- Go 1.22 or later
- A running Lark server for integration testing (optional)
make build # Build binary to ./lark-cli
make install # Install to $GOPATH/bin
make test # Run tests with race detector
make lint # Run go vet
make clean # Remove build artifacts- Follow standard Go conventions and
gofmtformatting - Keep command implementations in
internal/commands/ - HTTP client logic belongs in
internal/client/ - Use
text/tabwriterfor tabular CLI output - Error messages should be lowercase and not end with punctuation
Use Conventional Commits:
feat: add workflow trigger command
fix: handle 404 in list channels
docs: update installation instructions
refactor: extract shared tabwriter helper
test: add unit tests for client.Do
chore: update dependencies
- Keep PRs focused on a single change
- Include a clear description of what and why
- Ensure CI passes before requesting review
- Link related issues when applicable
Open an issue using the bug report template. Include:
- Steps to reproduce
- Expected vs actual behavior
- CLI version (
lark-cli --version) - OS and architecture
Open an issue using the feature request template. Describe the use case and proposed behavior.
This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold its terms.