astro-developer

安装量: 49
排名: #15082

安装

npx skills add https://github.com/withastro/astro --skill astro-developer
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
,
constraints.md
testing.md
Fixing a bug
debugging.md
architecture.md
Writing/fixing tests
testing.md
constraints.md
Creating an integration
Explore
packages/integrations/
for examples
testing.md
Understanding architecture
architecture.md
-
Dealing with errors
debugging.md
,
constraints.md
testing.md
Understanding constraints
constraints.md
architecture.md
Critical Warnings
Before you start, be aware of these common pitfalls:
Prefer Unit Tests
Write unit-testable code by default. Use integration tests only when necessary →
testing.md
Node.js API Restrictions
Cannot use Node.js APIs in
runtime/
code →
constraints.md
Test Isolation
Must set unique
outDir
for each integration test →
testing.md
Runtime Boundaries
Core vs Vite vs Browser execution contexts →
architecture.md
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
for details.
Usage
This skill loads relevant context—it doesn't orchestrate workflows. After loading appropriate docs:
Read the recommended files for your task
Apply the patterns and constraints described
Use the commands and file paths provided
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
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
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 Root: /CONTRIBUTING.md Astro docs: https://docs.astro.build/llms.txt Package: packages/astro/src/core/README.md Build plugins: packages/astro/src/core/build/plugins/README.md
返回排行榜