https://github.com/syncromatics/idl-repository
A repository and command line interface for storing and fetching interface definitions in various formats.
https://github.com/syncromatics/idl-repository
Last synced: 2 months ago
JSON representation
A repository and command line interface for storing and fetching interface definitions in various formats.
- Host: GitHub
- URL: https://github.com/syncromatics/idl-repository
- Owner: syncromatics
- License: mit
- Created: 2019-06-21T22:14:32.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2020-04-03T21:41:02.000Z (almost 6 years ago)
- Last Synced: 2024-06-20T01:55:22.705Z (almost 2 years ago)
- Language: Go
- Homepage:
- Size: 53.7 KB
- Stars: 9
- Watchers: 12
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Interface Definition Language Repository (idl-repository)
A repository and command line interface (CLI) for storing and fetching interface definitions in various formats. ([Protocol Buffers][protobuf], [Avro][avro], [OpenAPI][openapi], etc.)
[protobuf]: https://developers.google.com/protocol-buffers/
[avro]: https://avro.apache.org/
[openapi]: https://swagger.io/docs/specification/about/
## Quickstart
### Initialize a project for the first time
Initializing a project creates a new `idl.yaml` file with the project name and repository URL.
```bash
idl init my-project http://idl-repository.example.com
```
Read more about [`idl init`][idl-init].
### Pull dependencies into your project
Pull IDLs into your project.
```bash
idl pull
```
Read more about [`idl pull`][idl-pull].
### Push project to the repository
Push IDLs in your project to the configured repository.
```bash
idl push
```
Read more about [`idl push`][idl-push].
### Documentation
Read the full documentation for [`idl`][idl].
Read the full documentation for the repository service, [`idl-repository`][idl-repository].
[idl]: docs/idl/idl.md
[idl-init]: docs/idl/idl_init.md
[idl-pull]: docs/idl/idl_pull.md
[idl-push]: docs/idl/idl_push.md
[idl-repository]: docs/idl-repository/idl-repository.md
### Docker image
If you want to run `idl` inside a Docker container, you can do so:
```bash
docker run --rm -v $PWD:/data syncromatics/idl:__VERSION__ --help
```
Where `__VERSION__` is a valid tag from the [syncromatics/idl](https://hub.docker.com/r/syncromatics/idl/) Docker repository
## Building
[](https://travis-ci.org/syncromatics/idl-repository)
[](https://hub.docker.com/r/syncromatics/idl-repository/)
[](https://hub.docker.com/r/syncromatics/idl/)
You'll need Docker to build the Docker image for the repository.
Download dependencies
```bash
go get -t -v ./...
```
Build the CLI and repository server
```bash
make build
```
## Code of Conduct
We are committed to fostering an open and welcoming environment. Please read our [code of conduct](CODE_OF_CONDUCT.md) before participating in or contributing to this project.
## Contributing
We welcome contributions and collaboration on this project. Please read our [contributor's guide](CONTRIBUTING.md) to understand how best to work with us.
## License and Authors
[ GMV Syncromatics Engineering](https://github.com/syncromatics)
[](https://github.com/syncromatics/idl-repository/blob/master/LICENSE)
[](https://github.com/syncromatics/idl-repository/graphs/contributors)
This software is made available by GMV Syncromatics Engineering under the MIT license.