{"_id":"@backstage-idp-plugin/backstage-idp","_rev":"6-ae22a48e1e4fc0f9c5ec60026ec49277","name":"@backstage-idp-plugin/backstage-idp","dist-tags":{"latest":"1.3.0"},"versions":{"1.2.0":{"name":"@backstage-idp-plugin/backstage-idp","version":"1.2.0","keywords":["backstage","idp","developer-portal","platform-engineering","software-catalog","scaffolder","techdocs","claude-code","claude-code-plugin","ai-agent"],"author":{"name":"ahmed ben"},"license":"MIT","_id":"@backstage-idp-plugin/backstage-idp@1.2.0","maintainers":[{"name":"ahmed.b.daamer","email":"ahmed.b.daamer@gmail.com"}],"homepage":"https://github.com/bendaamerahmed/backstage-idp-plugin#readme","bugs":{"url":"https://github.com/bendaamerahmed/backstage-idp-plugin/issues"},"dist":{"shasum":"81bad479fc752fe67b8224c7c5fc550426ff98ff","tarball":"https://registry.npmjs.org/@backstage-idp-plugin/backstage-idp/-/backstage-idp-1.2.0.tgz","fileCount":20,"integrity":"sha512-ePrUCQH1R+b21OISSEMlY06OgaryQiUPArc/3JGjZLDYV2YYuR9LSGwPJw8X0ItoSJU2KJqact9fxk5KFVOsRQ==","signatures":[{"sig":"MEUCIFL+8MA5HTHlf5/CTeHmZR7jfVnWYS/Bj40IspzZCfAPAiEAyOBv/fLnMc1WdtHgOU7oICPgl2l034UxBHRAMfsK2B8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266831},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"4cadfeae46735c827b98ec7434f4ba465a44a1ba","scripts":{},"_npmUser":{"name":"ahmed.b.daamer","email":"ahmed.b.daamer@gmail.com"},"repository":{"url":"git+https://github.com/bendaamerahmed/backstage-idp-plugin.git","type":"git"},"_npmVersion":"11.6.2","description":"Autonomous full-stack engineering for Spotify Backstage developer portals: one senior subagent plus twelve verified Backstage workflow skills.","directories":{},"_nodeVersion":"24.18.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/backstage-idp_1.2.0_1786104438353_0.06646870014235229","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@backstage-idp-plugin/backstage-idp","version":"1.2.1","keywords":["backstage","idp","developer-portal","platform-engineering","software-catalog","scaffolder","techdocs","claude-code","claude-code-plugin","ai-agent"],"author":{"name":"ahmed ben"},"license":"MIT","_id":"@backstage-idp-plugin/backstage-idp@1.2.1","maintainers":[{"name":"ahmed.b.daamer","email":"ahmed.b.daamer@gmail.com"}],"homepage":"https://github.com/bendaamerahmed/backstage-idp-plugin#readme","bugs":{"url":"https://github.com/bendaamerahmed/backstage-idp-plugin/issues"},"dist":{"shasum":"fe0b341abf2fcd632486db6d67796b178d191dde","tarball":"https://registry.npmjs.org/@backstage-idp-plugin/backstage-idp/-/backstage-idp-1.2.1.tgz","fileCount":20,"integrity":"sha512-rbvsdr82Bj+9xubtBuZ+Sl+yMrxX0gThVtWviuoSQbWgXoVIhw2uP9OFEQQDZ/W+i5E9iV46fdgt3sXboWeTzw==","signatures":[{"sig":"MEYCIQCXARofS09JSzX8UPVrtKZMzcWQJxAOHekHeXp50rkQOwIhAOYex3RzRK4uGRnQoQapbh0Rof536Yr3vR6f/ooBxzZD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266831},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"805381c1a5af927bd40a3f70e53da2d6be612a96","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9f1af85b-fbf1-4a91-ba1a-0f19efb9e1bf"}},"repository":{"url":"git+https://github.com/bendaamerahmed/backstage-idp-plugin.git","type":"git"},"_npmVersion":"11.16.0","description":"Autonomous full-stack engineering for Spotify Backstage developer portals: one senior subagent plus twelve verified Backstage workflow skills.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/backstage-idp_1.2.1_1786106154210_0.8535932543084528","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@backstage-idp-plugin/backstage-idp","version":"1.2.2","keywords":["backstage","idp","developer-portal","platform-engineering","software-catalog","scaffolder","techdocs","claude-code","claude-code-plugin","ai-agent"],"author":{"name":"ahmed ben"},"license":"MIT","_id":"@backstage-idp-plugin/backstage-idp@1.2.2","maintainers":[{"name":"ahmed.b.daamer","email":"ahmed.b.daamer@gmail.com"}],"homepage":"https://github.com/bendaamerahmed/backstage-idp-plugin#readme","bugs":{"url":"https://github.com/bendaamerahmed/backstage-idp-plugin/issues"},"dist":{"shasum":"10ca39dfd34ae418dfdb6b2e8e79b34778d5f4e7","tarball":"https://registry.npmjs.org/@backstage-idp-plugin/backstage-idp/-/backstage-idp-1.2.2.tgz","fileCount":20,"integrity":"sha512-ixZJgIjZuICxtHqziGpXht9fvSmz9NqiWoC17L+tEA2NSIHP17+hDsgZ1eHaF1AMSsAcYP5UMyVd8HJf9wic+g==","signatures":[{"sig":"MEYCIQDXyphb6udnFFQ+Mqr5Vobn1uIef3h+G5qR9HWiEJ5ydwIhAORf3Vu/SnGHkt3NLJR5EQ3rsdCVZFsRtPJ0+yaAigsl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@backstage-idp-plugin%2fbackstage-idp@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266831},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"5dfe87d94effb317832f379ebfc7a17e1d4789ac","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9f1af85b-fbf1-4a91-ba1a-0f19efb9e1bf"}},"repository":{"url":"git+https://github.com/bendaamerahmed/backstage-idp-plugin.git","type":"git"},"_npmVersion":"11.16.0","description":"Autonomous full-stack engineering for Spotify Backstage developer portals: one senior subagent plus twelve verified Backstage workflow skills.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/backstage-idp_1.2.2_1786107102180_0.7068347646137956","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@backstage-idp-plugin/backstage-idp","version":"1.2.3","keywords":["backstage","idp","developer-portal","platform-engineering","software-catalog","scaffolder","techdocs","claude-code","claude-code-plugin","ai-agent"],"author":{"name":"ahmed ben"},"license":"MIT","_id":"@backstage-idp-plugin/backstage-idp@1.2.3","maintainers":[{"name":"ahmed.b.daamer","email":"ahmed.b.daamer@gmail.com"}],"homepage":"https://github.com/bendaamerahmed/backstage-idp-plugin#readme","bugs":{"url":"https://github.com/bendaamerahmed/backstage-idp-plugin/issues"},"dist":{"shasum":"e5e20be66515f803bd2910c64c335a114259dc78","tarball":"https://registry.npmjs.org/@backstage-idp-plugin/backstage-idp/-/backstage-idp-1.2.3.tgz","fileCount":20,"integrity":"sha512-109XW1t3smni9pUitfCCp/xELy2uH6vH0ifgymPirP4s7m2ooTCb5boN9qXYUnNWopFRO+e3i0oywePQfkNLiw==","signatures":[{"sig":"MEUCIEduW5UCaL04PrNmPvnixsmakvpndWjkq/je2PLPNGtxAiEAuLgf0GYlxoFdV0eofn3C2EEaY1sXCE/9IbGGYvUae08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@backstage-idp-plugin%2fbackstage-idp@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266831},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"30e4ad53190c15cb9775fcaa354f3816089a449d","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9f1af85b-fbf1-4a91-ba1a-0f19efb9e1bf"}},"repository":{"url":"git+https://github.com/bendaamerahmed/backstage-idp-plugin.git","type":"git"},"_npmVersion":"11.16.0","description":"Autonomous full-stack engineering for Spotify Backstage developer portals: one senior subagent plus twelve verified Backstage workflow skills.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/backstage-idp_1.2.3_1786108897628_0.9010517520538774","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@backstage-idp-plugin/backstage-idp","version":"1.2.4","keywords":["backstage","idp","developer-portal","platform-engineering","software-catalog","scaffolder","techdocs","claude-code","claude-code-plugin","ai-agent"],"author":{"name":"ahmed ben"},"license":"MIT","_id":"@backstage-idp-plugin/backstage-idp@1.2.4","maintainers":[{"name":"ahmed.b.daamer","email":"ahmed.b.daamer@gmail.com"}],"homepage":"https://github.com/bendaamerahmed/backstage-idp-plugin#readme","bugs":{"url":"https://github.com/bendaamerahmed/backstage-idp-plugin/issues"},"dist":{"shasum":"f61e1a18ef6a011b2dc2cc4d6c13ca38fde516e1","tarball":"https://registry.npmjs.org/@backstage-idp-plugin/backstage-idp/-/backstage-idp-1.2.4.tgz","fileCount":20,"integrity":"sha512-NYPinU1JfAiW9SdCa4Acg3ZyRtKNFMkwZBLIhbEtOSOcifuIGUh9+65bjx6DMSkeLIDaZrFXKthW2b6T5ClLWw==","signatures":[{"sig":"MEUCIQC49OXR/aS4htCh2OwulSwZApyuC3q2kNbXeOTz1ihzLgIgUKiEtm8ifqKwM1o1o3scPwV0mO/DNCe88r/70cNIfQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@backstage-idp-plugin%2fbackstage-idp@1.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266833},"type":"module","engines":{"node":">=22.0.0"},"gitHead":"f4b2e269051061c04b78e5357ef5fd8c9172225c","scripts":{},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9f1af85b-fbf1-4a91-ba1a-0f19efb9e1bf"}},"repository":{"url":"git+https://github.com/bendaamerahmed/backstage-idp-plugin.git","type":"git"},"_npmVersion":"11.17.0","description":"Autonomous full-stack engineering for Spotify Backstage developer portals: one senior subagent plus fifteen verified Backstage workflow skills.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/backstage-idp_1.2.4_1786110175726_0.8874112722405534","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@backstage-idp-plugin/backstage-idp","version":"1.3.0","description":"Autonomous full-stack engineering for Spotify Backstage developer portals: one senior subagent plus fifteen verified Backstage workflow skills.","keywords":["backstage","idp","developer-portal","platform-engineering","software-catalog","scaffolder","techdocs","claude-code","claude-code-plugin","ai-agent"],"license":"MIT","author":{"name":"ahmed ben"},"homepage":"https://github.com/bendaamerahmed/backstage-idp-plugin#readme","repository":{"type":"git","url":"git+https://github.com/bendaamerahmed/backstage-idp-plugin.git"},"bugs":{"url":"https://github.com/bendaamerahmed/backstage-idp-plugin/issues"},"type":"module","bin":{"backstage-idp":"bin/backstage-idp.mjs"},"engines":{"node":">=22.0.0"},"publishConfig":{"access":"public"},"scripts":{},"gitHead":"d803062cd95f6b7fce06393f7746db8635d108a4","_id":"@backstage-idp-plugin/backstage-idp@1.3.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-5XO1lsyKqKdMxM4D2gyG6y/86rW9q+7gugG0J+jt4Wn2SBo8QJuLYaSv9PHqnPhn4+pcceWqP21kqyJOPbf1Tg==","shasum":"c0cb02490e5ce5f526766c6de88426397d7bd2f5","tarball":"https://registry.npmjs.org/@backstage-idp-plugin/backstage-idp/-/backstage-idp-1.3.0.tgz","fileCount":21,"unpackedSize":270989,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@backstage-idp-plugin%2fbackstage-idp@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDeS70a3WKzi+oRrIkDZcl2KFHZ/U0C89o07iq9fJSRFAIgAQYV0VY+sgrCaAP/DobRYtubiT2OgLBqD6RxnfTqYAc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9f1af85b-fbf1-4a91-ba1a-0f19efb9e1bf"}},"directories":{},"maintainers":[{"name":"ahmed.b.daamer","email":"ahmed.b.daamer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/backstage-idp_1.3.0_1786110945368_0.4794993101193885"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-07T12:07:18.149Z","modified":"2026-08-07T13:55:45.814Z","1.2.0":"2026-08-07T12:07:18.517Z","1.2.1":"2026-08-07T12:35:54.344Z","1.2.2":"2026-08-07T12:51:42.333Z","1.2.3":"2026-08-07T13:21:37.776Z","1.2.4":"2026-08-07T13:42:55.958Z","1.3.0":"2026-08-07T13:55:45.507Z"},"bugs":{"url":"https://github.com/bendaamerahmed/backstage-idp-plugin/issues"},"author":{"name":"ahmed ben"},"license":"MIT","homepage":"https://github.com/bendaamerahmed/backstage-idp-plugin#readme","keywords":["backstage","idp","developer-portal","platform-engineering","software-catalog","scaffolder","techdocs","claude-code","claude-code-plugin","ai-agent"],"repository":{"type":"git","url":"git+https://github.com/bendaamerahmed/backstage-idp-plugin.git"},"description":"Autonomous full-stack engineering for Spotify Backstage developer portals: one senior subagent plus fifteen verified Backstage workflow skills.","maintainers":[{"name":"ahmed.b.daamer","email":"ahmed.b.daamer@gmail.com"}],"readme":"# Backstage IDP Engineering\n\nAn autonomous senior engineer for Spotify Backstage developer portals, plus the\nfifteen workflow skills it calls.\n\nVerified against Backstage **v1.53.x**, August 2026.\n\n## What's in it\n\n**One subagent** — `backstage-fullstack-developer`. A principal-level Backstage\nengineer that inspects the repository, plans, implements a complete vertical slice,\ntests it, documents it, and reports honestly on what it validated and what it did\nnot. It owns architecture through to production-readiness: frontend and backend\nplugins, Software Catalog, Scaffolder, TechDocs, Search, auth, permissions,\nintegrations, upgrades, debugging, CI/CD.\n\n**Fifteen skills**, each verified against official Backstage documentation and,\nwhere the fact is machine-checkable, against a real Backstage repository:\n\n| Skill | Use it for |\n| :--- | :--- |\n| `backstage-repo-discovery` | Mapping an unfamiliar monorepo. **Run this first.** |\n| `backstage-plugin-create` | Scaffolding a new plugin package and wiring it in |\n| `backstage-plugin-migrate` | Legacy → New Frontend/Backend System, MUI → BUI |\n| `backstage-catalog` | Entities, providers, processors, ingestion, orphans |\n| `backstage-scaffolder` | Templates, custom actions, dry runs, stuck tasks |\n| `backstage-permissions` | Permission framework, policies, server-side enforcement |\n| `backstage-auth` | Providers, sign-in resolvers, OAuth hardening, CIMD |\n| `backstage-techdocs` | mkdocs, techdocs-ref, builders, CI publishing, 404s |\n| `backstage-upgrade` | Crossing release lines without breaking the app |\n| `backstage-quality-gate` | The validation sweep before calling anything done |\n| `backstage-incident-debug` | Production failures, evidence-first |\n| `pull-request-ready` | Diff self-review and PR authoring |\n| `backstage-theming` | Brand colours, logos, BUI tokens, light and dark |\n| `backstage-kubernetes` | Cluster wiring, entity annotations, surfacing your CRDs |\n| `kubernetes-crd-author` | CRD API design, kubebuilder, reconcile loops |\n\n## Install\n\n**As a plugin** — point a Claude Code marketplace at this directory, or copy it\ninto a marketplace repo and install by name.\n\n**Directly into a repository** — copy the pieces into your Backstage monorepo:\n\n```bash\ncp agents/backstage-fullstack-developer.md  <repo>/.claude/agents/\ncp -r skills/*                              <repo>/.claude/skills/\n```\n\nThen invoke with `@backstage-fullstack-developer` or let Claude delegate to it.\n\n## Before you run it\n\nThe agent expects a Backstage monorepo. Give it a task with an outcome, not a\nfile list — \"add an Argo CD deployment health card to the service entity page,\nwith permissions\" rather than \"edit EntityPage.tsx\". It will discover the\nrepository itself.\n\nIt cannot ask you questions mid-run. It resolves ambiguity from the repository and\nreports its assumptions, or stops with a `## BLOCKED` report naming the decision it\nneeds. Read the `## Assumptions` section of its completion report — that is where a\nwrong inference shows up first.\n\nIt will not push, open a PR, merge, deploy, or mutate anything external. It\nprepares the change and hands back the exact command for you to approve.\n\n## Two configuration notes\n\n**`permissionMode` is ignored for plugin agents.** Claude Code drops `hooks`,\n`mcpServers` and `permissionMode` from plugin-shipped agents for security reasons.\nThe field is left in the file because it applies when you install the agent\ndirectly into `.claude/agents/`. If you run it as a plugin and want `auto`, set\npermissions at the session level instead.\n\n**`background: false` is load-bearing.** Background subagents lose the task tools,\n`BashOutput` and `KillShell` silently. The agent's execution protocol depends on\nboth. Do not remove it.\n\n## Currency\n\nBackstage ships a mainline release every month. Section 0 of the agent definition\ncarries a dated baseline table and an explicit rule that the repository's actual\ninstalled versions win over it. The skills follow the same discipline: where an API\nsignature is version-sensitive they instruct reading the installed package's types\nrather than stating a signature that may have moved.\n\nExpect the baseline to need re-verification around October 2026.\n","readmeFilename":"README.md"}