Skip to content

feat: GitHub primer theme#68

Merged
johnnyhuy merged 6 commits intomainfrom
feature/github-primer-theme
Jan 2, 2026
Merged

feat: GitHub primer theme#68
johnnyhuy merged 6 commits intomainfrom
feature/github-primer-theme

Conversation

@johnnyhuy
Copy link
Copy Markdown
Contributor

This pull request introduces a comprehensive theming and UI refresh to the Backstage app, focusing on brand-aligned themes, Primer (GitHub’s design system) integration, and consistent usage of design tokens. It also improves developer documentation and updates dependencies and build/test scripts. The most significant changes are grouped below.

Theming and UI Consistency

  • Added new brand-aligned light and dark themes using createUnifiedTheme, registered in the frontend app for user selection, and provided CSS variable overrides for Backstage UI consistency. (packages/app/src/themes/brandTheme.ts, packages/app/src/App.tsx, packages/app/src/index.tsx, packages/app/src/styles/brand.css, packages/backstage-theme-github/src/styles.css, [1] [2] [3] [4] [5]
  • Refactored UI components (e.g., HomePage) to use theme tokens (from MUI/Backstage) instead of hardcoded colors for background, text, and borders, ensuring theme compatibility. (packages/app/src/components/home/HomePage.tsx, [1] [2] [3]

Primer (GitHub Design System) Integration

  • Added @primer/react and @primer/octicons-react as dependencies and created a scoped demo page/component (PrimerDemoPage, PrimerDemo) to showcase Primer components without affecting global app styles. (packages/app/package.json, packages/app/src/components/PrimerDemo.tsx, packages/app/src/components/PrimerDemoPage.tsx, packages/app/src/App.tsx, [1] [2] [3] [4]
  • Updated the sidebar to use Primer Octicons for navigation, replacing MUI icons for a more brand-consistent look. (packages/app/src/components/Root/Root.tsx, [1] [2] [3] [4]

Documentation and Developer Experience

  • Added detailed documentation for the app’s architecture, theming, and Primer integration, including instructions for development, plugin registration, and theming patterns. (AGENTS.md, packages/app/README-theme.md, [1] [2]
  • Updated test scripts to run in non-watch mode for CI compatibility. (mise.toml, mise.tomlL46-R46)

Dependency and Configuration Updates

  • Updated and added resolutions for Backstage frontend dependencies to ensure compatibility with new theming and plugin APIs. (package.json, package.jsonR48-R50)
  • Linked the new internal theme package in the app’s dependencies. (packages/app/package.json, packages/app/package.jsonR48-R56)

These changes collectively modernize the app’s look and feel, improve maintainability, and provide a foundation for further UI/UX enhancements.

- Added @primer/octicons-react dependency for icon usage.
- Replaced existing icons in the Sidebar with Primer Octicons for a consistent look.
- Updated HomePage styles to use theme colors for better theming support.
- Enhanced GitHub theme with improved typography settings and color palettes.
@johnnyhuy johnnyhuy self-assigned this Jan 2, 2026
This commit introduces a README file detailing the app theming process using Backstage’s Unified Theming API, instructions for switching themes, and information on the integration of the GitHub design system (Primer). It includes guidance on theme tokens, CSS variable overrides, and how to avoid global styling conflicts.
@johnnyhuy johnnyhuy merged commit c3965b1 into main Jan 2, 2026
2 of 3 checks passed
@johnnyhuy johnnyhuy deleted the feature/github-primer-theme branch January 2, 2026 01:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant