{"id":24164480,"url":"https://github.com/ci-space/protostyle","last_synced_at":"2026-04-16T22:31:01.838Z","repository":{"id":271943034,"uuid":"915001483","full_name":"ci-space/protostyle","owner":"ci-space","description":"protostyle - protolint plugin for lint your team style","archived":false,"fork":false,"pushed_at":"2025-01-15T21:38:03.000Z","size":65,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-15T00:16:24.801Z","etag":null,"topics":["go","grpc","protobuf","protolint"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ci-space.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-10T18:50:18.000Z","updated_at":"2025-02-06T07:36:53.000Z","dependencies_parsed_at":"2025-10-15T00:27:18.492Z","dependency_job_id":"6572d77e-fedc-4a97-abe3-58c6d0de5977","html_url":"https://github.com/ci-space/protostyle","commit_stats":null,"previous_names":["ci-space/proto-style","ci-space/protostyle"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ci-space/protostyle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ci-space%2Fprotostyle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ci-space%2Fprotostyle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ci-space%2Fprotostyle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ci-space%2Fprotostyle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ci-space","download_url":"https://codeload.github.com/ci-space/protostyle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ci-space%2Fprotostyle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31907424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","grpc","protobuf","protolint"],"created_at":"2025-01-12T19:17:26.063Z","updated_at":"2026-04-16T22:31:01.806Z","avatar_url":"https://github.com/ci-space.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# protostyle\n\n[![license](http://img.shields.io/badge/license-MIT-red.svg?style=flat)](https://raw.githubusercontent.com/ci-space/protostyle/master/LICENSE)\n\n**protostyle** - [protolint](https://github.com/yoheimuta/protolint) plugin for lint team style\n\n## Usage\n\n### GitHub Actions\n\nUse [protolint-action](https://github.com/ci-space/protolint-action), contained protostyle\n\n```yaml\njobs:\n  protolint:\n    name: protolint\n    runs-on: ubuntu-latest\n    steps:\n      - name: Check out code\n        uses: actions/checkout@v3\n\n      - name: Run linter\n        uses: ci-space/protolint-action@master\n```\n\n### Locally\n\n#### Download\n\n##### 🐧 Linux AMD64\nDownload [archive](https://github.com/ci-space/protostyle/releases/download/v0.1.0/protostyle-linux-amd64.zip) and extract **protostyle**\n```shell\ncurl -L https://github.com/ci-space/protostyle/releases/download/v0.1.0/protostyle-linux-amd64.zip -o protostyle.zip \u0026\u0026 \\\n  unzip protostyle.zip protostyle\n```\n\n##### 🐧 Linux ARM64\nDownload [archive](https://github.com/ci-space/protostyle/releases/download/v0.1.0/protostyle-linux-arm64.zip) and extract **protostyle**\n```shell\ncurl -L https://github.com/ci-space/protostyle/releases/download/v0.1.0/protostyle-linux-arm64.zip -o protostyle.zip \u0026\u0026 \\\n  unzip protostyle.zip protostyle\n```\n\n##### 🍏 Apple\nDownload [archive](https://github.com/ci-space/protostyle/releases/download/v0.1.0/protostyle-darwin-amd64.zip) and extract **protostyle**\n```shell\ncurl -L https://github.com/ci-space/protostyle/releases/download/v0.1.0/protostyle-darwin-amd64.zip -o protostyle.zip \u0026\u0026 \\\n  unzip protostyle.zip protostyle\n```\n\n##### 🍏 Apple M*\nDownload [archive](https://github.com/ci-space/protostyle/releases/download/v0.1.0/protostyle-darwin-arm64.zip) and extract **protostyle**\n```shell\ncurl -L https://github.com/ci-space/protostyle/releases/download/v0.1.0/protostyle-darwin-arm64.zip -o protostyle.zip \u0026\u0026 \\\n  unzip protostyle.zip protostyle\n```\n\n#### Run\n\nRun **protolint** with **protostyle**:\n```shell\nprotolint lint -plugin ./protostyle .\n```\n\n## Rules\n\n| Rule                                              | Fixable | Description                                                 |\n|---------------------------------------------------|---------|-------------------------------------------------------------|\n| PROTOSTYLE_LIST_MESSAGES_RESOURCE_NAME_PLURALIZED | ✅       | List request/response must have pluralized resource name    |\n| PROTOSTYLE_RPC_WITH_HTTP                          | -       | Method must have http option                                |\n| PROTOSTYLE_RPC_WITHOUT_RESOURCE_NAME              | ✅       | Method must not contain resource name                       |\n| PROTOSTYLE_FIELD_WITH_BEHAVIOR                    | -       | Field must have behavior option (google.api.field_behavior) |\n| PROTOSTYLE_ENUM_IN_FILE_END                       | -       | Enum must be in file end                                    |\n| PROTOSTYLE_COMMENT_ENDS_DOT                       | ✅       | The comment must end with a dot                             |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fci-space%2Fprotostyle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fci-space%2Fprotostyle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fci-space%2Fprotostyle/lists"}