{"id":14006771,"url":"https://github.com/AndrewWalsh/at-your-service","last_synced_at":"2025-07-24T00:32:10.749Z","repository":{"id":63101032,"uuid":"564572432","full_name":"AndrewWalsh/at-your-service","owner":"AndrewWalsh","description":"Generate OpenAPI 3.1 specifications from network requests in browser environments","archived":true,"fork":false,"pushed_at":"2025-03-19T04:24:45.000Z","size":42564,"stargazers_count":17,"open_issues_count":5,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-08T13:02:45.978Z","etag":null,"topics":["api","api-documentation","codegen","generation","openapi","openapi31","proxy","rest"],"latest_commit_sha":null,"homepage":"https://atyourservice.awalsh.io/","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/AndrewWalsh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING","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":"2022-11-11T02:02:37.000Z","updated_at":"2025-04-09T10:23:07.000Z","dependencies_parsed_at":"2024-12-01T08:01:03.407Z","dependency_job_id":null,"html_url":"https://github.com/AndrewWalsh/at-your-service","commit_stats":{"total_commits":178,"total_committers":3,"mean_commits":"59.333333333333336","dds":0.0337078651685393,"last_synced_commit":"cf4f3a82df5f6ec65fd946d29f17f62d60bfab03"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AndrewWalsh/at-your-service","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewWalsh%2Fat-your-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewWalsh%2Fat-your-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewWalsh%2Fat-your-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewWalsh%2Fat-your-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndrewWalsh","download_url":"https://codeload.github.com/AndrewWalsh/at-your-service/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrewWalsh%2Fat-your-service/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266774771,"owners_count":23982246,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-documentation","codegen","generation","openapi","openapi31","proxy","rest"],"created_at":"2024-08-10T10:01:37.834Z","updated_at":"2025-07-24T00:32:10.737Z","avatar_url":"https://github.com/AndrewWalsh.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n[![MIT License][license-shield]][license-url]\n\u003ca href=\"https://www.npmjs.com/package/at-your-service\"\u003e\u003cimg alt=\"npm\" src=\"https://img.shields.io/npm/v/at-your-service?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003ca href=\"https://atyourservice.awalsh.io/\"\u003e\u003cimg alt=\"npm\" src=\"https://img.shields.io/badge/View%20-Live%20Demo-422662?style=for-the-badge\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://github.com/AndrewWalsh/at-your-service/actions\"\u003e\u003cimg alt=\"npm\" src=\"https://github.com/AndrewWalsh/at-your-service/actions/workflows/node.js.yml/badge.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://codeclimate.com/github/AndrewWalsh/at-your-service/test_coverage\"\u003e\u003cimg src=\"https://api.codeclimate.com/v1/badges/56fa1f99da7509735cee/test_coverage\" /\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/AndrewWalsh/at-your-service\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/AndrewWalsh/at-your-service/main/resources/logo-floor.png\" alt=\"Logo\"\u003e\n  \u003c/a\u003e\n\n  \u003cbr /\u003e\n  \u003ch2 align=\"center\"\u003eat-your-service\u003c/h2\u003e\n  \u003cbr /\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003cblockquote\u003e\n        A developer tool for API observability on the browser. Generate OpenAPI specifications and code from network traffic\n        \u003cbr /\u003e\n        \u003cbr /\u003e\n        Designed for ease of use. No need to integrate with existing code\n      \u003c/blockquote\u003e\n      \u003cbr /\u003e\n      \u003cbr /\u003e\n      \u003ca href=\"https://atyourservice.awalsh.io/\"\u003eView the Live Demo\u003c/a\u003e\n      \u003cbr /\u003e\n      \u003cbr /\u003e\n      \u003ca href=\"https://github.com/AndrewWalsh/at-your-service/issues\"\u003eReport Bug\u003c/a\u003e\n      ·\n      \u003ca href=\"https://www.npmjs.com/package/at-your-service\"\u003eView on npm\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\u003chr /\u003e\n\u003cbr /\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\n\u003cdetails open\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project-and-why\"\u003eAbout the Project and Why\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#how-it-works\"\u003eHow It Works\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#limitations\"\u003eLimitations\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n    \u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003cbr /\u003e\n\n\u003c!-- ABOUT THE PROJECT AND WHY --\u003e\n\n## About the Project and Why\n\n\u003ca href=\"https://atyourservice.awalsh.io/\"\u003e\u003cimg alt=\"npm\" src=\"https://img.shields.io/badge/View%20-Live%20Demo-422662\"\u003e\u003c/a\u003e\n\n\nThis tool is designed to help tackle problems that arise from a lack of awareness on API behaviour.\n\nIt records network requests under the hood using a service worker proxy. As the tool makes observations of network traffic over time, it learns the structure of the underlying API.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- FEATURES --\u003e\n\n## Features\n\n- **Spec gen**: autogenerate [OpenAPI 3.1](https://www.openapis.org/blog/2021/02/18/openapi-specification-3-1-released) specifications from network traffic\n- **Code gen**: [convert](https://github.com/quicktype/quicktype) network response bodies into code for 10+ languages including TypeScript, Python, and JSON Schema\n- **API Observability**: explore the network layer with enhanced tooling\n- **Easy installation**: designed to plug in and go with an existing application\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting Started\n\n`at-your-service` features a CLI tool that places its service worker file into a directory. You likely wish to place this in `public` or `static`. See [more information here](https://mswjs.io/docs/getting-started/integrate/browser#where-is-my-public-directory) on common locations for static files.\n\nThe service worker must be served from the root of your site. Once this is installed run the start script in your application code.\n\n1. Install the npm package\n   ```sh\n   npm install -D at-your-service@latest\n   ```\n2. Add service worker to your `public`, `static`, or otherwise root directory\n   ```sh\n   npx at-your-service@latest \u003cdirectory\u003e\n   ```\n3. Run the start script in your application\n\n   ```ts\n   import { startAtYourService } from \"at-your-service\";\n\n   startAtYourService();\n   ```\n\n4. A button to open the drawer will be visible on your site\n5. You can view copied OpenAPI 3.1 specifications in [editor-next.swagger.io](https://editor-next.swagger.io/). At the time of writing, you need to manually change the version from `3.1.0` to `3.0.0` after pasting the specification. Support for the new version of the specifcation is an ongoing process\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- HOW IT WORKS --\u003e\n\n## How It Works\n\nMore information on the rationale, functionality, and architecture of the tool [can be found here](https://awalsh.io/posts/developer-tool-api-discovery-observability-frontend/).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## Contributing\n\nA development environment exists in `demo`, which when built is the landing page for the library.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LIMITATIONS --\u003e\n\n## Limitations\n\nThe library creates specifications that are only as accurate as the underlying observations. If your application relies on a response body that has not been observed, then type information for it will not be available.\n\nOverall the intent is to produce a *best guess* that reveals API behaviour. This will never be a replacement for proper documentation.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/AndrewWalsh/at-your-service.svg?style=for-the-badge\n[contributors-url]: https://github.com/AndrewWalsh/at-your-service/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/AndrewWalsh/at-your-service.svg?style=for-the-badge\n[forks-url]: https://github.com/AndrewWalsh/at-your-service/network/members\n[stars-shield]: https://img.shields.io/github/stars/AndrewWalsh/at-your-service.svg?style=for-the-badge\n[stars-url]: https://github.com/AndrewWalsh/at-your-service/stargazers\n[issues-shield]: https://img.shields.io/github/issues/AndrewWalsh/at-your-service.svg?style=for-the-badge\n[issues-url]: https://github.com/AndrewWalsh/at-your-service/issues\n[license-shield]: https://img.shields.io/github/license/AndrewWalsh/at-your-service.svg?style=for-the-badge\n[license-url]: https://github.com/AndrewWalsh/at-your-service/blob/master/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAndrewWalsh%2Fat-your-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAndrewWalsh%2Fat-your-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAndrewWalsh%2Fat-your-service/lists"}