EffectPatterns copilot-instructions.md

Repository instructions for coding agents working on Effect-Patterns, a knowledge base and server for practical Effect-TS programming patterns. They explain the project's architecture, including how services and dependencies should be defined.

In plain words
What is it for?
Guiding work on Effect-TS services, dependency injection, the pattern server, documentation, examples, and MCP integration.
Why use it?
They help agents make changes that match the project's Effect-TS design and avoid inconsistent service or dependency-injection code.

Instructions file for GitHub Copilot

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/pauljphilp/effectpatterns/copilot-instructions
Clone the repo
git clone --depth 1 https://github.com/PaulJPhilp/EffectPatterns

Made for: GitHub Copilot.

Per session 5,559 This file is loaded in full into every session.
When invoked 5,559 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.05559 $0.05559
Opus 5 $0.02780 $0.02780
Sonnet 5 $0.01112 $0.01112
Haiku 4.5 $0.00556 $0.00556

Measured 2d ago against content hash 89f3af130e9f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

EffectPatterns copilot-instructions.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl https://your-deployment-url.vercel.app/api/health
.github/copilot-instructions.md · 965 lines

How it starts

The opening of the file, as written. The whole thing — 965 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Effect-Patterns AI Agent Instructions

Project Overview

Effect-Patterns is a community-driven knowledge base of practical patterns for building robust applications with Effect-TS. The project includes:

  • A pattern server for serving API endpoints
  • Documentation and examples of Effect-TS patterns
  • Rules and guidelines for AI coding agents
  • MCP server integration for context-aware coding assistance

Key Architectural Patterns

Service Pattern

All services must use the modern Effect.Service pattern:

export class UserService extends Effect.Service<UserService>()("UserService", {
  // Enable static accessor methods
  accessors: true,

  // Define implementation with dependencies
  effect: Effect.gen(function* () {
    // Get dependencies
    const logger = yield* LoggerService;
    const db = yield* DatabaseService;

    return {
      getUser: (id: string) =>
        Effect.gen(function* () {
          yield* logger.log(`Fetching user ${id}`);
          return yield* db.query(`SELECT * FROM users WHERE id = ${id}`);
        }),
    };
  }),

  // Declare dependencies
  dependencies: [LoggerService.Default, DatabaseService.Default],
}) {}

Dependency Injection

  • Use Layer-based DI with Layer.merge
  • Compose layers logically:
const mainLayer = Layer.merge(
  DatabaseService.Default,
  LoggerService.Default,
  NodeContext.layer
);

const program = Effect.gen(function* () {
  // Program logic
}).pipe(Effect.provide(mainLayer));

Error Handling

Define tagged errors for type-safety:

export class ServiceError extends Data.TaggedError("ServiceError")<{
  message: string;
  cause?: unknown;
}> {}

// Usage
Effect.gen(function* () {
  try {
    // Operation
  } catch (cause) {
    yield* Effect.fail(
      new ServiceError({
        message: "Operation failed",
        cause,
      })
    );
  }
});

HTTP Server

Build HTTP servers with @effect/platform:

const app = HttpRouter.empty.pipe(
  HttpRouter.get("/health", () =>
    Effect.succeed({ status: "ok" }).pipe(
      Effect.flatMap(HttpServerResponse.json)
    )
  )
);

const server = NodeHttpServer.layer(() => require("node:http").createServer(), {
  port: 3001,
});

const serverLayer = HttpServer.serve(app);

Read the full file on GitHub · 965 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 965 lines · 5,559 tokens per session scan A 89f3af130e9f

Subscribe to this mod's changes

EffectPatterns copilot-instructions.md is an instructions file published in the GitHub repository PaulJPhilp/EffectPatterns (795 stars, last pushed 2mo ago), licensed MIT. It adds 5,559 tokens to every session, about $0.0278 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.