Declarative-forms – await an object the way prompt() awaits a string
Ask the user for an object, the way prompt() asks for a string. A form is a function you call, not a component you mount. Zero dependencies, framework agnostic, with async options, cross-field reactivity, tabs and stacked dialogs.
In plain words
Declarative-forms is a JavaScript library that lets developers collect user input by calling a function and awaiting an object, similar to how prompt() works with strings. It requires zero dependencies and works framework-agnostic, supporting features like cross-field reactivity, tabs, stacked dialogs, and async options. Rather than mounting components, developers define form fields as a simple array and receive the completed object directly.
written from the facts on this page · September 2026
From the sources
Ask the user for an object, the way prompt() asks for a string. Every other form library gives you a component to mount . This one gives you a function to call : import { ask } from 'declarative-forms' ; const release = await ask ([ { name: 'title' , displayName: 'Release title' }, { name: 'notes' , kind: 'textarea' , displayName: 'What changed' }, { name: 'reviewers' , kind: 'select' , multiple: true , displayName: 'Sign-off from' , options : () => fetchReviewers (), }, ]); // { title: 'Sunrise 2.0', notes: '…', reviewers: ['Ada', 'Grace'] } That is the whole integration. There is no component, no form state, no mount point, and no place in your tree where the form has to live. You ask a…from wolfoo2931.github.io
More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 2d ago · opentrailpaper.com

Launched alongside, August 2026
the whole month →- TL
Life & fun · 10d ago · louisabraham.github.io


- SA
Hello HN! I found that picking out plausible but diverse skin tones for my digital art and game development projects was kind of difficult, and I got curious about if there was a way to define a color space that made it easy. I've built a color picker and procedural generation algorithm based on the space as well as a bunch of other fun js features and demos throughout the page that use the equations. If you find it interesting, I have lots of explanations of how I built it and what properties the space has. The methodology might be a bit shaky, but hopefully the result is as helpful for…
Life & fun · Aug 2026 · toneyalexander.github.io


I trained a 125M-parameter transformer to autocomplete piano performances in real time (~108 notes/sec on an iPhone 15). The idea is basically GitHub Copilot or Tabnine, except instead of prompting it with code, you prompt it by playing a few notes on a MIDI piano. The model then continues what you played, entirely on-device. The app is free if anyone wants to try it. Happy to answer questions about the model, training, Core ML, or the many things that didn't work.
AI · 17d ago · simedw.com