karma-plus-plus
guardrail
karma-plus-plus | guardrail | |
---|---|---|
1 | 2 | |
0 | 513 | |
- | 0.6% | |
0.0 | 9.3 | |
almost 3 years ago | 5 days ago | |
Scala | Scala | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
karma-plus-plus
-
karma++;
If you have any issues report, feature suggestions, please raise a ticket at https://github.com/IvannKurchenko/karma-plus-plus
guardrail
-
Ask HN: Why is there no specification for Command Line Interfaces?
What's the use case? I was thinking about this exact issue because my product ships several CLI tools, but I wasn't convinced it would be worth the effort.
An OpenAPI specification describes an HTTP interface, and I see it as useful because it makes it easier to write code in language-of-choice to generate HTTP requests (by generating client libraries from the OpenAPI spec).
For a CLI, the interface is the command-line. Usually people type these commands, or they end up in bash scripts, or sometimes they get called from programming language of choice by shelling out to the CLI. So I could see a use case for a CLI spec, which would make it easier to generate client libraries (which would shell out to the CLI)... but it seems a little niche.
Or maybe, as input to a documentation tool (like Swagger docs). I would imagine if you're using a CLI library like Python's Click, most of that data is already there. Click Parameters documentation: https://click.palletsprojects.com/en/8.1.x/parameters/
Or maybe, you could start from the spec and then generate code which enforces it. So any changes pass through the spec, which would make it easy to write code (server and client-side) / documentation / changelogs. Some projects like this: Guardrail (Scala) https://github.com/guardrail-dev/guardrail , and Connexion (Python) https://github.com/spec-first/connexion .
But without this ecosystem of tooling, documenting your CLI in a specification didn't really seem worth the effort. Of course, that's a bootstrapping problem.
-
Scala Library To Generate Case Classes for JSON
You may have some luck with Guardrail https://github.com/guardrail-dev/guardrail/
What are some alternatives?
fs2-es - Event sourcing utilities for FS2
typespec
graalnative4s - Employ Scala for serverless applications
natchez-akka-http - A tiny integration library between Natchez and Akka Http
scala-pet-store - An implementation of the java pet store using FP techniques in scala
scala-jsonschema - Scala JSON Schema
pfps-shopping-cart - :shopping_cart: The Shopping Cart application developed in the book "Practical FP in Scala: A hands-on approach"
rad4s - A set of utilities to speed up rendering, storage, testing, and prototyping, especially for http4s
tapir - Declarative, type-safe web endpoints library
iron-cats-example - An example project using Iron & Cats
circe - Yet another JSON library for Scala
connexion - Connexion is a modern Python web framework that makes spec-first and api-first development easy.