On this page
Form builder · no code

Build your own form or checklist.

Make a small form — like an incident log or a custody-exchange checklist — right in your browser. Start from one of 130+ ready-made templates covering the whole artifact catalog — searchable, grouped, and filterable for parents, professionals, or courts — or from a blank page. Choose the fields you need and what each one is (a date, a yes/no, a short list), then copy a clean, reusable form you can fill in anytime. Nothing to install, and nothing leaves your device.

Educational and informational only — not legal or clinical advice. Define the shape of the information you collect here; never paste a real family's confidential details into a shared or public place.

New here? This is one of the no-code tools — everything runs in your browser. If you code, it's a standard form definition (a JSON Schema) the CLI can validate, fill, and scaffold from; the developer details are at the bottom.

Build your form#

Loading the builder…

Use it from the CLI#

The JSON Schema above is exactly what the CLI reads. Save it and you can validate it, fill it in, generate a TypeScript type, or wire it into a scaffolded module — all offline:

# save the copied schema, then:
cotrackpro params new my-set --from my-set.json   # validate & store in ./.cotrackpro/params
cotrackpro params fill my-set                      # collect values → a filled markdown document
cotrackpro params types my-set                     # generate a TypeScript interface
cotrackpro scaffold my-module --params my-set      # a new module pre-wired with this set

You can also build a set entirely from the terminal with cotrackpro params new (interactive), then come back here to share or refine it. The format is identical in both places.

How it fits#

A "parameter" is a typed field; a "parameter set" is a named group of them, stored as a JSON Schema with a dataSensitivity marker. The same @cotrackpro/sdk/params logic powers this builder and the CLI, so a set you make here behaves identically everywhere — and the supported field types are generated from the SDK, so this page can't drift from the code.