Skip to content

Latest commit

 

History

History
100 lines (68 loc) · 2.66 KB

File metadata and controls

100 lines (68 loc) · 2.66 KB

Development

Build and test the Nylas CLI.

Quick Links: README | Commands | Architecture

This is the authoritative source for make targets. Other files reference this document.


Prerequisites

  • Go 1.26+ (check with go version)
  • Make

Make Targets

Essential Commands

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

Testing Commands

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

Quality Commands

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.

Docker

docker build -t nylas-cli:dev .
docker run --rm nylas-cli:dev --version

See Docker for credential and release-image guidance.


Integration Tests

export NYLAS_API_KEY="your-api-key"
export NYLAS_GRANT_ID="your-grant-id"

make test-integration

CRITICAL: Air tests create real resources. Always use make ci-full for automatic cleanup.


Project Structure

cmd/nylas/main.go           # Entry point
internal/
  ├── domain/               # Domain models
  ├── ports/                # Interfaces
  ├── adapters/             # Implementations
  ├── cli/                  # Commands (incl. setup/ for nylas init)
  └── ...

Detailed Guides

For contributors, comprehensive guides are available:


Quick reference: See CLAUDE.md for project overview and AI assistant guidelines.