Contributing & community
Where things live
Section titled “Where things live”- Source & issues: github.com/JoshuaLeoSmith/forms-engine — one repository holding the backend, editor, renderer, wrappers, examples, and end-to-end tests.
- This site: github.com/JoshuaLeoSmith/forms-engine-website — every docs page has an “Edit this page” link; typo fixes welcome.
- Bugs & feature requests: GitHub issues. For security reports, see vulnerability reporting.
Running from source
Section titled “Running from source”# TypeScript packages (npm workspaces at the repo root)npm installnpm run build # renderer (tsc + single-file bundle), react, angular wrappersnpm test # rule-engine conformance fixtures + renderer component tests
# Editorcd editor && npm install && npx ng serve # http://localhost:4200, backend at :8080
# Backend (Java 21; Mongo at localhost:27017)cd backend && ./mvnw spring-boot:run./mvnw test # integration tests on embedded MongoDBThe Playwright end-to-end suite in e2e/ runs against the Docker stack
(docker compose up, then npm test inside e2e/).
Extending: adding a question type
Section titled “Extending: adding a question type”Question types are the designed extension point — a new one needs only registry modules (core semantics, renderer template, editor panel, backend validator), zero changes to navigation, persistence, or the rule engine. The repo’s adding-a-question-type guide walks through it using the email type as the worked example.
The rule engine’s semantics are pinned by JSON conformance fixtures in
shared/rule-fixtures/ — the TypeScript suite loads them, and any future
server-side engine must pass the same files. If you touch rule behavior,
you touch the fixtures.
How this was built
Section titled “How this was built”The repository’s README carries a note on how the project was built — designed and specified by its owner, with much of the implementation written from those specifications using AI tooling, and design decisions, code review, and maintenance staying human. This documentation site was produced the same way: every documented behavior was verified against the source code rather than the design documents, and the discrepancies that turned up are tracked in the site repo for triage.
License
Section titled “License”MIT, for the tool and this site. No telemetry, no phone-home — and this site follows suit: no tracking scripts, no cookies.