FaasJS Specifications
Default Workflow
- Load the relevant spec before changing runtime behavior or public documentation.
- Treat MUST/SHOULD/MAY language as normative.
- Keep implementation, docs, and tests aligned with the spec.
- Preserve backwards compatibility unless the change is intentionally breaking and documented.
Load These References
faas.yamlplacement, discovery, merge order, staging keys, server node, plugins node, and YAML subset:references/specs/faas-yaml.md.- Zero-mapping file naming and route lookup order:
references/specs/routing-mapping.md. - HTTP request, response envelope, status, and transport behavior:
references/specs/http-protocol.md. - Plugin identity, lifecycle execution, config layering, manual registration, and config-driven loading:
references/specs/plugin.md.
Gotchas
- Specs are normative and may be stricter than general guides.
- Route behavior and config merge order are compatibility-sensitive.
- HTTP response behavior must preserve envelope and low-level error distinctions.
- Plugin config precedence must stay aligned with both manual and config-driven loading.
Validation
- Run targeted runtime tests for the spec area changed.
- Run
npm run docafter spec source edits. - Run
cd docs && npm run buildwhen docs routing, spec pages, or links change.