docs: add README with badges and MIT license

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Luca Oelfke 2026-02-13 19:54:30 +01:00
parent 875caf0a39
commit cb4d30ad05
2 changed files with 161 additions and 0 deletions

21
LICENSE Normal file
View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 tolvitty
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

140
README.md Normal file
View file

@ -0,0 +1,140 @@
<div align="center">
# Formfire
**Structured data input for Obsidian — forms that create notes or update frontmatter.**
[![GitHub License](https://img.shields.io/github/license/tolvitty/obsidian-formfire)](LICENSE)
[![Obsidian](https://img.shields.io/badge/Obsidian-Plugin-7C3AED?logo=obsidian&logoColor=white)](https://obsidian.md)
[![Version](https://img.shields.io/badge/version-0.1.0-blue)](manifest.json)
[![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178C6?logo=typescript&logoColor=white)](tsconfig.json)
---
</div>
<div align="center">
## Overview
</div>
Formfire brings **structured data input** to Obsidian. Define custom forms with a visual builder, then use them to create new notes or update existing frontmatter — no manual YAML editing required.
Part of the **Fire-Suite** concept: closing the *Input* gap in the Input → Observe → Output workflow.
<div align="center">
## Features
</div>
### 13 Field Types
| Field | Description |
|-------|-------------|
| **Text** | Single-line text input |
| **Textarea** | Multi-line text with resizable area |
| **Number** | Numeric input with validation |
| **Toggle** | Boolean on/off switch |
| **Date** | Date picker with today as default |
| **Time** | Time picker (HH:MM) |
| **Dropdown** | Single-select from predefined options |
| **Tags** | Multi-select with chip UI |
| **Note Link** | Autocomplete from vault files |
| **Folder Picker** | Autocomplete from vault folders |
| **Rating** | 15 star rating |
| **Slider** | Range input with configurable min/max/step |
| **Color** | Color picker |
### Two Output Modes
- **Create** — Generate a new note with frontmatter and a body template
- **Update** — Modify frontmatter of an existing note (active file or prompt)
### Visual Form Builder
- Drag & drop field reordering
- Side-by-side live preview
- Undo / Redo with keyboard shortcuts (`Ctrl+Z`, `Ctrl+Shift+Z`)
- Per-field type configuration (options, min/max/step, folder restrictions)
### Template Engine
Use `{{fieldId}}` variables in file names and body templates, plus built-in variables:
- `{{date}}` — current date (YYYY-MM-DD)
- `{{time}}` — current time (HH:MM)
- `{{datetime}}` — current date and time
### Import & Export
Share forms as JSON files — individually or all at once. Imported forms receive fresh UUIDs to prevent collisions.
<div align="center">
## Installation
</div>
### Manual
1. Download the latest release (`main.js`, `manifest.json`, `styles.css`)
2. Create a folder `<vault>/.obsidian/plugins/formfire/`
3. Place the files in that folder
4. Enable the plugin in **Settings → Community Plugins**
### Build from Source
```bash
git clone https://github.com/tolvitty/obsidian-formfire.git
cd obsidian-formfire
npm install
npm run build
```
Copy `main.js`, `manifest.json`, and `styles.css` into your vault's plugin folder.
<div align="center">
## Usage
</div>
1. Open **Settings → Formfire** to create your first form
2. Use the **Command Palette** (`Ctrl+P`) → *Formfire: Open Form* to fill it out
3. Alternatively, click the **ribbon icon** or use the **sidebar view**
Each form gets its own direct-access command for quick launching.
<div align="center">
## Access Points
</div>
| Method | Description |
|--------|-------------|
| **Command Palette** | `Formfire: Open Form` or per-form commands |
| **Ribbon Icon** | Quick access from the left sidebar |
| **Sidebar View** | Persistent form list panel |
| **Settings Tab** | Full form management with builder |
<div align="center">
## Development
</div>
```bash
npm run dev # Watch mode with hot reload
npm run build # Production build
```
<div align="center">
## License
</div>
[MIT](LICENSE) © tolvitty