astro-developer

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

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.

.agents/skills/astro-developer/SKILL.md

Download bundle ↓
main · 63ca3426 bundle filesScanned 2026-09-14

SKILL.md

1,244 tokens · o200k_base · 5,891 bytes

Source excerpt starting at line 1.
---name: astro-developerdescription: 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 ```bash# Developmentpnpm install                                    # Install (root only)pnpm run build                                  # Build all packagespnpm run dev                                    # Watch modepnpm run lint                                   # Lint codebase # Testingpnpm -C packages/astro exec astro-scripts test "test/**/*.test.js"  # All testspnpm -C packages/astro exec astro-scripts test -m "pattern"         # Filter testspnpm run test:e2e                               # E2E testsnode --test test/file.test.js                   # Single test # Examplespnpm --filter @example/minimal run dev          # Run example # Changesetspnpm 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 integrationsexamples/              # Test your changes heretest/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 task2. Apply the patterns and constraints described3. Use the commands and file paths provided4. 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 
Discovery context

Discovered by repository scan. No exact path reference found in the snapshot’s root AGENTS.md.