{"id":15091538,"url":"https://github.com/chiiya/comet","last_synced_at":"2025-10-06T11:30:31.207Z","repository":{"id":57103485,"uuid":"162141515","full_name":"chiiya/comet","owner":"chiiya","description":" ☄️ DL agnostic testing and documentation for RESTful APIs","archived":true,"fork":false,"pushed_at":"2020-10-15T14:05:35.000Z","size":2382,"stargazers_count":0,"open_issues_count":23,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T02:12:30.432Z","etag":null,"topics":["api","api-blueprint","comet","documentation","open-api","raml","rest","swagger","testing"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chiiya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-17T14:18:46.000Z","updated_at":"2023-01-28T00:21:51.000Z","dependencies_parsed_at":"2022-08-20T19:40:14.641Z","dependency_job_id":null,"html_url":"https://github.com/chiiya/comet","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chiiya%2Fcomet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chiiya%2Fcomet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chiiya%2Fcomet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chiiya%2Fcomet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chiiya","download_url":"https://codeload.github.com/chiiya/comet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235027931,"owners_count":18924624,"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":["api","api-blueprint","comet","documentation","open-api","raml","rest","swagger","testing"],"created_at":"2024-09-25T10:41:42.209Z","updated_at":"2025-10-06T11:30:30.676Z","avatar_url":"https://github.com/chiiya.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://i.postimg.cc/1RYn00Tg/comet-logo.png\" alt=\"Comet\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cstrong\u003eAutomated testing and documentation for RESTful APIs.\u003c/strong\u003e\u003c/p\u003e\n\n**Notice:** This package is still in early development and not intended for usage. Check out \nthe [roadmap](https://changemap.co/chiiya/comet/) for more information.\nTo test parser functionality, call:\n```bash\nnpx comet make:documentation examples/(blueprint.apib)|(openapi.yml)|(raml/api.raml)\n```\nThis will create a `result.json` file with the resulting model tree.\n\n## Index\n\u003cpre\u003e\n\u003ca href=\"#usage\"\n\u003e\u003e Usage .....................................................................\u003c/a\u003e\n\u003ca href=\"#configuration\"\n\u003e\u003e Configuration .............................................................\u003c/a\u003e\n\u003ca href=\"#examples\"\n\u003e\u003e Examples ..................................................................\u003c/a\u003e\n\u003ca href=\"#setup\"\n\u003e\u003e Setup .....................................................................\u003c/a\u003e\n\u003c/pre\u003e\n\n## Usage\nCurrently, the following commands are available:\n#### Make Schemas\n`comet make:schemas` will generate valid JSON-Schema definitions for all requests and responses.\n#### Make Tests\n`comet make:tests` will generate integration tests for all endpoints and parameter combinations for the Laravel framework.\n#### Make Postman\n`comet make:postman` will generate a Postman Collection for your API.\n#### Make Documentation\n`comet make:documentation` will generate an API documentation.\n\nFor usage, see the [core package](https://github.com/chiiya/comet/tree/master/packages/core).\n\n## Configuration\nComet can be configured in many ways:\n- `comet` key in your `package.json`\n- `.cometrc` in JSON or YAML format\n- `.cometrc.json`\n- `.cometrc.yml`\n- `.cometrc.toml`\n\nThe default configuration (in `.cometrc.toml`) looks like the following:\n\n```toml\n[default]\n# No default adapter configured. Instead, we will try to auto-detect the input format.\n# adapter = \"@comet-cli/adapter-openapi\"\n\n[adapters.api-blueprint]\nungroup_root = false # Will un-group resource groups in API Blueprint named `Root`\n\n[plugins.postman]\noutput = \"./\"\ngroup_by = \"resources\" # Other options are: `tags`, `trie`\nflatten = false # Flatten first level of trie\n\n[plugins.json-schemas]\noutput = \"./\"\n\n[plugins.tests-laravel]\noutput = \"./\"\nbase_url = \"/api\" # Base URL prepended to resources for test calls\n\n[plugins.documentation]\noutput = \"./\"\ngroup_by = \"resources\" # Other options are: `tags`, `trie`\nflatten = false # Flatten first level of trie\ntheme = \"@comet-cli/theme-nucleus\"\n# template = \"src/index.template.html\" - Custom base template\n# css = \"src/css/main.css\" - Custom, additional CSS\n  [plugins.documentation.data]\n  title = \"API Reference\"\n  # description = \"API Reference for XYZ\" - Custom description metadata\n  asset_src = \"\" # Change to reflect your asset file source path, e.g. \"/\"\n```\n\n## Examples\nExample specifications in OpenAPI, RAML and API Blueprint format with instructions for compilation can be found under the \n`examples` folder. For an example laravel project check out [comet-demo](https://github.com/chiiya/comet-demo). You can \nfind the generated test cases in the `tests/Comet` folder.\n\n## About\nComet takes an API specification in any input format, converts it to its own internal API model, and then executes a bunch of\ntasks based on that model. The advantages are obvious: we have a model that is optimized for automated processing \n(information is always in exactly one place, everything is expanded, etc.), plus we can write code once and support all\ninput formats. All commands in **comet** have the same structure:\n\n![architecture.png](https://i.postimg.cc/1zzJBsxV/architecture.png)\n\nEvery command resolves its adapter and plugins at runtime from the user configuration, executes the adapter to transform \nthe input into our own model and then executes a list of plugins, in order.  \nType definitions for both the internal API model as well as the interfaces for adapters and plugins are available \nin the `@comet-cli/types` package.\n\n## Setup\nComet is set up as a monorepo using lerna and yarn workspaces. \n\n### Requirements\n```bash\nnode # \u003e=8.0.0\nyarn\n```\n\n### Installation\n```bash\n$ git clone https://github.com/chiiya/comet\n$ cd comet\n$ make bootstrap\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchiiya%2Fcomet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchiiya%2Fcomet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchiiya%2Fcomet/lists"}