Copilot/toolchain theme aspirec4#57
Merged
Merged
Conversation
- Replace Bun with npm throughout (package.json, workflows, instructions) - Replace husky/hereby with just + lefthook for git hooks and task running - Update all GitHub Actions to latest major versions (checkout v6, setup-node v6, etc.) - Fix deprecated z import: use astro/zod instead of astro:content - Add emoji support to links schema (XOR with image via Zod refine) - Add markdown linting with markdownlint-cli2 and lefthook integration - Rebuild site styles: complete dark/light/system theme, mobile-first, accessible - Add sidebar with ToC and project list on project detail pages - Limit MainBanner and hero heights on wide screens - Add AspireC4 project content entry with hasContent + remote README stacking - Add GitHub README badge to RemoteReadme component - Fix likec4-wordmark.svg theme responsiveness via colorScheme property - Lock Vite to <8 as per deprecation warning - Fix 'Say Hello' contact dialog with captcha support Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ompatibility @tailwindcss/vite@4.3.0 requires Rolldown (Vite 8 internals) which is incompatible with astro@6.3.1's Vite 7 dependency. Pinning to the 4.1.x patch range keeps compatibility until Astro upgrades to Vite 8. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR modernizes the site’s toolchain (moving from Bun/Hereby/Husky to npm + Lefthook/Just) while also improving theme handling (including color-scheme), accessibility (skip link + focus ring), and the project pages UX (sidebar navigation + optional remote README rendering).
Changes:
- Migrate automation and CI/CD from Bun to npm (GitHub Actions, scripts, lockfiles), replacing Husky/Hereby with Lefthook + Just + markdownlint-cli2.
- Improve theming and accessibility (focus-visible styles, skip-to-content,
color-schemehandling, updated theme toggle UI). - Enhance project pages with a sidebar (TOC + all projects) and richer remote README rendering/linking, plus content/schema updates for link icons (image/emoji).
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/src/types/component-types.ts | Adds optional emoji to link props and makes image optional. |
| src/src/styles/global.css | Removes old highlight.js overrides; adds global :focus-visible ring styles. |
| src/src/pages/projects/[...slug].astro | Adjusts remote README discovery and rendering logic; passes projectId to layout. |
| src/src/pages/404.astro | Improves dark-mode text/link colors. |
| src/src/layouts/ProjectLayout.astro | Refactors layout into two-column design; adds sidebar + loads all projects for nav. |
| src/src/layouts/Layout.astro | Improves theme initialization (colorScheme) and adds skip link + main id. |
| src/src/content.config.ts | Updates zod import path; adds link emoji support + XOR validation. |
| src/src/components/ThemeToggle.tsx | Reworks theme toggle UI into explicit buttons; improves system-theme responsiveness. |
| src/src/components/TableOfContents.astro | Updates TOC styling/indentation and improves robustness for missing depth mappings. |
| src/src/components/RemoteReadme.astro | Adds sourceUrl and a GitHub “README.md” link button above rendered HTML. |
| src/src/components/projects/ProjectSidebar.astro | New sidebar component showing TOC and project list with status emoji. |
| src/src/components/projects/ProjectLink.astro | Supports emoji-based icons and adjusts image alt handling. |
| src/src/components/Navigation.tsx | Adds an id to the mobile menu container. |
| src/src/components/MailToLink.tsx | Improves dark-mode styling and focus styles for the contact dialog form. |
| src/src/components/Logo.astro | Inverts logo in dark mode. |
| src/src/components/index/WhatDoWeDo.astro | Refactors layout and switches to astro:assets Image component. |
| src/src/components/index/ServiceCard.astro | Adjusts heading level for service cards. |
| src/src/components/index/OurServices.astro | Refactors markup into a semantic section with updated spacing/structure. |
| src/src/components/HeroBanner.astro | Refactors hero markup to a single unified light/dark overlay and semantic section. |
| src/src/components/Header.astro | Adds background + border styling for header in light/dark mode. |
| src/src/components/Footer.tsx | Refactors markup/attributes; adjusts icon alt usage. |
| src/src/collections/projects/TaskRunner.md | Updates status and adds “Just” note + new section content. |
| src/src/collections/projects/shared-assets/nuget.svg | Adds shared NuGet SVG asset for project link icons. |
| src/src/collections/projects/shared-assets/likec4-logo.svg | Adds shared LikeC4 logo asset for project link icons. |
| src/src/collections/projects/shared-assets/aspire-logo.svg | Adds shared Aspire logo asset for project link icons. |
| src/src/collections/projects/PurviewTelemetrySourceGenerator.md | Updates NuGet icon path to shared asset. |
| src/src/collections/projects/PurviewEventStore.md | Adds an update section with new info. |
| src/src/collections/projects/LikeC4.md | Updates tags/hasContent and adds a sponsor link with emoji. |
| src/src/collections/projects/AzureDevOpsWikiUpgrade.md | Minor heading punctuation tweak. |
| src/src/collections/projects/aspirec4/likec4-wordmark.svg | Adds LikeC4 wordmark SVG with prefers-color-scheme switching. |
| src/src/collections/projects/AspireC4.md | Adds a new project entry for AspireC4. |
| src/src/assets/likec4-light.svg | Removes old LikeC4 light asset. |
| src/src/assets/likec4-dark.svg | Removes old LikeC4 dark asset. |
| src/src/assets/github-mark.svg | Refactors GitHub mark SVG to include light/dark variants via media query. |
| src/src/assets/github-mark-light.svg | Adds a GitHub mark variant asset. |
| src/src/assets/github-mark-dark.svg | Adds a GitHub mark variant asset. |
| src/package.json | Updates Astro/tooling versions and switches astro upgrade script to npx. |
| src/.markdownlint.json | Expands markdownlint configuration and allowed inline HTML elements. |
| scripts/hereby-exts.mts | Removes Bun/Hereby helper utilities. |
| package.json | Replaces Husky/Hereby with Lefthook + markdownlint-cli2; adds prepare hook. |
| lefthook.yml | Adds pre-commit/commit-msg hooks for astro check, markdownlint, and commitlint. |
| Justfile | Adds Just task runner recipes for common workflows using npm. |
| index.ts | Removes Bun starter file. |
| Herebyfile.mts | Removes Hereby task definitions. |
| bunfig.toml | Removes Bun configuration. |
| bun.lock | Removes Bun lockfile. |
| .markdownlint-cli2.yaml | Adds markdownlint-cli2 ignores configuration. |
| .husky/commit-msg | Removes Husky commit-msg hook script. |
| .github/workflows/pull-request.yml | Migrates PR CI from Bun to Node/npm and updates action versions. |
| .github/workflows/deploy.yml | Migrates deploy workflow to Node/npm + updated withastro/deploy-pages actions. |
| .github/copilot-instructions.md | Updates repo instructions to reflect npm-first toolchain and broader guidance. |
Files not reviewed (1)
- src/package-lock.json: Language not supported
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.