* docs: frontend plugin golden path guide Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * add changeset Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * Apply suggestion from @aramissennyeydd Signed-off-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com> Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * fix template Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * fix template test Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * print stderr on failure Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * try writing directly Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * maybe this? Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * address feedback Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * fix: avoid destructuring FetchApi and fix template issues - Use fetchApi.fetch() instead of destructuring to preserve this binding - Add discoveryApi and fetchApi to useAsync dependency array - Use react-use/esm/useAsync to match repo conventions - Replace waitFor + getAllByText with findByText in error test - Update HTTP client doc to match template changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * fix: address docs review feedback - Use stronger guidance tone in scaffolding guide intro - Slim down file tree to show folder structure only - Mention that plugin path depends on chosen plugin ID - Link to installation docs for non-discovery case - Quote page:todo YAML key to avoid parse errors - Remove "new" from "new frontend system" in template README Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * fix: improve error handling in e2e plugin creation - Narrow error to non-null object before using in operator - Also write error.stdout since tools like Jest report to stdout - Avoid variable shadowing with outer scope stdout/stderr Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * revert: keep destructured fetch from FetchApi Destructuring fetch from FetchApi is fine — revert to original pattern while keeping the dependency array and other fixes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * feat: use @backstage/ui components in frontend plugin template Replace core-components layout and table with @backstage/ui equivalents: - Use HeaderPage and Container instead of Page, Header, Content, ContentHeader - Use BUI Table with useTable and CellText instead of core-components Table - Add @backstage/ui to template package.json dependencies - Update poking-around docs to reflect BUI component usage Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * fix: add example data when backend request fails Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * better logging setup Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * address feedback Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * better config driven example Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * debug logs Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * fix build failure related to unknown version Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * revert e2e run changes Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com> * skip the discovery api for now Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * remove another ref Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com> --------- Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com> Signed-off-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Backstage
English | 한국어 | 中文版 | Français
What is Backstage?
Backstage is an open source framework for building developer portals. Powered by a centralized software catalog, Backstage restores order to your microservices and infrastructure and enables your product teams to ship high-quality code quickly without compromising autonomy.
Backstage unifies all your infrastructure tooling, services, and documentation to create a streamlined development environment from end to end.
Out of the box, Backstage includes:
- Backstage Software Catalog for managing all your software such as microservices, libraries, data pipelines, websites, and ML models
- Backstage Software Templates for quickly spinning up new projects and standardizing your tooling with your organization’s best practices
- Backstage TechDocs for making it easy to create, maintain, find, and use technical documentation, using a "docs like code" approach
- Plus, a growing ecosystem of open source plugins that further expand Backstage’s customizability and functionality
Backstage was created by Spotify but is now hosted by the Cloud Native Computing Foundation (CNCF) as an Incubation level project. For more information, see the announcement.
Project roadmap
For information about the detailed project roadmap including delivered milestones, see the Roadmap.
Getting Started
To start using Backstage, see the Getting Started documentation.
Documentation
The documentation of Backstage includes:
- Main documentation
- Software Catalog
- Architecture (Decisions)
- Designing for Backstage
- Storybook - UI components
Community
To engage with our community, you can use the following resources:
- Discord chatroom - Get support or discuss the project
- Contributing to Backstage - Start here if you want to contribute
- RFCs - Help shape the technical direction
- FAQ - Frequently Asked Questions
- Code of Conduct - This is how we roll
- Adopters - Companies already using Backstage
- Blog - Announcements and updates
- Newsletter - Subscribe to our email newsletter
- Backstage Community Sessions - Join monthly meetups and explore Backstage community
- Give us a star ⭐️ - If you are using Backstage or think it is an interesting project, we would love a star ❤️
Governance
See the GOVERNANCE.md document in the backstage/community repository.
License
Copyright 2020-2026 © The Backstage Authors. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page: https://www.linuxfoundation.org/trademark-usage
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0
Security
Please report sensitive security issues using Spotify's bug-bounty program rather than GitHub.
For further details, see our complete security release process.

