Loading...
Loading...
Create a new built-in evlog enricher to add derived context to wide events. Use when adding a new enricher (e.g., for deployment metadata, tenant context, feature flags, etc.) to the evlog package. Covers source code, tests, and all documentation.
npx skill4agent add evloghq/evlog create-evlog-enricherdefineEnricherevlog/toolkitfeat(core): add the {name} enricherevlog/enricherscore| # | File | Action |
|---|---|---|
| 1 | | Add enricher source (one |
| 2 | Same file: | Decide whether the enricher belongs in the default composition (see below) |
| 3 | | Add tests (one |
| 4 | | Add a section for the enricher + update the import list and, if applicable, the "All built-in enrichers" default composition text |
| 5 | | Add the enricher to the |
| 6 | | Add the enricher to the Built-in Enrichers section (root |
| 7 | | Create changeset ( |
createDefaultEnrichers()createDefaultEnrichers()composeEnrichers../shared/composecreateDefaultEnrichers()| Placeholder | Example (UserAgent) | Usage |
|---|---|---|
| | camelCase for event field key |
| | PascalCase in function/interface names |
| | Human-readable display name |
defineEnricherpackages/evlog/src/enrichers/index.tsdefineEnricher<T>({ name, field, compute }, options?)compute(ctx)TundefineddefineEnrichermergeEventFieldoptions.overwritefalsecomputeundefinedgetHeader()normalizeNumber()../shared/headersevlog/toolkitctx.eventcreateTraceContextEnricherevent.traceIdevent.parentSpanIddefineEnrichercreate{Name}Enricher(options: EnricherOptions = {})defineEnricher(...)defineEnricher{Name}Infopackages/evlog/test/toolkit/enrichers.test.tsdescribepackages/evlog/test/README.mdctx.requestctx.responseprocess.envctx.eventoverwrite: falseoverwrite: truecreateDefaultEnrichers()apps/docs/content/5.use-cases/5.enrichers.md## {DISPLAY}## {DISPLAY}
[One-sentence description of what the enricher does.]
**Sets:** `event.{name}`
\`\`\`typescript
const enrich = create{Name}Enricher()
\`\`\`
**Output shape:**
\`\`\`typescript
interface {Name}Info {
// fields
}
\`\`\`
**Example output:**
\`\`\`json
{
"{name}": {
// example values
}
}
\`\`\`createDefaultEnrichers()apps/docs/content/6.extend/5.custom-enrichers.mdskills/review-logging-patterns/SKILL.mdBuilt-in:packages/evlog/README.mdREADME.md.changeset/{name}-enricher.mdminorcd packages/evlog
pnpm run lint
pnpm run typecheck
pnpm run test
pnpm run build