Skip to content

Latest commit

 

History

History
45 lines (33 loc) · 1.21 KB

File metadata and controls

45 lines (33 loc) · 1.21 KB

Contributing

Thanks for contributing to plane-cli.

Bun is used for local development. Node.js 20+ is required for users installing the CLI — Bun is only needed if you are working on the source.

Principles

  • Keep the CLI API-driven
  • Avoid Plane-server-specific assumptions
  • Prefer stable command verbs over ad hoc flags
  • Keep human-readable output clean and add machine-readable output deliberately

Development

bun install
bun run typecheck
bun run build
bun test

Testing

Tests are organized in tests/:

tests/
├── core/
│   ├── api-client.test.ts      # HTTP client, retry logic, pagination (24 tests)
│   ├── config-store.test.ts    # Config loading/saving, env vars (18 tests)
│   └── resolvers.test.ts       # Issue ref parsing, name resolution (21 tests)
└── smoke/
    └── cli-smoke.test.ts       # Version, help, command presence (3 tests)

Run tests: npm test or bun test Run with coverage: npm run test -- --coverage

Project Boundaries

  • Commands live in src/commands/
  • Shared logic belongs in src/core/
  • Avoid coupling command handlers directly to HTTP details
  • Keep auth/context behavior reusable across command groups