{"id":13493147,"url":"https://github.com/caicloud/nirvana","last_synced_at":"2025-04-12T18:47:56.191Z","repository":{"id":45589921,"uuid":"103636193","full_name":"caicloud/nirvana","owner":"caicloud","description":"Golang Restful API Framework for Productivity","archived":false,"fork":false,"pushed_at":"2023-02-23T05:28:04.000Z","size":17269,"stargazers_count":522,"open_issues_count":18,"forks_count":105,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-04-03T21:12:36.249Z","etag":null,"topics":["cli","engineering","framework","golang","middleware","openapi"],"latest_commit_sha":null,"homepage":"https://caicloud.github.io/nirvana/","language":"Go","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/caicloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-09-15T08:56:03.000Z","updated_at":"2025-02-20T12:45:30.000Z","dependencies_parsed_at":"2022-08-27T21:02:25.390Z","dependency_job_id":"988c672f-4ff9-4858-98c5-987fa424e5eb","html_url":"https://github.com/caicloud/nirvana","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caicloud%2Fnirvana","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caicloud%2Fnirvana/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caicloud%2Fnirvana/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caicloud%2Fnirvana/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caicloud","download_url":"https://codeload.github.com/caicloud/nirvana/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248617835,"owners_count":21134197,"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":["cli","engineering","framework","golang","middleware","openapi"],"created_at":"2024-07-31T19:01:12.704Z","updated_at":"2025-04-12T18:47:56.151Z","avatar_url":"https://github.com/caicloud.png","language":"Go","readme":"# Nirvana\n\n\u003cimg align=\"right\" width=\"225px\" src=\"https://user-images.githubusercontent.com/2191361/35839723-e9e5cdfa-0b2c-11e8-853a-8d3870f9e7ac.png\"\u003e\n\n[![Build Status](https://travis-ci.org/caicloud/nirvana.svg?branch=master)](https://travis-ci.org/caicloud/nirvana)\n[![Coverage Status](https://coveralls.io/repos/github/caicloud/nirvana/badge.svg?branch=master)](https://coveralls.io/github/caicloud/nirvana?branch=master)\n[![GoDoc](http://godoc.org/github.com/caicloud/nirvana?status.svg)](http://godoc.org/github.com/caicloud/nirvana)\n[![Go Report Card](https://goreportcard.com/badge/github.com/caicloud/nirvana)](https://goreportcard.com/report/github.com/caicloud/nirvana)\n[![OpenTracing Badge](https://img.shields.io/badge/OpenTracing-enabled-blue.svg)](http://opentracing.io)\n\nNirvana is a golang API framework designed for productivity and usability. It aims to be the building block for\nall golang services at Caicloud. The high-level goals and features include:\n\n* consistent API behavior, structure and layout across all golang projects\n* improve engineering productivity with openAPI and client generation, etc\n* validation can be added by declaring validation method as part of API definition\n* out-of-box instrumentation support, e.g. metrics, profiling, tracing, etc\n* easy and standard configuration management, as well as standard cli interface\n\nNirvana is also extensible and performant, with the goal to support fast developmenet velocity.\n\n## Getting Started\n\nNirvana provides documentations in two languages to help you expore this framework. Note right now, only Chinese\ndocs are kept up-to-date.\n\n- [中文](https://caicloud.github.io/nirvana/zh-hans)\n- [English (Expired)](https://caicloud.github.io/nirvana/en)\n\nIn addition, [nirvana-practice](https://github.com/caicloud/nirvana-practice) provides a practical way for you\nto get familiar with Nirvana.\n\n## Features\n\n- API Framework based on Descriptors\n- Request Filter\n- Middleware\n- Validator\n- Plugins\n- API Doc Generation\n- Client Generation\n\n## Contributing\n\nIf you are interested in contributing to Nirvana, please checkout [CONTRIBUTING.md](./CONTRIBUTING.md).\nWe welcome any code or non-code contribution!\n\n## Licensing\n\nNirvana is licensed under the Apache License, Version 2.0. See [LICENSE](./LICENSE) for the full license text.\n","funding_links":[],"categories":["Misc","Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaicloud%2Fnirvana","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaicloud%2Fnirvana","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaicloud%2Fnirvana/lists"}