ErlangFormDocs v1.0.0
Community

Contributing

Fork, develop, verify, and submit changes to the library or docs.

Contributions can improve behavior, types, tests, translations, examples, or documentation.

Choose a repository

ChangeRepository
Components, API, types, inference, form behaviorerlangform
Documentation, translations, demos, navigation, or website stylingerlangform_docs

If you do not have write access, fork the repository first. Collaborators can create a branch in the main repository. Avoid working directly on its default branch.

Clone and create a branch

git clone https://github.com/USERNAME/erlangform.git
cd erlangform
git remote add upstream https://github.com/erlanggaht/erlangform.git
git switch -c fix/describe-your-change

Replace USERNAME with your GitHub username. For documentation, use erlangform_docs for the clone, folder, and upstream URLs. origin points to your fork; upstream points to the main repository.

Install and run

Library: use Node.js 22 and pnpm 10.19.0.

pnpm install
pnpm dev
pnpm check

check runs typecheck, lint, build, and runtime tests. You can also run each check individually.

Documentation:

npm install
npm run fumadocs-dev
npm run lint
npm run fumadocs-build

Check previews, copyable source, language switching, translated search, internal links, sidebar, mobile layout, and light/dark themes.

Submit a pull request

git add .
git commit -m "fix: describe the change"
git push -u origin fix/describe-your-change

Open Compare & pull request on GitHub and target the main repository. Explain the problem, final change, validation, related issue, and screenshots for visual changes.

Keep your fork current

git fetch upstream
git switch main
git merge upstream/main
git push origin main

Use the actual default branch name if it is not main.

Documentation guidelines

  • Use English in unsuffixed files and Indonesian in .id.mdx files; keep slugs aligned.
  • Add each page to both meta.json and meta.id.json navigation.
  • Put previews in components and mount them on both translated feature pages.
  • Include actual demo source through DemoSource; documentation helpers are not library exports.
  • Use z.infer and typed ErlForm/FieldConfig when needed.
  • Keep internal links in the current language, and add redirects when moving pages.
  • Keep changes focused and document actual renderer behavior, including limitations.

To report a problem without writing code, see Report a bug.

On this page