## Summary
- Restores OpenAPI docs generation, lost in the oRPC migration: new
`generate-openapi` nx targets regenerate
`apps/docs/openapi/{builder,viewer}.json` offline from the oRPC routers,
reusing the exact options served by the live `/api/openapi.json`
endpoints. Both specs are regenerated in this PR (builder.json was stale
since March).
- Fixes spec generation crashing on the spaces router (Effect Schema had
no JSON Schema converter — this also breaks the live builder
`/api/openapi.json` today) and sanitizes an `AppendValue(s)` component
name that made Mintlify silently render every builder API page empty.
- Keeps the docs from going stale again: pre-commit regenerates affected
specs and auto-stages them, CI fails PRs with stale specs, and a new
check requires lockstep `@typebot.io/js` / `@typebot.io/react` version
bumps whenever embed files change.
## Test plan
- [x] `bunx nx generate-openapi builder viewer` produces valid OpenAPI
3.1 files matching the live endpoints (works without env: isolated-vm
stubbed, dummy DATABASE_URL auto-matched to the generated Prisma client)
- [x] All 34 `openapi:` references in `apps/docs/api-reference/*.mdx`
resolve against the new specs; pages verified rendering in `mintlify
dev` (params, unions, curl samples)
- [x] Embeds version check: fails when js or react files change without
both bumps, passes on the historical 0.10.5 bump commit, ignores
unrelated changes
- [x] Pre-commit pipeline (lint, tests, generation, embeds check) passes
end to end
- [ ] Confirm the "Check OpenAPI docs are up to date" step passes on
this PR
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
||
|---|---|---|
| .agents/skills | ||
| .claude | ||
| .codex/environments | ||
| .github | ||
| .husky | ||
| .vscode | ||
| .zed | ||
| apps | ||
| commands | ||
| packages | ||
| plans | ||
| scripts | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.dev.example | ||
| .env.example | ||
| .gitignore | ||
| .gitmoji-changelogrc | ||
| .tolgeerc | ||
| AGENTS.md | ||
| biome.json | ||
| bun.lock | ||
| bunfig.toml | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| conductor.json | ||
| CONTRIBUTING.md | ||
| docker-compose.build.yml | ||
| docker-compose.dev.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| nx.json | ||
| package.json | ||
| README.md | ||
| SECURITY.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
| vitest.config.ts | ||
Typebot is a Fair Source chatbot builder. It allows you to create advanced chatbots visually, embed them anywhere on your web/mobile apps, and collect results in real-time
Try Typebot
•
Docs
Builder demo
Features
Typebot makes it easy to create advanced chatbots. It provides the building blocks that are adaptable to any business use case. I improve Typebot regularly with bug fixes, new features, and performance improvements.
Chat builder with 34+ building blocks such as:
- 💬 Bubbles: Text, Image / GIF, video, audio, embed.
- 🔤 Inputs: Text, email, phone number, buttons, picture choice, date picker, payment (Stripe), file picker...
- 🧠 Logic: Conditional branching, URL redirections, scripting (Javascript), A/B testing.
- 🔌 Integrations: Webhook / HTTP requests, OpenAI, Google Sheets, Google Analytics, Meta Pixel, Zapier, Make.com, Chatwoot, More to come...
Theme your chatbot to match your brand identity:
- 🎨 Customize the fonts, background, colors, roundness, shadows, and more
- 💪 Advanced theming with custom CSS
- 💾 Reusable theme templates
Share your typebot anywhere:
- 🔗 Custom domain
- 👨💻 Embed as a container, popup, or chat bubble easily with the native JS library
- ⚡ Blazing-fast embed lib. No iframe, no external dependencies, no performance impact
- 💻 Executable with HTTP requests
Collect your Results and get insights:
- 📊 In-depth analytics with drop-off rates, completion rates, and more
- 📥 Export results to CSV
Built for developers:
- 🔓 No vendor-locking. Features built with flexibility in mind.
- 💻 Easy-to-use APIs.
Getting started with Typebot
The easiest way to get started with Typebot is with the official managed service in the Cloud. You'll have high availability, backups, security, and maintenance all managed for you by me, Baptiste, Typebot's founder.
The cloud version can save a substantial amount of developer time and resources. For most sites, this ends up being the best value option and the revenue goes to funding the maintenance and further development of Typebot. So you’ll be supporting Fair Source software and getting a great service! 💙
Support & Community
You'll find a lot of resources to help you get started with Typebot in the documentation.
- Have a question? Join the Discord server and get instant help.
- Found a bug? Create an issue
Self-hosting
Interested in self-hosting Typebot on your server? Take a look at the self-hosting installation instructions.
How to Contribute
You are awesome, let's build great software together. Head over to the Contribute docs to get started. 💪
Run the project locally
Follow the Local installation section of in the Contributing docs.
Top contributors
Made with contrib.rocks.
License
Typebot's code is protected under a Functional Source License. You will find more information about the license and how to comply with it here.