All Projects → googleapis → Api Linter

googleapis / Api Linter

Licence: apache-2.0
A linter for APIs defined in protocol buffers.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Api Linter

Coax
A (barely working) native Wire client for Unix
Stars: ✭ 77 (-60.91%)
Mutual labels:  experimental
Thismypc
ThisMyPC provides a neat web interface that can be used for browsing your desktop drives from any device in your browser itself. With the help of NodeJs, the file details are displayed in JSON format that can then we easily displayed in web browsers.
Stars: ✭ 128 (-35.03%)
Mutual labels:  experimental
Goluago
[on hold] Port of Lua 5.1 interpreter to Go Language Toolchain. [Work In Progress.] See also: http://lua.org and http://golang.org
Stars: ✭ 177 (-10.15%)
Mutual labels:  experimental
Go Tls
A bit safer approach to implement Thread Local Storage (TLS) for Go 1.7+.
Stars: ✭ 104 (-47.21%)
Mutual labels:  experimental
Pepper
🌶️ Create reactive frontends without ever writing frontend code.
Stars: ✭ 109 (-44.67%)
Mutual labels:  experimental
Alma
ALgoloid with MAcros -- a language with Algol-family syntax where macros take center stage
Stars: ✭ 132 (-32.99%)
Mutual labels:  experimental
Made With Love
🚀 An experimental project which demonstrates an Angular Package which contains Angular Elements and Schematics
Stars: ✭ 67 (-65.99%)
Mutual labels:  experimental
Bitglitter
⚡ Embed data payloads inside of ordinary images or video with high-performance animated 2-D barcodes. (Python library)
Stars: ✭ 193 (-2.03%)
Mutual labels:  experimental
Simple
The Simple Intelligent and Modular Programming Language and Environment
Stars: ✭ 120 (-39.09%)
Mutual labels:  experimental
Ddc
The Disco Discus Compiler
Stars: ✭ 164 (-16.75%)
Mutual labels:  experimental
Google Auth Library Swift
Auth client library for Swift command-line tools and cloud services. Supports OAuth1, OAuth2, and Google Application Default Credentials.
Stars: ✭ 105 (-46.7%)
Mutual labels:  experimental
2d Unity Experiments
A collection of visual Unity experiments with latest packages (URP, Shader Graph, Cinemachine, etc).
Stars: ✭ 107 (-45.69%)
Mutual labels:  experimental
Minet
CVPR2020, Multi-scale Interactive Network for Salient Object Detection
Stars: ✭ 155 (-21.32%)
Mutual labels:  experimental
Essential Youtube
An experimental UI for YouTube.
Stars: ✭ 99 (-49.75%)
Mutual labels:  experimental
Vue Hooks Foodapp
A food app using a few hooks in Vue to show how they can work (experimental)
Stars: ✭ 179 (-9.14%)
Mutual labels:  experimental
Godot Scraps
Experimental projects for learning the Godot engine
Stars: ✭ 76 (-61.42%)
Mutual labels:  experimental
Rhisis
Rhisis is an experimental FlyFF MMORPG emulator built with C# 9 and .NET 5
Stars: ✭ 132 (-32.99%)
Mutual labels:  experimental
Sapling
A highly experimental vi-inspired editor where you edit code, not text.
Stars: ✭ 195 (-1.02%)
Mutual labels:  experimental
Jpeg Compressor
Research JPEG encoder
Stars: ✭ 179 (-9.14%)
Mutual labels:  experimental
Lisp Chat
An experimental minimal chat written in Common Lisp
Stars: ✭ 160 (-18.78%)
Mutual labels:  experimental

Google API Linter

ci latest release go version

The API linter provides real-time checks for compliance with many of Google's API standards, documented using API Improvement Proposals. It operates on API surfaces defined in protocol buffers.

It identifies common mistakes and inconsistencies in API surfaces:

// Incorrect.
message GetBookRequest {
  // This is wrong; it should be spelled `name`.
  string book = 1;
}

When able, it also offers a suggestion for the correct fix.

Read more ≫

Versioning

The Google API linter does not follow semantic versioning. Semantic versioning is challenging for a tool like a linter because the addition or correction of virtually any rule is "breaking" (in the sense that a file that previously reported no problems may now do so).

Therefore, the version numbers refer to the linter's core interface. In general:

  • Releases with only documentation, chores, dependency upgrades, and/or bugfixes are patch releases.
  • Releases with new rules (or potentially removed rules) are minor releases.
  • Releases with core interface alterations are major releases. This could include changes to the internal Go interface or the CLI user interface.

Note: Releases that increment the Go version will be considered minor.

This is an attempt to follow the spirit of semantic versioning while still being useful.

License

This software is made available under the Apache 2.0 license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].