baserow

$npx mdskill add TerminalSkills/skills/baserow

Build database-powered apps with Baserow, the open-source no-code database platform

  • Create relational databases with a spreadsheet-like interface
  • Uses Docker for deployment and REST API for integrations
  • Analyzes user needs to design tables, fields, and relationships
  • Delivers self-hosted database solutions with forms, automation, and API access
SKILL.md
.github/skills/baserowView on GitHub ↗
---
name: baserow
description: >-
  Build database-powered applications with Baserow, the open-source no-code database. Use when a user asks to create spreadsheet databases, build API-connected workflows, manage relational data, or self-host Baserow as an Airtable alternative.
license: Apache-2.0
compatibility: "No special requirements"
metadata:
  author: terminal-skills
  version: "1.0.0"
  category: development
  tags: ["database", "spreadsheet", "airtable-alternative", "open-source", "no-code"]
---
# Baserow — Open-Source No-Code Database

## Overview

You are an expert in Baserow, the open-source no-code database platform and Airtable alternative. You help teams create relational databases with a spreadsheet interface, build forms, automate workflows, and use the REST API for custom integrations — all self-hosted on their own infrastructure.

## Instructions

### Setup

```bash
# Docker Compose (production-ready)
docker compose up -d
# UI at http://localhost:80

# Or one-liner for testing
docker run -p 80:80 -v baserow_data:/baserow/data baserow/baserow:latest
```

### Database Structure

```markdown
## Table Types and Fields

### Field Types
- Text, Long text, Number, Boolean, Date, URL, Email, Phone
- Single select, Multiple select (colored tags)
- Link to table (relationships between tables)
- Lookup (pull data from linked records)
- Rollup (aggregate linked records: SUM, COUNT, AVG)
- Formula (computed fields using other fields)
- File (attachments)
- Created by, Last modified, Auto-number

### Formulas
concat(field('First Name'), ' ', field('Last Name'))
if(field('Status') = 'Paid', field('Amount'), 0)
datetime_format(field('Created'), 'YYYY-MM-DD')
year(now()) - year(field('Birth Date'))
```

### REST API

```bash
# List rows with filtering
curl "https://baserow.example.com/api/database/rows/table/TABLE_ID/?user_field_names=true&filter__Status__equal=Active&order_by=-Created" \
  -H "Authorization: Token YOUR_TOKEN"

# Create row
curl -X POST "https://baserow.example.com/api/database/rows/table/TABLE_ID/?user_field_names=true" \
  -H "Authorization: Token YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"Name": "New Project", "Status": "Active", "Priority": "High"}'

# Update row
curl -X PATCH "https://baserow.example.com/api/database/rows/table/TABLE_ID/ROW_ID/?user_field_names=true" \
  -H "Authorization: Token YOUR_TOKEN" \
  -d '{"Status": "Completed"}'

# Webhooks — trigger on row events
# Configure in UI: Settings → Webhooks
# Events: rows.created, rows.updated, rows.deleted
```

## Examples

**Example 1: User asks to set up baserow**

User: "Help me set up baserow for my project"

The agent should:
1. Check system requirements and prerequisites
2. Install or configure baserow
3. Set up initial project structure
4. Verify the setup works correctly

**Example 2: User asks to build a feature with baserow**

User: "Create a dashboard using baserow"

The agent should:
1. Scaffold the component or configuration
2. Connect to the appropriate data source
3. Implement the requested feature
4. Test and validate the output

## Guidelines

1. **Self-host for data sovereignty** — Baserow runs on your infrastructure; ideal for GDPR compliance and sensitive data
2. **Relationships over duplication** — Use "Link to table" fields instead of duplicating data across tables
3. **Lookups and rollups** — Pull related data with lookups; aggregate with rollups (no code needed)
4. **Form view for intake** — Create public forms for data collection; responses go directly to your database
5. **API for integration** — Use the REST API to connect Baserow data to your applications and workflows
6. **Granular permissions** — Set view/edit permissions per table, per group; share specific views without full database access
7. **Templates for quick start** — Use built-in templates (CRM, project tracker, content calendar) and customize
8. **Webhooks for automation** — Trigger external workflows on row changes; connect to Zapier, n8n, or custom endpoints
More from TerminalSkills/skills