Commit Graph

110 Commits

Author SHA1 Message Date
Aaron Powell
e6437902d6 Fix sidebar navigation text contrast in light mode (#902)
* Fixing the action link

* Fix sidebar navigation text contrast in light mode

- Use --sl-color-text-invert instead of --sl-color-white for active
  sidebar item, fixing near-black text on dark purple background
  (contrast ~2.5:1 → ~7.1:1)
- Bump inactive sidebar links to font-weight 500 for better readability

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-06 16:10:05 +11:00
Copilot
4707565c7b [WIP] Update text colour for improved navigation readability (#897)
* Initial plan

* fix: improve readability of active nav item on learning hub pages

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-03-06 13:57:39 +11:00
Copilot
78e3ea29c2 [WIP] Fix URL path issue in learning hub (#895)
* Initial plan

* fix: use relative links in learning-hub index to preserve base path

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-03-06 10:22:25 +11:00
MV Karan
e3ee37a274 Add instrumentation script for pageview analytics (#875)
* Add instrumentation script for pageview analytics

* Only include analytics tags in production builds

Wrap hydro-marketing analytics meta tag and script in an
import.meta.env.PROD conditional so they are excluded during
local development and only rendered in production builds.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add production-only analytics tags to Starlight Head component

Add hydro-marketing analytics meta tag and script to the custom
Head.astro component override, gated behind import.meta.env.PROD
so they only render in production builds (GitHub Pages deploy).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-06 08:00:52 +11:00
Aaron Powell
40fd1a6c72 Migrate website to Starlight with full-text resource search (#883)
* Add search functionality to Learning Hub index page

Add a client-side search bar that filters articles by title, description,
and tags. Sections with no matching results are hidden automatically.
Uses the existing .search-bar CSS pattern from the cookbook page.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore: remove deprecated layouts, theme script, and learning-hub config

Phase 5 cleanup of Starlight migration:
- Delete BaseLayout.astro (replaced by StarlightPage)
- Delete ArticleLayout.astro (replaced by Starlight docs rendering)
- Delete theme.ts (Starlight has built-in theme toggle)
- Delete src/config/learning-hub.ts (sidebar order now in astro.config.mjs)
- Replace learning-hub glob collection with Starlight docs collection in content.config.ts
- Keep search.ts (still used by homepage and all resource page scripts)

Build verified: 23 pages, no errors.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Migrate website to Starlight with full-text resource search

- Replace bespoke Astro layouts with Starlight integration
  - Homepage and resource pages use StarlightPage wrapper
  - Learning Hub articles rendered via Starlight docs collection
  - Starlight provides search, theme toggle, sidebar, ToC, a11y

- Add custom Pagefind integration for resource search
  - All 614 agents/skills/instructions/hooks/workflows/plugins
    indexed as custom records with deep-link URLs
  - Type filter pills (horizontal pill toggles) above results
  - Search results link directly to resource modals via #file= hash

- Move global.css to src/styles/ for Vite processing
  - Scope CSS reset to #main-content to avoid Starlight conflicts
  - Full-width page gradient via body:has(#main-content)
  - Light/dark theme support with Starlight gray scale inversion

- Delete old layouts (BaseLayout, ArticleLayout), theme.ts, config

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR review feedback

- Fix pagefind-resources.ts header comment (pagefind:true not false)
- Remove unused base variable in cookbook/index.astro
- Replace hardcoded /awesome-copilot/ paths with relative links in index.md
- Delete stale public/styles/global.css (source of truth is src/styles/)
- Replace fragile getBasePath() with Astro config base in pagefind integration
- Document pagefind:true reasoning in astro.config.mjs
- Use proper visually-hidden pattern + :focus-visible ring for filter pills
- Remove dead header/nav/theme CSS from global.css (~160 lines)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-05 21:50:44 +11:00
Aaron Powell
3857869d88 forgot that place to update 2026-03-03 09:47:46 +11:00
Aaron Powell
e24b411d0b Temp disabling of cname 2026-03-03 09:05:15 +11:00
Aaron Powell
a998c2d38c feat: support external recipes in cookbook (#831)
* feat(schema): add external recipe fields to cookbook schema

Add optional external, url, and author fields to the recipe schema
in cookbook.schema.json. When external is true, url is required via
conditional validation. Author supports name (required) and url
(optional) for attribution.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(data): support external recipes in data generator

- External recipes (external: true) skip local file validation
- Validate URL format for external recipes
- Pass through external, url, and author fields to output JSON
- Add per-recipe languages array: derived from resolved variant keys
  for local recipes, and from tags matching known language IDs for
  external recipes
- Collect language IDs in a first pass before processing recipes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(website): render external recipe cards on cookbook page

- Extend Recipe interface with external, url, author, and languages
- Render external recipes with Community badge, author attribution,
  and View on GitHub link instead of View Recipe/View Example buttons
- Language filter uses per-recipe languages array uniformly
- Remove Nerd Font icons from select dropdown options (native selects
  cannot render custom web fonts)
- Add CSS for external recipe cards (dashed border, badge, author)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(cookbook): add community samples section with first external recipe

Add a Community Samples cookbook section to cookbook.yml with the
Node.js Agentic Issue Resolver as the first external recipe entry,
linking to https://github.com/Impesud/nodejs-copilot-issue-resolver.

Resolves the use case from PR #613 for supporting external samples.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(cookbook): add Copilot SDK Web App to community samples

Add aaronpowell/copilot-sdk-web-app — a full-stack chat app built with
the GitHub Copilot SDK, .NET Aspire, and React.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-02 19:36:10 +11:00
Aaron Powell
4cf83b0161 Add contribution CTA to all listing pages (#850)
* Add contribution CTA to all listing/search pages

Add a reusable ContributeCTA component that encourages visitors to
contribute their own resources. The CTA appears at the bottom of every
resource listing page (agents, instructions, skills, hooks, workflows,
plugins, tools) with:

- Contextual text that adapts to the resource type
- 'Contribute yours' primary button linking to CONTRIBUTING.md
- 'Request a resource' outline button linking to new issue creation
- Gradient top bar matching existing card design patterns
- Responsive layout that stacks on mobile

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add Contribute button to page header on all listing pages

Place an outlined Contribute button in each page-header section so it's
immediately visible without scrolling. Uses accent purple border that
fills on hover with a glow effect. Stacks below description on mobile
via a 600px breakpoint.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add screenshots for contribution CTA PR

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* didn't mean to commit them

* Extract PageHeader component to deduplicate header markup

Address PR review feedback: the header Contribute link (URL, SVG icon,
classes) was duplicated across all 7 listing pages. Extract into a
reusable PageHeader.astro component that accepts title and description
props, with a slot for rich HTML descriptions (used by workflows page).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-02 16:21:22 +11:00
Copilot
ac6b76b2fb Fix GitHub Pages CNAME: move from repo root to website/public/ (#849)
* Initial plan

* Move CNAME from repo root to website/public/

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-03-02 11:18:14 +11:00
Bruno Borges
77cfe63067 Add Agentic Workflows article to Learning Hub (#839)
* Add Agentic Workflows article to Learning Hub

Covers what agentic workflows are, how to consume community
workflows from Awesome Copilot, and how to contribute new ones.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update website/src/content/learning-hub/agentic-workflows.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-02 10:51:03 +11:00
Aaron Powell
d9855a8091 Merge pull request #838 from brunoborges/update-workflow-headline
Link Agentic Workflows headline to gh.io/gh-aw
2026-03-02 10:27:11 +11:00
Lee Reilly
e5084eba1c Update URL 2026-03-02 09:09:31 +11:00
Lee Reilly
805e472df3 Update old URL 2026-03-02 09:09:31 +11:00
Bruno Borges
c7c4e49b24 Update website/src/pages/workflows.astro
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-27 17:04:56 -05:00
Bruno Borges
cd65eded2e Link Agentic Workflows headline to gh.io/gh-aw
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-27 15:42:23 -05:00
Aaron Powell
99a7ef8f69 Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-26 16:49:14 +11:00
Aaron Powell
d73c0bb1f3 Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-26 16:33:14 +11:00
Aaron Powell
0637cad186 refactor: extract Learning Hub article ordering into shared config
Move duplicated fundamentalsOrder and referenceOrder arrays from
index.astro and ArticleLayout.astro into a shared config file at
src/config/learning-hub.ts. Both consumers now import from the
single source of truth.

Addresses PR review comment about maintenance burden of keeping
two copies in sync.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 14:59:50 +11:00
Aaron Powell
e0636e8165 fix: resolve 27 broken links across Learning Hub articles
- Fix double-path issue: ../learning-hub/X/ → ../X/ (9 links)
- Fix wrong depth for top-level pages: ../agents/ → ../../agents/ (4 links)
- Fix absolute paths missing base URL: /learning-hub/X/ → ../X/ (7 links)
- Fix dead file references: link to GitHub source instead (3 links)
- Verified 0 broken links remaining via Playwright crawl of all 12 articles

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 14:48:23 +11:00
Aaron Powell
0758c957c5 docs: fixing links 2026-02-26 14:38:12 +11:00
Aaron Powell
1752caf479 docs: Updating how you mention files to be cross-tool 2026-02-26 14:37:01 +11:00
Aaron Powell
4b25ed4543 docs: add Learning Hub article on installing and using plugins
- New article covering plugin concepts, finding/installing/managing plugins,
  marketplace browsing, and how this repo serves as a plugin marketplace
- Add 'installing-and-using-plugins' to fundamentalsOrder in index.astro
  and ArticleLayout.astro
- Add Plugin entry to terminology glossary

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 14:32:36 +11:00
Aaron Powell
9d4e024f24 docs: expand coding agent article with custom agents, skills, and repo resources
- Expand 'Specifying an Agent' into full 'Using Custom Agents' section
  with agent profile format, storage locations, and selection methods
- Add 'Agent Skills and the Coding Agent' section covering how skills
  are automatically loaded, directory structure, and SKILL.md format
- Add comparison table: Instructions vs Skills vs Custom Agents
- Add 'Leveraging Community Resources' section linking to this repo's
  agents, skills, and hooks directories
- Update best practices with skills and agent recommendations
- Update FAQ to cover both agents and skills
- Add skills article to related articles and Next Steps

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 14:21:57 +11:00
Aaron Powell
31c41a6a1c fix: align hooks docs with official GitHub Copilot hooks spec
- Remove non-existent copilotAgentCommit event from all articles
- Add 5 missing hook events: preToolUse, postToolUse, agentStop,
  subagentStop, errorOccurred
- Fix hooks location from .copilot/hooks.json to .github/hooks/*.json
- Add powershell field to config format
- Add preToolUse security gating example (approve/deny tool executions)
- Update glossary and coding agent article cross-references

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 14:08:20 +11:00
Aaron Powell
a88c9f89d5 style: add subtle borders to tables in Learning Hub articles
Tables in article content were invisible due to no border styles.
Add collapsed borders, a tinted header row, and a subtle hover effect
scoped to .article-content table elements.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 13:49:37 +11:00
Aaron Powell
2d75b4429f feat: add sticky sidebar navigation to Learning Hub index
Add a left sidebar to the Learning Hub index page matching the pattern
already used on individual article pages. The sidebar lists all articles
grouped by section (Fundamentals, Reference, Hands-on) and stays sticky
while scrolling, reducing vertical scroll for the now 10-article list.

Also update ArticleLayout.astro fundamentalsOrder to include the 4 new
articles added in the previous commit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 12:50:19 +11:00
Aaron Powell
48ca6b237f docs: update cross-references and glossary for new articles
- Replace 'Building Custom Agents (coming soon)' with real links
- Add Hook and Coding Agent entries to the glossary
- Add MCP Servers learning hub link to glossary MCP entry

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 12:34:19 +11:00
Aaron Powell
cb8287b81a docs: add 4 new Learning Hub articles for agents, MCP, hooks, coding agent
Add four high-priority articles identified by gap analysis against
nishanil/copilot-guide:

- Building Custom Agents: personas, tools, MCP integration, patterns
- Understanding MCP Servers: what MCP is, configuration, agent usage
- Automating with Hooks: lifecycle events, hooks.json, practical examples
- Using the Copilot Coding Agent: setup steps, issue assignment, PR workflow

Update index.astro fundamentalsOrder to include all 10 articles.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 12:34:12 +11:00
Aaron Powell
9ca197d816 fix: align Learning Hub card layout on homepage
Add card-with-count class to the Learning Hub card so its emoji icon
aligns horizontally with the title, matching all other cards in the
grid. Previously it used the base card class which stacked the icon
above the content.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 12:18:28 +11:00
Aaron Powell
a01f3d82c5 docs: replace prompts with skills across Learning Hub
Replace all prompt file references with skills guidance throughout the
Learning Hub. Skills are the preferred customization primitive because
they support agent discovery via extended frontmatter, can bundle
reference files and scripts, and are portable across coding agent
systems via the Agent Skills specification.

- Create what-are-agents-skills-instructions.md (replaces prompts article)
- Create creating-effective-skills.md (replaces prompts tutorial)
- Delete what-are-agents-prompts-instructions.md and creating-effective-prompts.md
- Update copilot-configuration-basics.md directory structure and examples
- Update defining-custom-instructions.md comparisons and cross-references
- Update glossary: deprecate Prompt entry, add Skill definition
- Update understanding-copilot-context.md and before-after examples
- Update learning-hub index.astro slugs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 12:18:23 +11:00
Aaron Powell
3f84820ce0 Merge branch 'staged' into learning-hub 2026-02-26 11:19:49 +11:00
Aaron Powell
1b93bf4256 fix: add missing meta tags for Twitter/X social card images
Add og:image:width, og:image:height, og:image:type, and
twitter:image:alt meta tags so Twitter/X can properly display
the social card image when links are shared.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-26 09:26:45 +11:00
Aaron Powell
f4c080b8bf feat(website): add Open Graph and Twitter Card meta tags for social sharing
- Add og:type, og:url, og:title, og:description, og:image, og:site_name meta tags
- Add twitter:card, twitter:title, twitter:description, twitter:image meta tags
- Add canonical URL link element
- Use social-image.png for social preview image
- Update document.title dynamically when modal opens/closes
- Resolve resource titles from JSON data files instead of raw filenames
- Handle skill/hook folder path mismatches for title lookup
- Change title separator from '-' to '|' for consistency

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 19:28:01 +11:00
Aaron Powell
0f42a72a20 Little context tweak 2026-02-25 16:34:41 +11:00
Aaron Powell
3ab1d9dece Update website/src/scripts/utils.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-25 16:32:20 +11:00
Aaron Powell
83aed9e974 Extract workflow triggers from 'on' frontmatter field, drop tags
Update parseWorkflowMetadata to extract triggers from the 'on'
property keys (e.g. schedule, issue_comment) instead of a separate
'triggers' field. Remove tags support from workflows since workflows
don't use tags.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 16:23:49 +11:00
Aaron Powell
6fc9e9375a Fix type-only imports for SearchItem across page scripts
Use 'type' modifier on SearchItem imports to satisfy
verbatimModuleSyntax. Without this, esbuild strips the interface
export but leaves the value import, causing a runtime error.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 16:13:04 +11:00
Aaron Powell
f5ac976836 Add agentic workflows page to website
Add a new /workflows/ page for browsing agentic workflow definitions
with search, trigger/tag filters, and sorting. Follows the same
patterns as the existing hooks page.

New files:
- website/src/pages/workflows.astro
- website/src/scripts/pages/workflows.ts

Updated files:
- BaseLayout.astro: add Workflows nav link
- index.astro: add Workflows card to homepage
- pages/index.ts: add workflows to counts
- utils.ts: add workflow type to icons, labels, and getResourceType

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 16:12:56 +11:00
Aaron Powell
a038e281db Add TypeScript config for Astro website
Add tsconfig.json extending astro/tsconfigs/base and env.d.ts with
Astro client type references to resolve import.meta.env type errors.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 15:54:15 +11:00
Aaron Powell
5bff7cadc0 Remove prompts from website
Remove the prompts page, navigation link, homepage card, and all
references to prompts across the website source code. The repo no
longer contains prompt files, so the website should not reference them.

Files removed:
- website/src/pages/prompts.astro
- website/src/scripts/pages/prompts.ts

Files updated:
- BaseLayout.astro: remove nav link and update description
- index.astro: remove prompts card and update text
- llms.txt.ts: remove prompts import and section
- plugins.astro: update description text
- utils.ts: remove prompt type from install config, icons, labels
- pages/index.ts: remove prompts from counts
- modal.ts: update JSDoc comment

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-25 15:54:09 +11:00
dependabot[bot]
69f9b89df5 chore(deps): bump devalue
Bumps the npm_and_yarn group with 1 update in the /website directory: [devalue](https://github.com/sveltejs/devalue).


Updates `devalue` from 5.6.2 to 5.6.3
- [Release notes](https://github.com/sveltejs/devalue/releases)
- [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/devalue/compare/v5.6.2...v5.6.3)

---
updated-dependencies:
- dependency-name: devalue
  dependency-version: 5.6.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-20 04:48:24 +00:00
Luiz Bon
9f43980c68 Merge branch 'main' into feat/agent-manager 2026-02-18 20:28:34 +11:00
Luiz Bon
4025fda170 Add VS Code Agent Manager tool with features for managing Copilot agents 2026-02-18 20:25:44 +11:00
copilot-swe-agent[bot]
9d41a60236 Remove logo icon from website header
Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-02-18 02:41:33 +00:00
Aaron Powell
ad85976dbb Remove text gradients from hero h1 and card-count
Replace gradient-clipped text with solid color (--color-primary) for
a simpler, cleaner design.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-17 10:58:35 +11:00
copilot-swe-agent[bot]
03aaae8dde Refactor plugin detection for better clarity
Split plugin detection into separate checks for plugin directories and plugin.json files to improve code readability and maintainability.

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-02-13 04:51:10 +00:00
copilot-swe-agent[bot]
65cd7bac3f Fix plugin detection in getResourceType for deep-linking
Update getResourceType to detect plugin directories (plugins/<id>) and plugin.json files instead of .collection.yml files. This fixes deep-linking via #file=plugins/<id> which was previously resolving to 'unknown' and not opening the plugin modal.

Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com>
2026-02-13 04:49:45 +00:00
Aaron Powell
7a003fc75a Deprecate Collections in favour of Plugins
Replace Collections with Plugins as first-class citizens in the repo.
With the Copilot CLI v0.409 release making plugins an on-by-default
marketplace, collections are redundant overhead.

## What changed

### Plugin Infrastructure
- Created eng/validate-plugins.mjs (replaces validate-collections.mjs)
- Created eng/create-plugin.mjs (replaces create-collection.mjs)
- Enhanced all 42 plugin.json files with tags, featured, display, and
  items metadata from their corresponding collection.yml files

### Build & Website
- Updated eng/update-readme.mjs to generate plugin docs
- Updated eng/generate-website-data.mjs to emit plugins.json with full
  items array for modal rendering
- Renamed website collections page to plugins (/plugins/)
- Fixed plugin modal to use <div> instead of <pre> for proper styling
- Updated README.md featured section from Collections to Plugins

### Documentation & CI
- Updated CONTRIBUTING.md, AGENTS.md, copilot-instructions.md, PR template
- Updated CI workflows to validate plugins instead of collections
- Replaced docs/README.collections.md with docs/README.plugins.md

### Cleanup
- Removed eng/validate-collections.mjs, eng/create-collection.mjs,
  eng/collection-to-plugin.mjs
- Removed entire collections/ directory (41 .collection.yml + .md files)
- Removed parseCollectionYaml from yaml-parser.mjs
- Removed COLLECTIONS_DIR from constants.mjs

Closes #711
2026-02-13 15:38:37 +11:00
Aaron Powell
2c5d251792 Fix modal close button on samples page
The samples page never called setupModal(), so the close button,
Escape key, and backdrop click handlers were never registered.
Add the missing setupModal() call matching all other pages.
2026-02-12 14:23:47 +11:00