easyp
EasyP
Modern Protocol Buffers toolkit for streamlined development workflows
The CLI is a comprehensive tool for working with Protocol Buffers. It provides:
- A linter that enforces good API design choices and structure
- A breaking change detector that ensures compatibility at the source code level
- A generator that invokes plugins based on configuration files
- A package manager with Git-based dependency management
- Integration with remote plugins for consistent, isolated execution
Installation
Homebrew
You can install using Homebrew (macOS or Linux):
Go Install
Other methods
For other installation methods, see our official documentation, which covers:
- Installing
via npmeasyp - Using
as a Docker imageeasyp - Installing as a binary from GitHub Releases
Quick Start
Usage
EasyP's help interface provides summaries for commands and flags:
For comprehensive usage information, consult EasyP's documentation, especially these guides:
- What is EasyP? - Overview and key concepts
- Code linting and validationeasyp lint- Breaking change detectioneasyp breaking- Package managementeasyp mod- Code generationeasyp generate- Validateeasyp validate-configstructure and types (JSON or text output)easyp.yaml- Global flag:
/ env--format, -f(EASYP_FORMATortext) for commands that support formatted outputjson
Key Features
- 🔍 Comprehensive Linting - Built-in support for buf's linting rules with customizable configurations
- 📦 Smart Package Manager - Git-based dependency management with lock file support
- ⚡ Code Generation - Multi-language generation with local and remote plugin support
- 🔄 Breaking Change Detection - Automated API compatibility verification against Git branches
- 🌐 Remote Plugin Support - Execute plugins via centralized EasyP API service
- 🎯 Developer Experience - Auto-completion, intuitive commands, and clear error messages
Why choose EasyP over buf.build?
While buf.build provides excellent protobuf tooling, EasyP offers several key advantages:
| Feature | EasyP | buf.build |
|---|---|---|
| Dependencies | Any Git repository | Buf Schema Registry (BSR) required |
| Vendor Lock-in | None | Tied to BSR for full features |
| Plugin Execution | Local + Remote plugins | local + BSR |
| Enterprise | Works with existing Git infrastructure | Requires BSR setup |
Key Benefits:
- No infrastructure changes: Use your existing Git repositories for proto dependencies
- Enhanced flexibility: Execute plugins both locally and remotely for consistent results
- Simplified configuration: Single file for all protobuf operations
- Full buf compatibility: Drop-in replacement with familiar rule sets and configuration
Our goals for Protobuf
EasyP's goal is to make Protocol Buffers development more accessible and reliable by providing a unified toolkit that eliminates the complexity of traditional protobuf workflows. We've built on the proven foundation of Protocol Buffers and buf's excellent design principles to create a modern development experience.
While Protocol Buffers offer significant technical advantages over REST/JSON, actually using them has traditionally been more challenging than necessary. EasyP aims to change that by consolidating the entire protobuf workflow into a single, intuitive tool with Git-native dependency management and both local and remote plugin execution.
Configuration
EasyP uses a single file for all configuration:
Config Schema Integration
The source of truth for config schema + MCP tool metadata lives in .
- Go integration: import
and callgithub.com/easyp-tech/easyp/mcp/easypconfig/RegisterTool(...).Describe(...) - Cross-language integration: consume generated JSON Schema artifacts in
andschemas/easyp-config-v1.schema.json.schemas/easyp-config.schema.json - Regenerate artifacts:
(ortask schema:generate).go run ./cmd/easyp schema-gen
Community
For help and discussion around EasyP and Protocol Buffers best practices:
- 📖 Documentation - Comprehensive guides and API reference
- 💬 Telegram Chat - Community discussion and support
- 🐛 GitHub Issues - Bug reports and feature requests
- ✉️ Contact - Direct contact for enterprise support
Next steps
Once you've installed , we recommend completing the Quick Start tutorial, which provides a hands-on overview of the core functionality. The tutorial takes about 10 minutes to complete.
After completing the tutorial, check out the documentation for your specific areas of interest.
License
EasyP is released under the Apache License 2.0.
Built with ❤️ for the Protocol Buffers community