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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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
- Rename samples page to /learning-hub/cookbook/
- Remove Samples from top navigation bar
- Add Cookbook to learning hub sidebar under Hands-on section
- Add Cookbook card to learning hub index page
- Add redirect from /samples/ to /learning-hub/cookbook/
- Add breadcrumb navigation back to Learning Hub
- Add Astro Content Collection for learning-hub articles
- Move 5 fundamentals articles into website/src/content/learning-hub/
- Create ArticleLayout.astro for rendering markdown articles
- Create index page listing all articles in recommended reading order
- Create dynamic [slug].astro route for individual articles
- Add Learning Hub to main navigation and homepage cards
- Add article prose and index page CSS styles
- Update internal links to use website URLs
- Create website/src/pages/llms.txt.ts as an Astro static endpoint
- Remove generateLlmsTxt function from generate-website-data.mjs
- llms.txt is now generated at build time by Astro alongside other pages
- Add git-dates.mjs utility to extract file modification dates from git history
- Include lastUpdated field in JSON data for all resource types
- Display relative time (e.g., '3 days ago') with full date on hover
- Add 'Recently Updated' sort option to agents, prompts, instructions, and skills pages
- Update deploy-website.yml to use fetch-depth: 0 for full git history
CI overhead: ~20-30s additional for full git checkout
- Add Monaspace Argon NF font for dev icons
- Update cookbook.yml with unicode codepoints for language icons:
- TypeScript: \uE628
- Python: \uE73C
- C#/.NET: \uF81A
- Go: \uE626
- Style .lang-tab and .lang-indicator with Nerd Font family
Integrates the cookbook/ folder into the website's Samples page:
Data Structure:
- Add cookbook/cookbook.yml manifest defining cookbooks and recipes
- Add .schemas/cookbook.schema.json for validation
- Add COOKBOOK_DIR constant to eng/constants.mjs
Build Integration:
- Add generateSamplesData() to generate samples.json from cookbook.yml
- Include recipe variants with file paths for each language
- Add samples count to manifest.json
Website UI:
- Create samples.ts with FuzzySearch, language/tag filtering
- Replace placeholder samples.astro with functional recipe browser
- Recipe cards with language indicators and action buttons
- Language tabs for switching between implementations
- View Recipe/View Example buttons open modal
- GitHub link for each recipe
Features:
- Search recipes by name/description
- Filter by programming language (Node.js, Python, .NET, Go)
- Filter by tags (multi-select with Choices.js)
- 5 recipes across 4 languages = 20 recipe variants
- Remove separate hero-stats section
- Add card-count element to each resource card
- Update JS to populate counts from manifest
- Add card-with-count CSS for layout with count badge
- Reduces vertical space on home page