feat(skill): automatically onboard to openapi tooling (#34179)

* feat(skill): automatically onboard to openapi tooling

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* test skill against notifications backend

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* update URLs to point to main repo and describe multiple client types

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* address PR feedback

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* revert erroneous changes

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* add changeset

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* address review feedback: skill doc fixes and entityRef schema dedup

Disambiguate generated entityRef/orderField types and correct skill
guidance on operationId casing and OpenAPI version support.

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

* note in skill that handler-side validation should be stripped

Reviewers may forget that manual InputError guards and primitive-type
checks become dead weight once the OpenAPI validator runs.

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>

---------

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
This commit is contained in:
Aramis Sennyey
2026-05-21 23:01:16 -04:00
committed by GitHub
parent a7d7542432
commit ac410b1d26
36 changed files with 2918 additions and 93 deletions
@@ -35,6 +35,7 @@
"scripts": {
"build": "backstage-cli package build",
"clean": "backstage-cli package clean",
"generate": "backstage-repo-tools package schema openapi generate --server",
"lint": "backstage-cli package lint",
"prepack": "backstage-cli package prepack",
"postpack": "backstage-cli package postpack",
@@ -42,6 +43,7 @@
"test": "backstage-cli package test"
},
"dependencies": {
"@backstage/backend-openapi-utils": "workspace:^",
"@backstage/backend-plugin-api": "workspace:^",
"@backstage/catalog-model": "workspace:^",
"@backstage/config": "workspace:^",
@@ -64,6 +66,7 @@
"@backstage/plugin-auth-backend-module-guest-provider": "workspace:^",
"@backstage/plugin-events-backend": "workspace:^",
"@backstage/plugin-signals-backend": "workspace:^",
"@backstage/repo-tools": "workspace:^",
"@types/express": "^4.17.6",
"@types/supertest": "^2.0.8",
"supertest": "^7.0.0"