{"id":18973343,"url":"https://github.com/cyangle/crystal_client_generator","last_synced_at":"2026-04-07T22:30:17.399Z","repository":{"id":38461422,"uuid":"429278964","full_name":"cyangle/crystal_client_generator","owner":"cyangle","description":" openapi-generator templates for crystal client","archived":false,"fork":false,"pushed_at":"2024-09-07T20:37:33.000Z","size":2408,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-01T08:41:44.049Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Mustache","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyangle.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2021-11-18T03:09:14.000Z","updated_at":"2024-09-07T20:37:35.000Z","dependencies_parsed_at":"2024-11-08T15:12:00.483Z","dependency_job_id":"f156e758-ea78-4d77-95c9-886c5d1d640e","html_url":"https://github.com/cyangle/crystal_client_generator","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyangle%2Fcrystal_client_generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyangle%2Fcrystal_client_generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyangle%2Fcrystal_client_generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyangle%2Fcrystal_client_generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyangle","download_url":"https://codeload.github.com/cyangle/crystal_client_generator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239970678,"owners_count":19727014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-08T15:11:49.112Z","updated_at":"2026-04-07T22:30:17.342Z","avatar_url":"https://github.com/cyangle.png","language":"Mustache","funding_links":[],"categories":[],"sub_categories":[],"readme":"# crystal_client_generator\nCustom OpenAPI Generator templates for generating crystal client libraries.\n\n## What is OpenAPI Generator\n[OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (only 3.0 is supported).\n\nOpenAPI Generator supports [User-defined Templates](https://github.com/OpenAPITools/openapi-generator/blob/master/docs/customization.md#user-defined-templates).\n\n`crystal_client_generator` provides custom OpenAPI Generator templates for generating crystal client libraries.\n\nThis readme is for version 0.3.1\n\n## Usage\n\nYou need to have docker installed first with instructions from [here](https://docs.docker.com/get-docker/).\n\nRun script `bin/generate.sh` from project root directory to generate the crystal client library.\n\n`bin/generate.sh` runs OpenAPI Generator from inside a docker container, and mounts project root directory to `/gen` in the container, so you need to specify path arguments relative to project root.\n\nYou can place your OpenAPI specification file in folder `local/`, and generate the output to a subfolder in `out/`.\n\nFiles and folders under `local/` and `out/` are ignored by git.\n\nExample command to generate google_drive library with api spec file `example_api_specs/google-drive-api-v3-oas3.json`.\n\n```sh\n./bin/generate.sh \\\n  -i example_api_specs/google-drive-api-v3-oas3.json \\\n  -o out/google_drive \\\n  --additional-properties=shardName=google_drive,moduleName=GoogleDrive,shardLicense=MIT,shardVersion=3.0.0,shardAuthors=cyangle,shardDescription=Google\\ Drive\\ V3\\ API\\ Client\n```\n\nThe generated code would be written to `out/google_drive`.\n\n## SDKs generated with this repo\n\n[Twilio](https://github.com/cyangle/twilio)\n\n[Google Drive V3](https://github.com/cyangle/google_drive)\n\n[Google Cloud Storage V1](https://github.com/cyangle/google_cloud_storage)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyangle%2Fcrystal_client_generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyangle%2Fcrystal_client_generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyangle%2Fcrystal_client_generator/lists"}