BaseForm adds an editable Form view to Obsidian Bases. Each note is displayed as an interactable form, with the selected properties stacked vertically.



.base file.List fields use one item per line. If you clear a number, date, or date-and-time field, BaseForm keeps the property with an empty value. File and formula properties stay visible, but you cannot edit them.
BaseForm uses Obsidian's assigned property types when they are available. If an untyped property is empty in every matching note, BaseForm first uses a text field.
BaseForm shows some values as read-only to prevent accidental data loss. This includes nested data, non-text lists, and date-and-time values with timezone suffixes.
BaseForm shows 50 notes per page by default. This limit reduces the number of form controls in large collections. The Previous and Next buttons keep the note order and groups from Bases.
In the Form view settings, select Notes per page to use 25, 50, or 100 notes. To restore the previous layout, select All notes (slower).
Save changes before you change pages. With Manual submit enabled, select the submit button first. An invalid value or a failed save keeps your changes on the current page.
List suggestions still include values from all Markdown notes in the vault. BaseForm loads these suggestions on first use, then updates only the changed note. Note-link suggestions still include all notes that match the view, not only the current page.
The repository includes base-form-demo-vault. It contains a configured base and sample notes for every supported property type. See base-form-demo-vault/README.md for the walkthrough.
npm install
npm run build
main.js, manifest.json, and styles.css to:<Vault>/.obsidian/plugins/base-form/
For watch mode, run npm run dev. On Windows, ./scripts/build-to-demo-vault.ps1 builds the plugin and installs it into the included demo vault.
npm run lint
npm test
npm run build
BaseForm runs locally. It does not make network requests, collect analytics, or send vault data anywhere.