Skip to content
This repository was archived by the owner on Jan 30, 2026. It is now read-only.

Latest commit

 

History

History
89 lines (60 loc) · 2.36 KB

File metadata and controls

89 lines (60 loc) · 2.36 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.24+ (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.


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

Detailed Guides

For contributors, comprehensive guides are available:


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