packmind: Instructions file for GitHub Copilot

packages/.github/instructions/packmind-domain-error-handling.instructions.md

packmind packmind-domain-error-handling.instructions.md is an instructions file for GitHub Copilot from PackmindHub/packmind. It costs 503 tokens per session, scanned A, original, Apache-2.0.

Project-specific instructions for handling application failures through one central error filter in a Nest application. They define the error classes, response mapping, messages, and logging rules to use.

In plain words
What is it for?
They are for implementing domain errors, resource-not-found handling, permission-related cases, and internal invariant failures.
Why use it?
They reduce inconsistent error handling across controllers and stop internal identifiers or implementation details from leaking into user-facing messages.

Instructions file for GitHub Copilot

Written for GitHub Copilot: a Copilot instructions file.

This is PackmindHub/packmind's own configuration. It tells GitHub Copilot how to work on packmind itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything packmind configures →

Reuse

Borrowing it

Nothing to install: this file belongs to PackmindHub/packmind. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/PackmindHub/packmind/main/packages/.github/instructions/packmind-domain-error-handling.instructions.md
Clone the repo
git clone --depth 1 https://github.com/PackmindHub/packmind

Made for: GitHub Copilot.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for packmind packmind-domain-error-handling.instructions.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/packmindhub/packmind/packmind-domain-error-handling/github.svg)](https://agentmods.dev/instructions/packmindhub/packmind/packmind-domain-error-handling)
Your own site
<a href="https://agentmods.dev/instructions/packmindhub/packmind/packmind-domain-error-handling"><img src="https://agentmods.dev/badge/instructions/packmindhub/packmind/packmind-domain-error-handling/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for packmind packmind-domain-error-handling.instructions.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/packmindhub/packmind/packmind-domain-error-handling"><img src="https://agentmods.dev/badge/instructions/packmindhub/packmind/packmind-domain-error-handling.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 503 This file is loaded in full into every session.
When invoked 503 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00503 $0.00503
Opus 5.5 $0.00201 $0.00201
Sonnet 5.5 $0.00101 $0.00101
Haiku 4.5 $0.00050 $0.00050

Measured 1mo ago against content hash a75feeeba345, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

packmind packmind-domain-error-handling.instructions.md scanned grade A with 0 findings 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 1mo 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

packages/.github/instructions/packmind-domain-error-handling.instructions.md · 21 lines

What it actually says

Standard: Domain Error Handling

Failures raised by a use case are answered centrally by DomainExceptionFilter, which maps them to an HTTP status and a log level. A failure carrying no kind reaches Nest's ExceptionsHandler as a... :

  • Classify a third-party HTTP failure from error.response?.status and its headers; never derive a status from a substring of error.message.
  • Extend PackmindInternalError for broken invariants the caller cannot correct.
  • Give each package one base per error family it raises — domain, internal, upstream — each with a literal reason union and a typed context.
  • Never add an upstream kind to DomainErrorKind: upstream_rate_limited answers 429 and stays an UpstreamError, because the axis is fault, not status class.
  • Never log an error you rethrow: the filter records every thrown failure once, with its level, stack and typed context.
  • Never map domain errors in a controller with instanceof and a Nest HttpException; the filter maps kind centrally.
  • Never throw new Error(...) from a use case; throw a class extending the package's DomainError, PackmindInternalError or PackmindUpstreamError base.
  • Pass retryAfterSeconds on an upstream throttle when the provider said how long; the filter emits it as the Retry-After header.
  • Pick the error family by fault: the caller's fault is a domain error, ours is PackmindInternalError, a third party's is PackmindUpstreamError.
  • Put resource ids in the error's context, never in a message: an upstream error's message reaches the caller, an internal error's never does.
  • Throw upstream_unavailable (502, not 503) for an upstream outage, and for any upstream refusal the package does not yet model.
  • Throw a missing resource and a resource owned by another tenant from a single branch, with one error and one message.
  • Use kind: 'not_found' when a resource belongs to another tenant; reserve forbidden for when the caller's own rights are the subject.

Full standard is available here for further request: Domain Error Handling

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. 1mo ago Changed · +6 lines · +230 tokens per session a75feeeba345
  2. 1mo ago First seen · 15 lines · 273 tokens per session scan A 9abca2f6d162

Subscribe to this mod's changes

packmind packmind-domain-error-handling.instructions.md is an instructions file published in the GitHub repository PackmindHub/packmind (319 stars, last pushed 4d ago), licensed Apache-2.0. It adds 503 tokens to every session, about $0.0020 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-22.

Related

Other instructions, from other repositories

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 9,715 tokens

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,786 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).

microsoft/vscode · 5,262 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,680 tokens

vscode copilot-instructions.md

Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).

microsoft/vscode · 2,731 tokens

deno copilot-instructions.md

Copilot instructions for denoland/deno, covering deno development guide for github copilot, network access, high level overview, key directories and key files to understand first.

denoland/deno · 3,077 tokens