Bases Power Pack

by iavil
5
4
3
2
1
New Plugin

Description

Advanced database views and automation for Obsidian Bases: kanban, calendar, Gantt, roll-ups, formulas, and saved filters. Free lite tier plus license-gated premium features. - This plugin has not been manually reviewed by Obsidian staff.

Reviews

No reviews yet.

Stats

stars
downloads
0
forks
0
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

Bases Power Pack

Advanced database views and automation on top of Obsidian's native Bases feature. Bases Power Pack adds extra view types, roll-ups/formulas, and saved filters so your Bases behave like a real lightweight database.

Open-core / one-time purchase. The plugin is free to use in its Lite tier. Premium features unlock with a one-time license — ~$29 (one-time).


Lite vs. Premium

Feature Lite (free) Premium (~$29 one-time)
Kanban view (group notes by a frontmatter property)
Calendar view (notes placed by a date property)
Gantt timeline view ✅ (roadmap)
Roll-ups & formula columns ✅ (roadmap)
Saved filters & view presets ✅ (roadmap)

The Kanban view is the free "one extra view" — fully usable with no license. Everything else is gated behind the license check (LicenseManager.isPremium()).

How the views work

Both views read standard frontmatter, the same data Bases tables expose, so they work today without depending on Bases internals:

  • Kanban — scans markdown notes for a configurable property (default status) and lays them out in columns. Click a card to open the note.
  • Calendar — month grid that places notes onto days using a configurable date property (default due). Navigate months with the arrows.

Configure both properties in Settings → Bases Power Pack.


Usage

Commands (open the command palette):

  • Open Kanban view (Lite)
  • Open Calendar view (Premium) — prompts to upgrade if no valid license
  • Verify license key

There's also a ribbon icon for the Kanban board.

Premium / licensing

Enter your license key in Settings → Bases Power Pack → License. Keys are verified offline with Ed25519 signatures (via tweetnacl) — no account, server, or network call. The result is cached in isPro; premium views and settings unlock immediately on a valid key.

A license key is base64url(payload).base64url(signature), signed by the author's private key and verified against the public key embedded in src/license/publicKey.ts.

Selling keys (author workflow):

node scripts/keygen.mjs                 # one-time: create keypair (.license-private.key + public key)
npm run license:generate -- [email protected]   # after a sale: mint a key to email the customer

Billing/delivery (taking payment, emailing the key) is handled out-of-band by Lemon Squeezy / Gumroad — see the TODO(billing) in src/license/LicenseManager.ts. No plugin code changes are needed to wire a storefront; you just deliver the generated key.


Build

npm install
npm run build      # bundles to main.js
npm run dev        # watch mode
npm run typecheck  # tsc --noEmit
npm test           # offline license verification tests

npm run build produces main.js in the project root alongside manifest.json and styles.css — the three files Obsidian loads.

Install into a vault for testing

Copy main.js, manifest.json, and styles.css into:

<your-vault>/.obsidian/plugins/bases-power-pack/

Then enable Bases Power Pack in Settings → Community plugins.


Project layout

bases-power-pack/
├── manifest.json          # Obsidian plugin manifest
├── versions.json          # version -> minAppVersion map
├── package.json
├── tsconfig.json
├── esbuild.config.mjs     # bundler config
├── styles.css
├── .github/workflows/
│   └── release.yml        # tag-driven GitHub release (build + attach assets)
├── scripts/
│   ├── keygen.mjs         # one-time Ed25519 keypair generator (author)
│   ├── generate-license.mjs   # mint a customer key (author)
│   └── customer-license-template.txt
├── tests/
│   └── license.test.mjs   # offline license sign/verify round-trip
└── src/
    ├── main.ts            # plugin entry, commands, view registration
    ├── settings.ts        # settings interface + settings tab
    ├── license/
    │   ├── LicenseManager.ts  # offline Ed25519 verification
    │   └── publicKey.ts       # embedded public key
    ├── types/tweetnacl.d.ts   # minimal tweetnacl type shim
    └── views/
        ├── kanbanView.ts  # Lite (free) view
        └── calendarView.ts# Premium (gated) view

Reference: the licensing approach, settings-tab patterns, build/test setup, and project layout are adapted from the Vault Spotlight plugin — see "Borrowed from Vault Spotlight" notes in the repo.

License

MIT (plugin source). Premium feature access is governed by a signed license key.