Build and test the Nylas CLI.
Quick Links: README | Commands | Architecture
This is the authoritative source for make targets. Other files reference this document.
- Go 1.24+ (check with
go version) - Make
| Target | Description | When to Use |
|---|---|---|
make ci-full |
Complete CI pipeline (quality + tests + cleanup) | Before PRs, releases |
make ci |
Quality checks only (no integration tests) | Quick pre-commit |
make build |
Build binary to ./bin/nylas |
Development |
make clean |
Remove build artifacts | Clean workspace |
| Target | Description |
|---|---|
make test-unit |
Run unit tests |
make test-race |
Run tests with race detector |
make test-integration |
Run CLI integration tests |
make test-air-integration |
Run Air web UI integration tests |
make test-coverage |
Generate coverage report |
make test-cleanup |
Clean up test resources |
| Target | Description |
|---|---|
make lint |
Run golangci-lint |
make security |
Run security scan (gosec) |
make vuln |
Run vulnerability check (govulncheck) |
Run make help for all available targets.
export NYLAS_API_KEY="your-api-key"
export NYLAS_GRANT_ID="your-grant-id"
make test-integrationCRITICAL: Air tests create real resources. Always use make ci-full for automatic cleanup.
cmd/nylas/main.go # Entry point
internal/
├── domain/ # Domain models
├── ports/ # Interfaces
├── adapters/ # Implementations
└── cli/ # Commands
For contributors, comprehensive guides are available:
- Adding Commands - Step-by-step guide for new CLI commands
- Adding Adapters - Implementing API adapters
- Testing Guide - Unit and integration testing
- Debugging - Debugging tips and techniques
Quick reference: See CLAUDE.md for project overview and AI assistant guidelines.