add-oas-support
Skill29k starsChanged 6 days agoApache-2.0View on GitHub
Adds support for a new OpenAPI Specification version to Swagger UI (patch, minor such as 3.3, or major such as 4.0) in phases that keep every pull request reviewable - an investigation that diffs the new version's Fixed Fields tables against the previous version (bundled script) into a field map with a backward-compatibility classification; a basic-support PR that gives new-version documents everything the previous version had and nothing new; then one PR per new feature and per breaking change. Checks swagger-client/ApiDOM prerequisites first and gates every PR with lint, unit, Playwright, build, coverage, convention and URL checks plus a fresh-context spec review. Use whenever someone wants Swagger UI to support, render or detect an OpenAPI version, plan or continue that work, asks what changed between OAS versions and what it means for Swagger UI, or wants one new field of a recent version implemented (e.g. "render itemSchema"), even if they don't name this skill.
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 3 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 29
Basic support adds no new feature: If a new-version document would break without some change, that change is part of parity (below).
- Very specific: line 40
Run from the repository root: node .claude/skills/add-oas-support/scripts/<script> --help.
- Very specific: line 84
Not installed, but released: PR 1 bumps swagger-client to the first release that ships the strategy (references/integration-points.md).
- Very specific: line 87
Not released: stop before PR 1.
- Very specific: line 93
Resume or start: If ADD-OAS-{X.Y}.md exists at the repo root, read it: it holds the field map, the PR plan and the gate log.
- Distinctive: line 143
Add rows for the prose changes of step 2.
- Very specific: line 179
Read references/plugin-patterns.md and references/integration-points.md first.
- Very specific: line 224
Read data that may come from a $ref through specJsonWithResolvedSubtrees, not specJson.
- Distinctive: line 232
If the PR grows a second feature, split it.
- Very specific: line 254
Run /review-spec-support in a fresh subagent that gets only the spec version, the branch and this PR's rows, so it reviews against the spec …
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Add OpenAPI Specification Version Support
A new OAS version reaches users through stacked work: ApiDOM namespaces, a swagger-client resolve strategy, then Swagger UI. This skill covers Swagger UI, in phases sized for review.
| Phase | Output | PR |
| 0 Prerequisites | the version is released and swagger-client can resolve it | - |
| 1 Investigation | ADD-OAS-{X.Y}.md: version diff, field map, compatibility, one PR per feature | - (user checkpoint) |
| 2 Basic support | documents of the new version get everything the previous version had | PR 1 |
| 3 Features | one PR per new feature, per changed field and (major) per breaking change | PR 2..n |
Why phases: the OAS 3.2 "basic support" PR (#10721) was 55 files and 2,858 added lines because it
also shipped the QUERY method, styles and docs, and drew 14 review comments; additionalOperations
(#11090) was 31 files and 2,445 lines, most of them a rewrite of a shared test fixture
(test/unit/core/plugins/spec/assets/petstore.json). The single-feature itemSchema PR
(#11099) was 8 files and 305 lines. Reviewers can check a PR against the spec only when it holds
one thing.
Rules for every phase
- A phase starts when the previous one is complete. Phase 1 is complete when the user confirmed the plan; PR 1 when it's open (feature branches stack on it) or merged.
- Basic support adds no new feature. If a new-version document would break without some change, that change is part of parity (below); everything else waits for its own PR.
- One feature per PR. A feature is one field-map row, or rows the spec defines as one unit that can't ship apart (a new object and the field that introduces it, a new OAuth flow and its URL field). Record why rows are grouped. A refactor or a shared-fixture rewrite that a feature needs is its own PR before the feature.
- The defect classes past reviews kept finding are in
references/review-lessons.md; the gates exist to catch them in the PR that introduces them.
Bundled Tools
Run from the repository root: node .claude/skills/add-oas-support/scripts/<script> --help.
| Tool | Use |
scripts/diff-spec-versions.mjs <old> <new> [--rename "A Object=B Object"] | Phase 1. Field-level diff of two versions' Fixed/Patterned Fields tables (fetched by version number or read from files): NEW, REMOVED (with a "moved?" hint), CHANGED-TYPE, CHANGED-REQUIRED, REVIEW (description changed; added and removed value tokens listed), as a draft field map. |
scripts/check-field-coverage.mjs <tracking-doc> --plugin <dir> [--scope "PR n"] | Every in-scope NEW / CHANGED-TYPE / MOVED row appears in source, a test and a fixture; --scope limits it to one PR's rows. A hit is not proof of correct rendering; a miss is proof of a gap. Generic names (in, kind, parent) need a manual check. |
scripts/check-plugin-conventions.mjs [--base main] | Branch diff: committed build output (DIST), new .js/.jsx (NOT-TS), missing @prettier (PRAGMA), plugin importing another plugin (CROSS-IMPORT), inline isOAS3x() guards (HAND-GUARD, warning), shared files touched (CORE-TOUCH, note). Whole tree: DIALECT, PRESET-ORDER, EXPORT, dependencies from tarballs of an unreleased PR (UNRELEASED, warning; none may remain at merge). Exit 1 on errors. |
scripts/verify-urls.mjs <paths> or --diff main | HTTP status and #anchor existence of every URL. BROKEN fails the gate. |
references/field-map-template.md | Tracking document, field map, compatibility and PR plan. Read at Phase 1 step 3. |
references/plugin-patterns.md | Real shapes of the version plugin and when to wrap versus copy. Read before writing plugin code. |
references/integration-points.md | Files outside the new plugin that a version or feature touches. Read for PR 1 and for any feature that changes shared behaviour. |
references/testing.md | Unit, Playwright and parity tests, fixtures. Read before writing tests. |
references/review-lessons.md | Defect classes from past reviews. Read before the first PR. |
Project conventions (TypeScript for new files, @prettier pragma, no semicolons, double quotes,
no cross-plugin imports, Conventional Commits) are in CLAUDE.md and apply throughout.
Phase 0: Where to Start (every invocation)
- Version and variant. Take the requested version line and the previous one Swagger UI supports (the parent: the newest 3.x line for a minor, the last line of the previous major for a major). Classify it; the variants table under "Variants" says how each phase applies.
- Pin the version. List the released versions
(
https://api.github.com/repos/OAI/OpenAPI-Specification/contents/versions;*-editors.mdfiles are not releases) and target the latest patch of the line. A line can get a patch release while work is in progress; the newest patch's text is the reference for the whole line. If the line has no release, stop before any PR and say so. Then look for drafts: thev*-devbranches ofOAI/OpenAPI-Specification(each has the next version's text insrc/oas.md) and, for a new major, its working-group repository. Report which version is actually in development and how settled its draft is (last commits, status notes, whether it has Fixed Fields tables yet). A draft with tables can get a preview of Phase 1 (diff-spec-versions.mjs {latest release} <downloaded src/oas.md>), so upcoming work is visible early; it never becomes a PR until the release, because drafts change. Prerequisites (minor and major). Swagger UI resolves documents through swagger-client, whose resolve strategy for the version is built on ApiDOM's namespace for it:
# installed (needs node_modules; otherwise use the pinned version from package-lock.json) ls node_modules/swagger-client/es/resolver/strategies/ | grep openapi-X-Y-apidom # released: does the latest swagger-client ship it? curl -sL "$(npm view swagger-client@latest dist.tarball)" | tar -tz | grep -c "es/resolver/strategies/openapi-X-Y-apidom/" # is the ApiDOM namespace published at all? npm view @swagger-api/apidom-ns-openapi-X-Y version- Installed: nothing to do.
- Not installed, but released: PR 1 bumps
swagger-clientto the first release that ships the strategy (references/integration-points.md); find it by listing earlier versions' tarballs. - Not released: stop before PR 1. The version first needs ApiDOM support
(
/add-spec-versioninswagger-api/apidom) when the namespace isn't published, then a swagger-client release with the strategy. Report what is missing and which repository owns it; don't stub the strategy in Swagger UI. Phase 1 can still run; offer it.
Say which way you checked (installed tree, lockfile, registry).
- Resume or start. If
ADD-OAS-{X.Y}.mdexists at the repo root, read it: it holds the field map, the PR plan and the gate log. Check which of its PRs are merged (git log main --oneline -- src/core/plugins/oas3Y) or open (gh pr list --search "oas3Y", or the GitHub API whenghis absent), and continue with the first PR that isn't. Without a tracking doc, do Phase 1 before any code, even when the user asks for one feature: the field map tells you whether the feature is really new and what else it touches.
Variants
| Variant | Phase 1 | Phase 2: basic support | Phase 3 |
Patch (3.Y.0 → 3.Y.1) | diff against the previous patch; expect no NEW / CHANGED-* rows (patches clarify text), and raise any with the user | one small PR: README compatibility table, a detection test or fixture with the new patch version, URLs (the dialect id named in the text and the published ids can change) | none expected |
Minor (3.2 → 3.3) | diff against the parent's latest patch | a new oas3Y plugin that wraps the parent's: every feature the parent version offers works for 3.Y documents | one PR per NEW feature and per CHANGED-* field |
Major (3.x → 4.0) | diff against the last 3.x patch (--rename for renamed objects) plus the compatibility classification (Phase 1 step 6) | a new plugin that renders the backward-compatible part with the previous major's components; breaking parts are left out (not rendered with the old meaning) until their PR | one PR per breaking change, then one per new feature |
For a major, the plugin's structure (wrap the 3.x plugin for the compatible part, or a new base
it borrows from at runtime through getComponent) follows from how much is compatible; put the
choice and your recommendation to the user at the Phase 1 checkpoint. Two things are different
from a minor:
- The 3.x code is wired through
isOAS3()(servers, callbacks, request bodies, responses, OAuth2 flows;references/plugin-patterns.mdsection 4). Widening it for the new major makes all of that render the new documents with 3.x meaning, so widen it only if every object it gates is compatible, and otherwise give the compatible parts their own version-gated wrappers. - A major may change the document format itself. If
diff-spec-versions.mjsexits 2 ("no Fixed Fields tables found"), the spec defines its objects differently: build the field map by hand from its object definitions, and expect the compatibility table to be mostly "no".
Phase 1: Investigation and Version Diff
Done once per version line, before any code. The tracking doc stays uncommitted.
- Diff the tables.
For a major, addnode .claude/skills/add-oas-support/scripts/diff-spec-versions.mjs {parent x.y.z} {new x.y.z} > /tmp/oas-diff.md--rename "{Old} Object={New} Object"for every object that was renamed (find them in the objects table: aREMOVEDand aNEWobject with the same role), and rerun. The diff covers the tables only; prose changes need step 2. - Read what changed in the raw markdown of both versions
(
https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/versions/{x.y.z}.md) and the release notes (https://github.com/OAI/OpenAPI-Specification/releases): removals, renames, new MUSTs, changed defaults, and value sets described outside the tables. Summaries and blog posts miss or invent fields; the Fixed Fields tables and the spec text are the source. - Build the field map in
ADD-OAS-{X.Y}.mdperreferences/field-map-template.md, starting from the diff's draft:- Triage every
REVIEWrow: a wording change isINHERITED; a changed meaning or a widened or narrowed value set (the diff lists added and removed tokens) isCHANGED-TYPE. - Pair
REMOVEDrows with theNEWrows that replace them asMOVED(the "moved?" hint and step 2 point at candidates). - Add rows for the prose changes of step 2.
- Triage every
- Cross-check every
NEWrow against Swagger UI (grep -rn "{field}" src/core/plugins/oas3{P} src/core/plugins/oas3 src/core/components): a field the parent version already had isINHERITED, even if a changelog or an old code comment calls it new. - UI impact for every non-
INHERITEDrow: the component that renders it, or the request part it changes (method, URL, parameters, body, headers, security). A row with no UI impact gets Scopeoutwith the reason. - Compatibility (Breaking column, every non-
INHERITEDrow): would a document written for the parent version still be valid, and render with the same meaning?NEWrows and widened value sets are compatible extensions;REMOVED,MOVED, narrowed value sets and changed meanings are breaking. In a minor or a patch every row should be compatible; a breaking row there is a finding to raise with the user. For a major, also list the compatible objects: they are what basic support renders. - JSON Schema. Note the Schema Object's base JSON Schema draft for both versions. A new OAS
document schema doesn't mean a new JSON Schema dialect. Only a changed draft needs renderer
work (
/add-json-schema-support), and this version then waits for it. - URLs. Record every external URL the code or docs will contain: the Schema Object dialect id
(the plugin's
default$schema), the OAS document schema id, the spec's HTML anchor base. Take the dialect id from the spec text (#dialect-schema-id) and the published list athttps://spec.openapis.org/oas/; they can disagree (errata get fixed in later patches), and then you record both and let the user decide. Never derive a URL from a pattern. Runverify-urls.mjs ADD-OAS-{X.Y}.md. - PR plan. PR 1 is basic support. Then one PR per feature (rules above), each with its
field-map rows in the Scope column (
PR 2,PR 3...). Order: refactors a feature needs, breaking changes (major), then features, each after the ones it depends on (a new operation method before features that list operations). - Checkpoint. Show the user the non-
INHERITEDrows with their Breaking value, theINHERITEDrows you demoted from "new", the URLs, the PR plan and (major) the plugin structure question, and get confirmation before writing code. As a subagent, write it all into the tracking doc and stop there.
Phase 2: Basic Support (PR 1)
Parity: a document of the new version gets every feature a document of the parent version gets,
through the parent's code. Nothing in this PR implements a NEW row; the plan's feature PRs do.
Read references/plugin-patterns.md and references/integration-points.md first; every item has
a template there, copied from the oas32 plugin, and every new file is TypeScript.
src/core/plugins/oas3Y/fn.tsx:isOAS3Y(any patch number, no leading zeros, nothing else),createOnlyOAS3YSelector,createOnlyOAS3YSelectorWrapper,createOnlyOAS3YComponentWrapper,wrapOAS3YFn,createSystemSelector.- Detection selector
isOAS3Yregistered throughcreateSystemSelector. isOAS3wrap-selector widened for 3.Y (servers, callbacks, request bodies, responses and OAuth2 flows render only when it's true).- Version pragma filter: a component that knows
isOAS3Y, a wrapper, and insrc/core/components/layouts/base.jsxtheisOAS3Yprop (without it: "Unable to render this definition") and the webhooks condition. - Every parent wrapper gated on the parent version gets a 3.Y counterpart that reuses the
parent's component:
OpenAPIVersionbadge, Info, Contact, License (getComponent("OAS3{P}Info", true)etc., not copies). List the parent'swrapComponentsandwrapSelectorsin itsindex.jsand account for each. - JSON Schema 2020-12 renderer for 3.Y:
ModelandModelswrappers withwithJSONSchema202012SystemContextanddefault$schema= the dialect id from Phase 1 step 8, plus the plugin's ownjson-schema-2020-12-extensions. Without it 3.Y schemas fall back to the legacy renderer. after-load: route sample generation,isFileUploadIntendedandhasSchemaTypethroughwrapOAS3YFn.- Plugin registered last in
src/core/presets/apis/index.js, exported asOpenAPI3YinSwaggerUI.plugins(src/core/index.js). - swagger-client resolve strategy
openApi3YApiDOMResolveStrategyin bothresolveandresolveSubtreeofsrc/core/plugins/swagger-client/index.js, newest first (plus theswagger-clientbump when Phase 0 needed one). - README compatibility table and the supported-versions text in the version pragma messages.
- Tests (
references/testing.md): detection unit tests, and parity specs: the parent's feature fixtures with the new version number render as they do for the parent version.
For a major, the checklist is the same for the compatible part; each breaking object stays out of the UI (or behind a notice) until its PR, and a test shows it isn't rendered with the old meaning.
Phase 3: Feature PRs (PR 2..n)
One PR per feature in plan order.
- Re-read the feature's rows in the spec (not only in the tracking doc): types, value sets,
defaults, MUST/SHOULD wording, interactions with existing fields (e.g. Path Item
parametersapply to every operation of the Path Item, including new kinds of operation). - Implement inside
src/core/plugins/oas3Y/with the version-gated factories. When shared code must change (a core util, aspecselector, a component insrc/core/components/), gate the new behaviour at the call site and prove older versions are unaffected with a test (CORE-TOUCHlists these files). - Read data that may come from a
$refthroughspecJsonWithResolvedSubtrees, notspecJson. - A new configuration value (e.g. a new method in
supportedSubmitMethods) changessrc/core/config/defaults.js,docs/usage/configuration.mdand the explicitly listed props and PropTypes inflavors/swagger-ui-react/index.jsx. - A breaking change (major): render the new structure for the new version only, and test that both a parent-version document and a new-version document render with their own meaning.
- Tests: unit tests for selectors and fns, and a Playwright spec that executes Try-it-out for
anything that changes a request, asserting the request with
page.route. - If the PR grows a second feature, split it. Mark the rows done in the tracking doc.
Gates (every PR, in order)
npm run lint-errors;npm run type-check;npm run lint-styleswhen.scsschanged (hex colours lowercase).npm run test:unit.- Targeted Playwright specs, then the full suite (both start the dev server themselves):
npm run e2e -- <spec> npm run e2e npm run e2e:typecheck npm run buildandnpm run test:artifact.check-plugin-conventions.mjs: 0 errors; everyHAND-GUARDwarning fixed or justified, everyCORE-TOUCHfile covered by an older-version test.DIALECT/EXPORTfindings that predate the branch are reported to the user, not silently fixed in an unrelated PR.check-field-coverage.mjs ADD-OAS-{X.Y}.md --plugin src/core/plugins/oas3Y --scope "PR n": 0 gaps for this PR's rows (PR 1 has none: parity only); check generic field names by hand.- Scope: the diff implements this PR's rows and nothing else (
git diff --stat main...HEADnames only files the rows need, plus tests); PR 1 implements noNEWrow. verify-urls.mjs --diff main: 0BROKEN.- Run
/review-spec-supportin a fresh subagent that gets only the spec version, the branch and this PR's rows, so it reviews against the spec rather than against what was just written. Fix every finding or record why it doesn't apply. git statusshows nodist/orADD-OAS-*.mdstaged.
Record each gate's result in the tracking doc's gate log.
Hand-off
Report per PR: branch, URL and state, gate results, and the field-map rows that are deferred or
out with their reasons. List any UNVERIFIED URLs and pre-existing problems the scripts
reported. Pushing, opening PRs and force-pushing are outward-facing: confirm each with the user.
Working Notes
- Branches:
feat/oas3Y-basic-support, thenfeat/oas3Y-{feature}frommain, or from PR 1's branch while it's open (rebase ontomainafter it merges). When a gate fails, fix it on the branch that introduced the problem; stacked branches copy its mistakes. - Independent features can be implemented by parallel subagents, each given its rows of the field map and this skill.
- Fixing a bug in code that was copied between plugins means fixing every copy (#10764 fixed the stale Model cache in both oas31 and oas32).
Trending
More talk lately.about the whole repository
Who's talking about swagger-api/swagger-ui
- Devoxx“Generate client stubs & document your REST-API using Swagger & Spring by Johannes Fiala”YouTube · Nov 11, 2015 · 45k views
- Ryan Hay“What is an Operator? Kubernetes & OpenShift Operators Explained.”YouTube · Nov 8, 2020 · 24k views
- Jorge Cardona“Crear Api Rest JaxRs 2.1, Maven, Swagger, Git”YouTube · Jun 4, 2020 · 3.1k views
- Thales Bento“Laravel 9 - Api Sanctum + documentação Swagger Php [Parte 2]”YouTube · Jan 28, 2023 · 2.6k views
- IngSystemCix“Cómo Estructurar un Proyecto PHP Puro como un PRO (Sin Frameworks)”YouTube · Aug 23, 2025 · 830 views
The biggest 5 of 75 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 75
Talked about on Stack Overflow, GitHub, YouTube, Bluesky and the web (75 times).
On Stack Overflow · 30
- May 16, 2016Swagger: map of <string, Object>66 votes
- Jul 10, 2015Can Swagger autogenerate its yaml based on existing express routes?63 votes
- Nov 28, 2015Swagger UI - How can I expand all the operations by default?59 votes
- Mar 16, 2017How to refer to enclosing type definition recursively in OpenAPI / Swagger?41 votes
- Jul 18, 2017Swagger UI - " TypeError: Failed to fetch" on valid response32 votes
25 more on Stack Overflow
- Jan 23, 2017Multi-level (nested) tagging in Swagger UI28 votes
- May 20, 2015How to send Authorization header with a request in Swagger UI?24 votes · 4 answers
- Aug 29, 2018What is the difference between SwaggerUIBundle, and SwaggerUi23 votes · 2 answers
- Nov 24, 2018What is the difference between SwaggerUIBundle, and SwaggerUi18 votes
- Sep 16, 2017How to run swagger-ui with local code changes AND my own swagger.json?18 votes · 8 answers
- Apr 30, 2019Disable "Try It Out" in Swagger17 votes · 5 answers
- Sep 2, 2022Could not resolve pointer: /components/schemas when nested model and custom schema Ids16 votes
- Dec 10, 2018How to generate a static html file from a swagger documentation?14 votes
- Oct 16, 2019Generate static docs with swagger13 votes
- May 30, 2020How to add Header with Authorization for springdoc-openapi endpoint calls11 votes
- Feb 1, 2018How to open Swagger-ui from vert.x11 votes
- Dec 1, 2017Cutomize Swagger UI ASP.NET Core Web API11 votes · 3 answers
- Aug 2, 2017Converting Swagger specification JSON to HTML documentation11 votes
- Apr 7, 2015How to integrate swagger-ui in my application11 votes
- Apr 24, 2018Swagger UI add curl custom parameters10 votes
- Mar 1, 2018Issue Using Custom Index.Html in Swagger / Swashbuckle for .NET Core10 votes · 2 answers
- Aug 2, 2020springdoc-openapi-ui OAuth 2.0 Authorization Code flow with PKCE9 votes
- Jun 9, 2020CSRF Support in springdoc-openapi swagger-ui9 votes
- Aug 7, 2017swagger: is ' Could not render this component, see the console' an error message or can it be ignored7 votes
- Jun 29, 2016Swagger Yaml schema definition for object without a fixed property list7 votes
- Jul 2, 2015Adding Basic Authorization for Swagger-UI7 votes
- Feb 21, 2015How to define a map in swagger?7 votes
- Apr 23, 2021OpenAPI swagger UI is not responding for large response6 votes
- Jan 18, 2021Weird "Could not resolve reference: undefined Not Found" messages in Swagger UI 36 votes
- Jul 14, 2016customize swagger-ui by adding a simple sidebar in the html6 votes · 1 answer
On GitHub · 28
- Oct 26, 2023📌 Pin Swagger UI version to 5.9.0 temporarily to handle a bug crashing it in 5.9.1 — fastapi/fastapi15 reactions · 5 comments
- Nov 11, 2025Add support for OpenAPI 3.2 — domaindrivendev/Swashbuckle.AspNetCore10 reactions · 5 comments
- Apr 3, 2021⬆️ Upgrade OpenAPI from 3.0.2 to 3.1.0 — fastapi/fastapi10 reactions · 10 comments
- Sep 10, 2017Fixes #1129 - allOf fix for $$ref values — swagger-api/swagger-client7 reactions · 3 comments
- Mar 4, 2021Remove Google fonts in Swagger UI — api-platform/core5 reactions
23 more on GitHub
- Oct 8, 2019Bump swagger-ui depdency — springfox/springfox5 reactions · 6 comments
- Mar 30, 2020Expose Swagger-UI in addition to API spec — paperclip-rs/paperclip3 reactions · 9 comments
- Aug 12, 2021webpack5: Add Buffer polyfill — backstage/backstage2 reactions · 2 comments
- May 27, 2021add tags and path sorting, add related docs — fastapi/fastapi2 reactions · 3 comments
- Jul 22, 2020📌 Pin Swagger UI — fastapi/fastapi2 reactions · 6 comments
- Apr 7, 2017WIP(swagger-ui): Upgrade to v3 — strongloop/loopback-component-explorer2 reactions · 20 comments
- Oct 26, 2026build(deps): Bump org.webjars:swagger-ui from 5.33.2 to 5.34.0 in /brewdeck-api — JuanMelendres/brewdeck1 reaction · 5 comments
- Oct 26, 2026Bump org.webjars:swagger-ui from 5.33.2 to 5.34.0 in the documentation group — dharamcodes/template-spring-boot-4.x.x1 reaction · 2 comments
- Oct 22, 2026build(deps): bump the production group with 7 updates — nox-pie/RU-Lost-Found1 reaction · 3 comments
- Oct 19, 2026build(deps): Bump org.webjars:swagger-ui from 5.33.1 to 5.33.2 in /brewdeck-api — JuanMelendres/brewdeck1 reaction · 4 comments
- Oct 19, 2026Bump org.webjars:swagger-ui from 5.33.1 to 5.33.2 in the documentation group — dharamcodes/template-spring-boot-4.x.x1 reaction · 2 comments
- Oct 18, 2026build(deps): bump the ui-package-dependencies group in /pkg/webui with 3 updates — ethpandaops/buildoor1 reaction
- Oct 15, 2026build(deps): bump the production group across 1 directory with 8 updates — nox-pie/RU-Lost-Found1 reaction · 2 comments
- Oct 13, 2026build(deps): bump org.webjars:swagger-ui from 5.32.15 to 5.33.1 in /brewdeck-api — JuanMelendres/brewdeck1 reaction · 5 comments
- Oct 8, 2026build(deps): bump the production group with 6 updates — nox-pie/RU-Lost-Found1 reaction · 3 comments
- Aug 17, 2026fix: swagger UI rendering issue after upgrade to 5.32.12 — fingerprintjs/openapi1 reaction · 3 comments
- Jul 27, 2026chore(deps): Bump swagger-ui-react from 5.32.9 to 5.32.11 in /frontend — kscius/Mock-API-Studio1 reaction
- Jul 20, 2026chore(deps): Bump swagger-ui-react from 5.32.8 to 5.32.9 in /frontend — kscius/Mock-API-Studio1 reaction
- Jul 6, 2026chore(deps): bump swagger-ui-react from 5.32.4 to 5.32.8 — smmariquit/comsci-1281 reaction · 1 comment
- Apr 28, 2026fix(swagger-ui-build): harden curl download against transient CDN failures — juhaku/utoipa1 reaction
- Mar 17, 2022Bump swagger-ui-dist from 3.20.7 to 4.1.3 — jmcarp/flask-apispec1 reaction · 1 comment
- Apr 5, 2021feat: resolve external value — swagger-api/swagger-client1 reaction · 11 comments
- Sep 1, 2016fix generator for swagger_model when no property required — richhollis/swagger-docs1 reaction · 4 comments
On YouTube · 10
- Nov 11, 2015Generate client stubs & document your REST-API using Swagger & Spring by Johannes Fiala — Devoxx45k views · 22 comments
- Nov 8, 2020What is an Operator? Kubernetes & OpenShift Operators Explained. — Ryan Hay24k views · 37 comments
- Jun 4, 2020Crear Api Rest JaxRs 2.1, Maven, Swagger, Git — Jorge Cardona3.1k views · 10 comments
- Jan 28, 2023Laravel 9 - Api Sanctum + documentação Swagger Php [Parte 2] — Thales Bento2.6k views · 18 comments
- Aug 23, 2025Cómo Estructurar un Proyecto PHP Puro como un PRO (Sin Frameworks) — IngSystemCix830 views · 3 comments
5 more on YouTube
- Jul 29, 2021Swagger API documentation tutorial for beginners | Intro to API documentation with Swagger — Coding from experience822 views
- Nov 5, 2019Stripe's $35B valuation in 8 years - How a tech startup reaches billion-dollar valuation? — QuanticDev617 views · 1 comment
- Aug 16, 2024GitHub - swagger-api/swagger-ui: Swagger UI is a collection of HTML, JavaScript, and CSS assets t... — GitHub Daily Trend AI Podcast236 views
- Oct 6, 2018Swagger UI Quickstart - Silence is Golden — Macovin107 views
- Jul 4, 2025swagger-api/swagger-ui - Gource visualisation — Gourcer11 views
On Bluesky · 6
- Jul 3, 2025📦 swagger-api / swagger-ui ⭐ 27,588 (+37) 🗒 JavaScript Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically… — @github-trending.bsky.social3 likes and reposts
- Oct 2, 2025📦 swagger-api/swagger-ui v5.29.2 Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful… — @throwable.bsky.social2 likes and reposts
- Sep 18, 2026📦 swagger-api / swagger-ui ⭐ 29,011 (+34) 🗒 JavaScript Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically… — @github-trending-js.bsky.social1 likes and repost
- Oct 10, 2025📦 swagger-api/swagger-ui v5.29.4 Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful… — @throwable.bsky.social1 likes and repost
- Jun 10, 2025📦 swagger-api/swagger-ui v5.24.1 Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful… — @throwable.bsky.social1 likes and repost
1 more on Bluesky
- Apr 4, 2025📦 swagger-api/swagger-ui v5.20.6 Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful… — @throwable.bsky.social1 likes and repost
On the web · 1
- Nov 17, 2023swaggerui package - github.com/mwmahlberg/swagger-ui — pkg.go.dev
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- swagger-api/swagger-editor★ 9.5ksame name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository3 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- add-json-schema-supportSkill
- review-spec-supportSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

