Faasjs Plugins Runtime
Use when building or reviewing FaasJS plugins and runtime infrastructure: Plugin lifecycle hooks…
by faasjs · MIT
The skill
Use when building or reviewing FaasJS plugins and runtime infrastructure: Plugin lifecycle hooks including concurrent mount and failed-mount retry behavior, InvokeData mutation, DefineApiInject module augmentation, faas.yaml plugin loading, applyConfig, logger usage, @faasjs/node-utils, loadConfig, loadDotenv, module loaders, and Node-only bootstrap code.
FaasJS Plugins And Runtime
Default Workflow
- Use plugins for cross-cutting business context such as auth, tenant, request metadata, and permission scope.
- Implement plugin lifecycle hooks with clear ownership, retry-safe mount initialization, and exactly one
next()call when required. - Provide injected field types through
DefineApiInjectmodule augmentation. - Prefer injected loggers when the framework provides one; create labeled loggers for standalone code.
- Keep
@faasjs/node-utilsusage in Node-only bootstrapping and tooling paths.
Load These References
- Plugin interface, lifecycle hooks, injected fields, config-driven loading, and tests:
references/guidelines/plugins.md. - Logger selection, levels, formatting, timing, and secret handling:
references/guidelines/logger.md. loadConfig,.envloading, module hooks, schema helpers, and path containment:references/guidelines/node-utils.md.
Gotchas
- Mutate
InvokeDatafor injected fields and document the type surface with module augmentation. - Keep
onMountretry-safe: concurrent callers share one attempt, and a later call may retry after failure. - Do not log secrets or full sensitive payloads.
- Keep module hook registration at process bootstrap.
Validation
- Test plugins with real
Funcinstances when behavior depends on lifecycle execution. - Cover shared mount success, shared mount failure, and later retry when
onMountowns resources. - Run focused tests with
vp test <pattern>. - Run
vp check --fixbefore handoff when plugin or runtime files changed.
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: faasjs/faasjs-plugins-runtime-76055741706.
Details
- Publisher
- faasjs
- Category
- Software Development › Languages & frameworks
- License
- MIT
- Updated
- 2026-08-18
References
More from faasjs
- Faasjs Api Jobs Use when building or reviewing FaasJS backend APIs and jobs: .api.ts files, defineApi, zod params…
- Faasjs Best Practices Use when working in any FaasJS repo and no narrower FaasJS skill is already selected, or when a t…
- Faasjs Pg Use when working with @faasjs/pg or PostgreSQL in FaasJS: Tables declaration merging, QueryBuilde…
- Faasjs Project Workflow Use when creating, configuring, reviewing, or onboarding a FaasJS project; working with create-fa…