Thanks for your interest in contributing! Here's how to get started.
git clone https://github.com/aaronkwhite/linear-cli.git
cd linear-cli
cargo build
cargo testYou'll need a Linear API key to run integration tests:
export LINEAR_API_KEY="lin_api_..."
cargo test --test integration -- --ignoredAll code must pass these checks (CI enforces them):
cargo fmt --check
cargo clippy -- -D warningsRun cargo fmt before committing. If clippy flags something, fix it rather than suppressing it unless there's a documented reason.
- New commands: add smoke tests in
tests/cli_smoke.rs(no API key needed) - API-touching code: add integration tests in
tests/integration.rs(gated onLINEAR_API_KEY) - Unit tests: add inline
#[cfg(test)]modules for pure logic (cache lookups, formatting, etc.)
- Fork the repo and create a branch from
main - Make your changes
- Ensure
cargo fmt,cargo clippy -- -D warnings, andcargo testall pass - Update
CHANGELOG.mdif your change is user-facing - Open a PR with a clear description of what and why
- Bugs: use the bug report template with
lin --version, OS, and steps to reproduce - Features: use the feature request template and describe the use case, not just the solution