Thank you for considering contributing to FormBuilder! We appreciate your help in making this project better.
Note: This contribution guide may need improving, and we welcome any suggestions for enhancements.
We use bun as our package manager, but you can use any other package manager of your choice. Make sure to install it first if you choose to use bun.
git clone https://github.com/kryptxbsa/FormBuilder.git
cd FormBuilder
bun installAfter installation, you can start the development server:
bun dev-webThis project is a monorepo. There is one main package located in the packages/core directory.
The apps/web directory contains the frontend application.
The src/types directory includes the primary types and component variants.
The src/components directory contains code for component variant definitions.
The src/codegen directory contains the main code for code generation, utilizing Handlebars. All logic for code generation and code templates are located there.
Let's say we wanted to add a new component in Next.js, follow these steps:
-
Add the Variant:
- Update the variant in
src/types/nextVariant.ts.
- Update the variant in
-
Add the Component Code and Imports:
- Include the component code and necessary imports in
src/codegen/importsandsrc/codegen/templates.
- Include the component code and necessary imports in
-
Add the Component Config:
- Configure the component in
src/components/next-components.
- Configure the component in