MR
Mayur Rathi
@sickn33
⭐ 47.3k GitHub stars

eas-hosting

eas-hosting is an code AI skill with a core value of Curated upstream guidance for Eas Hosting; use when the workflow matches the user goal. It helps developers solve real-world problems in the code domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

Curated upstream guidance for Eas Hosting; use when the workflow matches the user goal.

Last verified on: 2026-10-06

Quick Facts

Category code
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 47.3k
Last Verified 2026-10-06
Risk Level Low
mkdir -p ./skills/eas-hosting && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/eas-hosting/SKILL.md -o ./skills/eas-hosting/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# EAS Hosting


> **EAS service - costs apply.** EAS Hosting is a paid Expo Application Services product with free-tier limits; production deploys use your plan's request and bandwidth allowance. See https://expo.dev/pricing. Authoring API routes and exporting the web bundle are free and open source, and you can self-host the exported server output instead of EAS Hosting.


EAS Hosting deploys your Expo **web app and API routes** to Expo's managed edge (Cloudflare Workers). Export the web bundle with `npx expo export -p web` and ship it with `eas deploy` - the same command deploys any Expo Router API routes bundled alongside it. This skill covers deploying a website, authoring API routes, and the hosting runtime; see the Deployment section below for the deploy workflow.


When to Use API Routes


Use API routes when you need:


- **Server-side secrets** — API keys, database credentials, or tokens that must never reach the client

- **Database operations** — Direct database queries that shouldn't be exposed

- **Third-party API proxies** — Hide API keys when calling external services (OpenAI, Stripe, etc.)

- **Server-side validation** — Validate data before database writes

- **Webhook endpoints** — Receive callbacks from services like Stripe or GitHub

- **Rate limiting** — Control access at the server level

- **Heavy computation** — Offload processing that would be slow on mobile


When NOT to Use API Routes


Avoid API routes when:


- **Data is already public** — Use direct fetch to public APIs instead

- **No secrets required** — Static data or client-safe operations

- **Real-time updates needed** — Use WebSockets or services like Supabase Realtime

- **Simple CRUD** — Consider Firebase, Supabase, or Convex for managed backends

- **File uploads** — Use direct-to-storage uploads (S3 presigned URLs, Cloudflare R2)

- **Authentication only** — Use Clerk, Auth0, or Firebase Auth instead


File Structure


API routes live in the `app` directory with `+api.ts` suffix:


text
app/
  api/
    hello+api.ts          → GET /api/hello
    users+api.ts          → /api/users
    users/[id]+api.ts     → /api/users/:id
  (tabs)/
    index.tsx

Basic API Route


ts
// app/api/hello+api.ts
export function GET(request: Request) {
  return Response.json({ message: "Hello from Expo!" });
}

HTTP Methods


Export named functions for each HTTP method:


ts
// app/api/items+api.ts
export function GET(request: Request) {
  return Response.json({ items: [] });
}

export async function POST(request: Request) {
  const body = await request.json();
  return Response.json({ created: body }, { status: 201 });
}

export async function PUT(request: Request) {
  const body = await request.json();
  return Response.json({ updated: body });
}

export async function DELETE(request: Request) {
  return new Response(null, { status: 204 });
}

Dynamic Routes


ts
// app/api/users/[id]+api.ts
export function GET(request: Request, { id }: { id: string }) {
  return Response.json({ userId: id });
}

Request Handling


Query Parameters


ts
export function GET(request: Request) {
  const url = new URL(request.url);
  const page = url.searchParams.get("page") ?? "1";
  const limit = url.searchParams.get("limit") ?? "10";

  return Response.json({ page, limit });
}

Headers


ts
export function GET(request: Request) {
  const auth = request.headers.get("Authorization");

  if (!auth) {
    return Response.json({ error: "Unauthorized" }, { status: 401 });
  }

  return Response.json({ authenticated: true });
}

JSON Body


ts
export async function POST(request: Request) {
  const { email, password } = await request.json();

  if (!email || !password) {
    return Response.json({ error: "Missing fields" }, { status: 400 });
  }

  return Response.json({ success: true });
}

Environment Variables


Use `process.env` for server-side secrets:


ts
// app/api/ai+api.ts
export async function POST(request: Request) {
  c

🎯 Best For

  • UI designers
  • Product designers
  • Claude users
  • Software engineers
  • Development teams

💡 Use Cases

  • Generating component mockups
  • Creating design system tokens
  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply eas-hosting to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Does this work with Figma?

Some design skills integrate with Figma plugins. Check the Works With section for supported tools.

Is eas-hosting compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for eas-hosting?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install eas-hosting?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/eas-hosting/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping usability testing

AI-generated designs should be validated with real users before development.

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills