Skip to content

googleworkspace/developer-tools

Google Workspace Developer Tools

Build Status Release Status Apache 2.0 License

A collection of developer tools to enhance your Google Workspace development experience. This monorepo contains extensions, utilities, and resources designed to streamline development workflows for Google Workspace APIs and integrations.

🚀 Quick Start

VS Code Extension

Get intelligent OAuth2 scope linting and enhanced development tools directly in your editor:

Install from Visual Studio Code:

  1. Open the Extensions view (Ctrl+Shift+X or Cmd+Shift+X)
  2. Search for "Google Workspace Developer Tools"
  3. Click Install

Or install via command line:

code --install-extension google-workspace.google-workspace-developer-tools

Marketplaces:

Gemini CLI Extension

If you have the gemini command-line tool installed:

gemini extensions install \
  "https://github.com/googleworkspace/developer-tools"

📦 Packages

VS Code Extension (packages/vscode-extension)

A comprehensive VS Code extension providing:

  • OAuth2 Scope Linting: Automatic warnings and suggestions for Google Workspace OAuth2 scopes in your code
    • Validates scope URLs against the official Google API registry
    • Highlights restricted and sensitive scopes
    • Provides hover documentation with scope descriptions and API associations
  • MCP (Model Context Protocol) Server: Integrated support for enhanced AI-powered development tools

Learn more →

🛠️ Development

This is a monorepo managed with pnpm and Turbo.

Prerequisites

  • Node.js (v18 or later recommended)
  • pnpm (npm install -g pnpm)

Setup

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

# Lint and format code
pnpm lint

# Watch mode for development
pnpm --filter google-workspace-developer-tools dev

Project Structure

├── packages/
│   └── vscode-extension/     # VS Code extension
├── turbo.json                # Turbo build configuration
└── pnpm-workspace.yaml       # pnpm workspace configuration

🤝 Contributing

We welcome contributions! Whether it's bug reports, feature requests, or code contributions, please check out our contributing guidelines to get started.

Ways to Contribute

  • 🐛 Report bugs and issues
  • 💡 Suggest new features or improvements
  • 📝 Improve documentation
  • 🔧 Submit pull requests

💬 Support

If you have questions or encounter issues:

  • 📋 File an issue on GitHub
  • 💡 Check existing issues for solutions
  • 📚 Review the documentation in each package

📄 License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.


Made with ❤️ for the Google Workspace developer community