Client libraries, command line tools and integrations for Formfeed, the API for generating PDFs and images from templates. Documentation lives at docs.formfeed.dev.
| Package | Registry | What it is |
|---|---|---|
@formfeed/sdk |
npm | TypeScript client: renders, batches, templates, webhooks. No dependencies, Web APIs only |
formfeed |
PyPI | Python client, sync and async |
formfeed |
npm | CLI: templates as files, offline preview and validation, renders through the API |
@formfeed/engine |
npm | The template engine (Jinja2, Liquid, Handlebars) the API and the editor use |
@formfeed/devkit |
npm | Template folders, project config and local rendering |
@formfeed/testing |
npm | Vitest and Jest matchers for templates |
@formfeed/mcp |
npm | Model Context Protocol server for AI agents |
n8n-nodes-formfeed |
npm | n8n community node |
Every npm package is built and published from this repository by GitHub Actions with provenance, and the Python package with trusted publishing, so each release can be traced to the commit and workflow run it came from.
Node 22 or newer and pnpm (the version in package.json, corepack enable picks it up):
pnpm install
pnpm nx run-many -t lint test --exclude sdk-python # TypeScript packages
pnpm nx run-many -t bundle smoke # build, pack and try every npm package
cd packages/sdk-python && pip install pytest httpx pydantic && python -m pytest -qThis repository is generated from Formfeed's main repository, where the packages are developed together with the API they talk to. See CONTRIBUTING.md for how issues and pull requests are handled.
MIT, see LICENSE. Bundled third-party code keeps its own licence; the CLI and MCP packages
list it in THIRD_PARTY_LICENSES.md.