Create your first Tinkerdown app in 5 minutes.
tinkerdown new myapp
cd myappmyapp/
├── index.md # Your main page (markdown + interactive elements)
└── _data/ # Optional data files
tinkerdown serveOpen http://localhost:8080 in your browser.
Edit index.md to add interactive elements:
---
title: My First App
---
# Welcome to My App
<button name="SayHello">Click Me</button>
<div id="output">{{.message}}</div>Define sources directly in your page's frontmatter:
---
title: Task List
sources:
tasks:
type: sqlite
path: ./tasks.db
query: SELECT * FROM tasks
---
# My Tasks
<table lvt-source="tasks" lvt-columns="id,title,status">
</table>If you have many sources or complex configurations shared across pages, you can use tinkerdown.yaml:
# tinkerdown.yaml (optional - for complex multi-page apps)
sources:
tasks:
type: sqlite
path: ./tasks.db
query: SELECT * FROM tasks
cache:
ttl: 5m
strategy: stale-while-revalidateSee Configuration Reference for when to use tinkerdown.yaml.
- Data Sources - Connect to databases, APIs, and more
- Auto-Rendering - Automatic tables, lists, and selects
- Project Structure - Understanding the file layout