mcpField
E
edge-computing

edge-computing

github.com/thebeardedbearsasCloud & DevOps107113 installsUpdated today
Repository

About edge-computing

A skill reference for developers building compute close to users on edge platforms. It covers platform options alongside patterns for geo-routing, caching, and stateful connections.

Key features

  1. 01References Cloudflare Workers, Deno Deploy, and others
  2. 02Routes requests by geographic location
  3. 03Caches responses with KV
  4. 04A/B testing and bot detection patterns
  5. 05Stateful connections with Durable Objects
  6. 06Notes on edge runtime constraints

Use cases

  1. 01Choose an API based on request country
  2. 02Cache origin responses to avoid repeated fetches
  3. 03Assign users an A/B test variant
  4. 04Build chat sessions over WebSockets

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/thebeardedbearsas/claude-craft --skill edge-computing

After installing, type/edge-computingin Claude Code to confirm it loaded.

Details

From the project README

Edge Computing — Cloudflare Workers, Deno Deploy

Compute global faible latence, proche utilisateur.

Platforms

Cloudflare Workers — V8, 300+ POPs, KV/Durable
Deno Deploy — Deno, 30+ POPs, TypeScript
Vercel Edge — V8, 20+ POPs, Next.js
Fastly Compute@Edge — WASM, 70+ POPs

Geo-Routing

export default {
  async fetch(req) {
    const api = req.cf.country === 'US' ? 'us-api' : 'eu-api';
    return fetch(`https://${api}.example.com${req.url}`);
  }
};

Edge Caching (KV)

const key = new URL(req.url).pathname;
let cached = await env.KV.get(key);
if (cached) return new Response(cached, { headers: { 'X-Cache': 'HIT' } });
const resp = await fetch('https://origin.com' + key);
const body = await resp.text();
await env.KV.put(key, body, { expirationTtl: 3600 });
return new Response(body, { headers: { 'X-Cache': 'MISS' } });

A/B Testing

const variant = Math.random() < 0.5 ? 'A' : 'B';
resp.cookies.set('ab_test', variant);

Bot Detection

if (/bot|crawler/i.test(req.headers.get('User-Agent'))) {
  return new Response('Forbidden', { status: 403 });
}

Durable Objects (Stateful)

export class ChatRoom {
  async fetch(req) {
    const [client, server] = Object.values(new WebSocketPair());
    this.sessions.push(server); server.accept();
    server.on('message', e => this.broadcast(e.data));
    return new Response(null, { status: 101, webSocket: client });
  }
}

Constraints

CPU 10-50ms → offload heavy
Memory 128MB → streaming
No FS → KV/R2


Voir @.claude/skills/wasm/SKILL.md

Comments

Markdown supported