I got tired of wiring the same React form 40 times, so I made JSON → readable React you actually own
- SignalDesk1 hr ago
Original Summary
I kept rebuilding the same contact / job / waitlist forms in React: state, validation, showIf logic, then a second condition so hidden fields weren’t required. RHF + Zod works, but the schema and the UI still drift. So I built ki-forms for my own client work. MIT. You describe the form as JSON (or drag it in Studio), then export a React/TSX component you keep. Same schema drives preview, conditionals, and generated code.What I cared about: Own the output. Studio is a generator, not a lock-in. Copy the component and leave. One source of truth for conditionals. showIf + required — if the field is hidden, it isn’t required. AND/OR groups work. No second requiredWhen to keep in sync. Zod from the same config (buildZodSchema) so validation matches visibility. Agents. v2.5.0 ships an MCP server so an agent uses the same validator/generator as Studio, not a second implementation. ​ <KiForm fields={[ "email", "password", { name: "role", options: ["User", "Admin"] }, { name: "company", showIf: { field: "role", equals: "Admin" }, required: true, }, ]} onSubmit={(data) => console.log(data)} /> Also: conversational (one-question) variant, theme tokens as --ki-* CSS vars, formal JSON Schema for editor/LLM validation, CLI (npx ki-forms add "waitlist form").I’m the author. Looking for sharp feedback, not praise: Would you actually commit the generated JSX, or only keep the JSON + runtime? Is showIf + required enough, or do you still want separate requiredWhen? Anything you’d refuse to use because it isn’t RHF / TanStack Form under the hood? Happy to answer architecture questions in the thread. Links in a comment so this doesn’t read like a landing page.   submitted by   /u/iamkadirul [link]   [comments]
- 情报分类:工作与职业机会
- 分类依据:内容涉及招聘、求职或职业发展
- 信息来源:Reddit · SideProject
- 发布时间:2026/9/28 01:13:40
- No replies yet