{
  "markdown": "<p align=\"center\">\n  <a href=\"https://fillo.so\">\n    <img src=\"https://fillo.so/brand/readme-banner.png\" alt=\"Fillo — forms inside your product, with your UI.\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://fillo.so\">Website</a> ·\n  <a href=\"https://fillo.so/docs\">Docs</a> ·\n  <a href=\"https://fillo.so/agents\">Agents</a> ·\n  <a href=\"https://fillo.so/examples\">Examples</a> ·\n  <a href=\"https://fillo.so/changelog\">Changelog</a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@usefillo/react\"><img src=\"https://img.shields.io/npm/v/@usefillo/react?label=%40usefillo%2Freact\" alt=\"@usefillo/react npm version\" /></a>\n  <a href=\"https://www.npmjs.com/package/@usefillo/mcp\"><img src=\"https://img.shields.io/npm/v/@usefillo/mcp?label=%40usefillo%2Fmcp\" alt=\"@usefillo/mcp npm version\" /></a>\n  <img src=\"https://img.shields.io/npm/l/@usefillo/react\" alt=\"MIT license\" />\n</p>\n\n# Fillo SDKs\n\nFillo is headless form infrastructure. You build a form in the hosted editor or\ndefine it in code, then render it **inside your own product** with your UI —\nReact, Vue, Svelte, Astro, or plain browser JavaScript — instead of dropping in\nan iframe. One shared schema drives the builder, the renderers, API validation,\nand the responses grid, so a form looks and behaves like part of your app.\n\nFiles go **browser-direct into storage you own** (Google Drive, Box, or an\nS3-compatible bucket), resumable where the provider supports it. Responses land\nin a schema-aware grid with search, file downloads, a detail drawer, and CSV\nexport, and can be delivered by signed webhooks, Google Sheets, Notion, Zapier,\nor email.\n\nThis repository holds the public SDK packages and the coding-agent skill. The\nproduct itself lives at **[fillo.so](https://fillo.so)**.\n\n## Packages\n\n| Package | npm | What it is |\n| --- | --- | --- |\n| `@usefillo/core` | [npm](https://www.npmjs.com/package/@usefillo/core) · [`packages/core`](packages/core) | Framework-agnostic form schema, validation, conditional-logic engine, prefill, formatting, JS client, and the browser-direct upload protocol. Zero framework dependencies. |\n| `@usefillo/react` | [npm](https://www.npmjs.com/package/@usefillo/react) · [`packages/react`](packages/react) | Headless React renderer, hooks, upload UI, and an optional default stylesheet you can override or replace. |\n| `@usefillo/dom` | [npm](https://www.npmjs.com/package/@usefillo/dom) · [`packages/dom`](packages/dom) | Framework-neutral DOM renderer, custom element, and a standalone browser bundle for Vue, Svelte, Astro, and vanilla apps. |\n| `@usefillo/cli` | [npm](https://www.npmjs.com/package/@usefillo/cli) · [`packages/cli`](packages/cli) | `fillo` — start a workspace, stage and publish forms, and install the Agent Skill from your terminal. |\n| `@usefillo/mcp` | [npm](https://www.npmjs.com/package/@usefillo/mcp) · [`packages/mcp`](packages/mcp) | MCP server — provision, scaffold, publish, and query forms from a coding agent. |\n\nThe canonical coding-agent skill (the same bundle the CLI installs) lives in\n[`plugins/fillo/skills/build-with-fillo`](plugins/fillo/skills/build-with-fillo).\nAll packages are MIT licensed.\n\n## Quickstart\n\nInstall a renderer and drop a published form into your app. `@usefillo/react`\nand `@usefillo/dom` both re-export the parts of `@usefillo/core` you need, so you\nrarely install core directly.\n\n```tsx\n// React / Next.js\nimport { FilloForm } from \"@usefillo/react\";\nimport \"@usefillo/react/styles.css\"; // optional default theme — or bring your own\n\n<FilloForm formId=\"cust-feedback\" onSubmitted={(responseId) => confetti()} />\n```\n\n```ts\n// Vue, Svelte, Astro, or plain browser JavaScript\nimport { createClient, defineForm, renderForm } from \"@usefillo/dom\";\nimport \"@usefillo/dom/styles.css\";\n\nconst client = createClient({ key: \"pk_live_…\" });\nconst form = defineForm({\n  id: \"cust-feedback\",\n  pages: [{ id: \"p1\", blocks: [\n    { id: \"email\", kind: \"email\", label: \"Work email\", required: true },\n    { id: \"message\", kind: \"long_text\", label: \"What should we know?\" },\n  ] }],\n});\n\nrenderForm(\"#fillo-form\", { form, client, onSubmitted: (id) => console.log(id) });\n```\n\n### Building with a coding agent\n\nFillo ships a provider-neutral Agent Skill that teaches your agent to build,\nembed, style, sync, and verify a Fillo form. Install it into a project:\n\n```sh\nnpx @usefillo/cli@latest skill install\n```\n\nThen point your agent at the setup flow. From a **Build with AI** handoff in the\nproduct the CLI also prints a one-line `npx @usefillo/cli agent bootstrap …`\ncommand that installs the skill and connects the live workspace in a single run.\nSee **[fillo.so/agents](https://fillo.so/agents)** for the full agent path and\n**[fillo.so/docs](https://fillo.so/docs)** for the reference.\n\n## Links\n\n- Website — [fillo.so](https://fillo.so)\n- Docs — [fillo.so/docs](https://fillo.so/docs)\n- Agents — [fillo.so/agents](https://fillo.so/agents)\n- Examples — [fillo.so/examples](https://fillo.so/examples)\n- Changelog — [fillo.so/changelog](https://fillo.so/changelog)\n\n## About this repository\n\nThis repo is a **read-only mirror** of the public SDK packages. They are\ndeveloped in a private monorepo and mirrored here on release, so the code you see\nis the same code published to npm. History here is **disposable**: the mirror is\nforce-pushed by an automated job on every release, so don't fork from a specific\ncommit expecting it to stay put — depend on the npm packages instead.\n\nIssues and questions are welcome here — see\n[CONTRIBUTING.md](CONTRIBUTING.md). Pull requests against package code can't be\nmerged directly, since the source lives upstream; open an issue and we'll bring\nthe fix through the private repo.\n\n> **Note on the account name.** This mirror currently lives at\n> `github.com/jacobfunch/usefillo` while the `usefillo` GitHub organization is\n> being claimed. Once it is, the repo will be transferred to the org; GitHub\n> keeps the old path redirecting, so existing links and clones keep working.\n",
  "bytes": 5986,
  "sha": "83b4b0861d6fe7994641329e6b3a1f9f125f70f3bb10c1b476dba00c70947380",
  "repo_slug": "jacobfunch/usefillo",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_jacobfunch_usefillo_0ac2ae5d/readme"
}