evlog is a TypeScript-first logging and observability project built around wide events and structured errors across runtimes. It is intended to help developers record application behavior and diagnose failures.
Borrowing it
Nothing to install: this file belongs to HugoRCD/evlog. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/HugoRCD/evlog/main/AGENTS.mdgit clone --depth 1 https://github.com/HugoRCD/evlogWrote 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.
[](https://agentmods.dev/instructions/hugorcd/evlog/agents-md)<a href="https://agentmods.dev/instructions/hugorcd/evlog/agents-md"><img src="https://agentmods.dev/badge/instructions/hugorcd/evlog/agents-md/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.
<a href="https://agentmods.dev/instructions/hugorcd/evlog/agents-md"><img src="https://agentmods.dev/badge/instructions/hugorcd/evlog/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.04053 | $0.04053 |
| Opus 5.5 | $0.01621 | $0.01621 |
| Sonnet 5.5 | $0.00811 | $0.00811 |
| Haiku 4.5 | $0.00405 | $0.00405 |
Grade A, and why
evlog AGENTS.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 2mo 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.
How it starts
The opening of the file, as written. The whole thing — 201 lines — stays where its author put it; the contents beside it link to each section on GitHub.
evlog
TypeScript logging library focused on wide events and structured error handling. pnpm monorepo (managed with Corepack).
Commands
pnpm install # install deps
pnpm run dev:prepare # generate types (required before lint/typecheck after a fresh install)
pnpm run dev # start playground
pnpm run build:package # build the package
pnpm run test # run tests (vitest)
pnpm run lint # lint all packages
pnpm run typecheck # type-check all packages
pnpm run docs # start docs site
pnpm run telemetry # start the telemetry dashboard (apps/telemetry)
pnpm telemetry:cli <command> # run this repo's CLI into that local dashboard (--cwd to target an app)
pnpm cli:sandbox # disposable per-framework apps under .sandbox/ to test the CLI by hand (--reset restores them, --smoke runs the feature matrix)
pnpm content:lint [path] # rank the written corpus by content findings (see scripts/content-lint/README.md)
pnpm content:lint:test # the scanner's own tests, including its two calibration fixtures
Publishing is automated: changesets + .github/workflows/release.yml. Never run pnpm release or changeset publish manually.
Use
corepack enableonce so thepackageManagerfield inpackage.jsonpins the right pnpm version automatically.After a clean
pnpm install, runpnpm run dev:preparebeforepnpm run lint/typecheck. Packages like@evlog/nuxthubextend generated.nuxt/tsconfig.jsonfiles; without prepare, turbo lint fails on missing extends.
Monorepo Structure
packages/evlog/ Main package
src/nuxt/ Nuxt module
src/nitro/, src/nitro-v3/ Nitro plugin (v2 + v3)
src/vite/ Vite plugin (evlog/vite)
src/shared/ Toolkit — exposed as evlog/toolkit (NOT evlog/shared)
src/ai/ AI SDK integration (evlog/ai)
src/adapters/ Drain adapters (Axiom, OTLP, HyperDX, PostHog, Sentry, Better Stack, Datadog, Loki, ClickHouse, fs, memory)
src/enrichers/ Built-in enrichers (UserAgent, Geo, RequestSize, TraceContext)
src/runtime/ Runtime code (client/, server/, utils/)
src/<framework>/ One dir per framework integration (hono/, next/, sveltekit/, nestjs/, express/, fastify/, elysia/, orpc/, react-router/, workers/, eve/, better-auth/)
test/ Tests
packages/cli/ @evlog/cli — log exploration CLI (`pnpm cli`)
packages/nuxthub/ @evlog/nuxthub
packages/telemetry/ @evlog/telemetry
apps/playground/ Main dev environment (`pnpm dev`)
apps/docs/ Docus documentation site — has its own AGENTS.md
apps/* Framework playgrounds (next, nitro, nitro-v2, nuxthub, lab, telemetry, ...) — `pnpm playground` to pick one
examples/ ~22 runnable examples, one per framework — includes the community-*-skeleton dirs used by the create-adapter/enricher/framework skills
scripts/ Repo tooling (run-app, cli-sandbox, release-notes, content-lint)
.agents/skills/ Internal skills for creating adapters, enrichers, and framework integrations, and for writing content — each carries `metadata: internal: true` in its frontmatter so the skills CLI skips them for public installs
skills/ Published skills (analyze-logs, build-audit-logs, review-logging-patterns) — served by the docs site via `/.well-known/skills/` and discovered by `npx skills add hugorcd/evlog`
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.
- 2mo ago First seen · 201 lines · 4,053 tokens per session scan A aaeeb1c99c4e
evlog AGENTS.md is an instructions file published in the GitHub repository HugoRCD/evlog (1,903 stars, last pushed 12d ago), licensed MIT. It adds 4,053 tokens to every session, about $0.0162 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-08-30.
evlog AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| evlog AGENTS.mdHugoRCD/evlog | Instructions file | 1.9k | 12d ago | MIT | A | 4,053 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | today | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |