Skip to main content

Contributing

Guidelines for contributing to Terra.

Development Workflow

  1. Fork & Clone — Fork the repo and clone locally
  2. Branch — Create a feature branch (feat/my-feature)
  3. Develop — Make changes with tests
  4. Test — Run pnpm test and pnpm build
  5. PR — Open a pull request

Commit Conventions

Use conventional commits:
feat(forms): add rating field type
fix(auth): handle expired sessions
docs(api): update webhook documentation

Code Style

  • TypeScript strict mode
  • ESLint with recommended rules
  • Prettier for formatting
# Format code
pnpm format

# Lint
pnpm lint

Pull Request Checklist

  • Tests pass (pnpm test)
  • Build succeeds (pnpm build)
  • Lint passes (pnpm lint)
  • Documentation updated (if needed)
  • Commit messages follow convention

Architecture Decisions

For significant changes, consider writing an ADR:
  1. Create a new section in relevant doc
  2. Explain context, decision, and tradeoffs
  3. Link from related documentation

Local Development

Set up your environment