Skip to content
Development
Skill

/astro-developer

Comprehensive guide for developing in the Astro monorepo. Covers architecture, debugging, testing, and critical constraints. Use when working on features, fixes, tests, or understanding the codebase structure.

From plugin
dotnet-skills
499200 skills17 agents

Claude Code

$ npx -y skills add managedcode/dotnet-skills --skill astro-developer --agent claude-code

SKILL.md

astro-developer.SKILL.md
name: astro-developer
description: Comprehensive guide for developing in the Astro monorepo. Covers architecture, debugging, testing, and critical constraints. Use when working on features, fixes, tests, or understanding the codebase structure.

Astro Developer Skill

Context-loading skill for AI agents and developers working in the Astro monorepo. Loads relevant documentation based on your task.

Quick Decision Matrix

**What are you doing?** → **Read these files:**

| Task | Primary Docs | Supporting Docs | | -------------------------- | -------------------------------------------------------------------- | ---------------------------------- | | Adding a core feature | [architecture.md](architecture.md), [constraints.md](constraints.md) | [testing.md](testing.md) | | Fixing a bug | [debugging.md](debugging.md) | [architecture.md](architecture.md) | | Writing/fixing tests | [testing.md](testing.md) | [constraints.md](constraints.md) | | Creating an integration | Explore `packages/integrations/` for examples | [testing.md](testing.md) | | Understanding architecture | [architecture.md](architecture.md) | - | | Dealing with errors | [debugging.md](debugging.md), [constraints.md](constraints.md) | [testing.md](testing.md) | | Understanding constraints | [constraints.md](constraints.md) | [architecture.md](architecture.md) |

Critical Warnings

**Before you start, be aware of these common pitfalls:**

1. **Prefer Unit Tests**: Write unit-testable code by default. Use integration tests only when necessary → [testing.md](testing.md) 2. **Node.js API Restrictions**: Cannot use Node.js APIs in `runtime/` code → [constraints.md](constraints.md) 3. **Test Isolation**: Must set unique `outDir` for each integration test → [testing.md](testing.md) 4. **Runtime Boundaries**: Core vs Vite vs Browser execution contexts → [architecture.md](architecture.md) 5. **Prerelease Mode**: Changesets target `origin/next` branch (check `.changeset/config.json`)

Quick Command Reference

# Development
pnpm install                                    # Install (root only)
pnpm run build                                  # Build all packages
pnpm run dev                                    # Watch mode
pnpm run lint                                   # Lint codebase

# Testing
pnpm -C packages/astro exec astro-scripts test "test/**/*.test.js"  # All tests
pnpm -C packages/astro exec astro-scripts test -m "pattern"         # Filter tests
pnpm run test:e2e                               # E2E tests
node --test test/file.test.js                   # Single test

# Examples
pnpm --filter @example/minimal run dev          # Run example

# Changesets
pnpm exec changeset --empty                     # Create changeset, no interactive mode

Key File Paths

packages/astro/src/
├── core/              # Node.js execution context (build/dev commands)
├── runtime/
│   ├── server/        # Vite SSR execution context
│   └── client/        # Browser execution context
├── virtual-modules/   # Virtual module entry points
├── content/           # Content layer system
├── vite-plugin-*/     # Vite plugins
└── types/             # Centralized TypeScript types

packages/integrations/  # Official integrations
examples/              # Test your changes here
test/fixtures/         # Test fixtures

**Note**: Error stack traces in `node_modules/` map to source in `packages/`. See [architecture.md](architecture.md) for details.

Usage

This skill loads relevant context—it doesn't orchestrate workflows. After loading appropriate docs:

1. Read the recommended files for your task 2. Apply the patterns and constraints described 3. Use the commands and file paths provided 4. Search docs for error messages if you encounter issues

Architecture Quick Summary

**Three Execution Contexts:**

  • **core/** → Node.js, build/dev commands, avoid Node APIs except in Vite plugins
  • **runtime/server/** → Vite SSR, CANNOT use Node APIs
  • **runtime/client/** → Browser, CANNOT use Node APIs at all

**Five Pipeline Types:**

  • **RunnablePipeline** → `astro dev` with Vite loader system
  • **NonRunnablePipeline** → `astro dev` without runtime module loading (Cloudflare adapter)
  • **BuildPipeline** → `astro build` + prerendering
  • **AppPipeline** → Production serverless/SSR
  • **ContainerPipeline** → Container API

See [architecture.md](architecture.md) for complete details.

Testing Quick Summary

**Philosophy**: Prefer unit tests over integration tests. Write unit-testable code by default.

**Unit tests** (fast, preferred):

  • Test pure functions and business logic
  • Extract business logic from infrastructure
  • Use dependency injection

**Integration tests** (slow, use sparingly):

  • Only for features that cannot be unit tested (virtual modules, full build pipeline)
  • Always set unique `outDir` to avoid cache pollution

See [testing.md](testing.md) for complete patterns and examples.

When NOT to Use This Skill

  • **Bug triage**: Use the `triage` skill instead
  • **GitHub Actions analysis**: Use the `analyze-github-action-logs` skill
  • **Simple questions**: Just ask directly, don't load this skill

Related Documentation

  • Root: [/AGENTS.md](../../../AGENTS.md)
  • Root: [/CONTRIBUTING.md](../../../CONTRIBUTING.md)
  • Astro docs: https://docs.astro.build/
  • Package: packages/astro/src/core/README.md
  • Build plugins: packages/astro/src/core/build/plugins/README.md
Read more
@managedcode
Ships withdotnet-skills

Stop explaining .NET to your AI. Start building. We've all been there: asking Claude to use Entity Framework, only to get EF6 patterns in a .NET 8 project. Explaining to Copilot that Blazor Server and Blazor WebAssembly aren't the same thing.

499200 skills17 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
499
Star history of managedcode/dotnet-skills on GitHub, a chart by star-history.com

Other skills on dotnet-skills.

aspnet-core

aspnet-core

Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging,…

aspire

aspire

Build, upgrade, and operate Aspire 13.5.x C# or TypeScript application hosts with the current CLI, AppHost, ServiceDefaults,…

avalonia

avalonia

Build and debug Avalonia 11/12 .NET applications with XAML, compiled bindings, MVVM, custom controls, desktop lifetimes, and…

azure-functions

azure-functions

Build, review, or migrate Azure Functions in .NET with correct execution model, isolated worker setup, bindings, DI, and Durable…

blazor

blazor

Build and review Blazor applications across server, WebAssembly, web app, and hybrid scenarios with correct component design,…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about astro-developer.

Which coding agents can use astro-developer?
astro-developer installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.