Alexandria
Properties are fields you define on a tag. In the app, open Manage Properties on the tag, then edit its Tag Properties to add each property name and type.
After you apply the tag to a note, set property values inline in the note's properties panel. Those values can also appear in tag tables and Link DB Tables.
Alexandria supports exactly seven property types: boolean, select, multi-select, date, number, money, and string.
| Type | Stores | Example property | Example value |
|---|---|---|---|
boolean | A true/false value. | completed | true |
select | One selected text value. | priority | high |
multi-select | Multiple selected text values. | technologies | rust, react, typescript |
date | A date value. | due_date | 2025-08-15 |
number | A numeric value. | estimated_hours | 8 |
money | An exact decimal amount with a currency. | budget | 5000.00 EUR |
string | Free-form text. | team | backend |
Open the tag, choose Manage Properties, and add entries under Tag Properties. For example, a Task tag might define:
completed as booleanpriority as selectlabels as multi-selectdue_date as dateestimated_hours as numberbudget as moneydescription as stringWhen you add the Task tag to a note from the note's tags bar, those properties appear in the note's properties panel. Edit the values there inline.
You can also define the same tag properties and set values with akb:
akb create-tag "Task" \
--properties "completed:boolean" \
--properties "priority:select" \
--properties "labels:multi-select" \
--properties "due_date:date" \
--properties "estimated_hours:number" \
--properties "budget:money" \
--properties "description:string"
akb tag "My Task" "Task"
akb set-property "My Task" "Task" "labels" "rust, docs"
akb set-property "My Task" "Task" "budget" "5000.00 EUR"
A money property stores an exact decimal amount together with its currency
— it is never a plain number. This keeps amounts precise (no floating-point
rounding) and always attached to a currency.
0.10, 1234567.89). It is stored exactly, so currencies with no
decimals (JPY), two decimals (EUR, USD) or three decimals (BHD) all
work without losing precision.EUR, USD or JPY.In the editor you fill in the amount and currency in separate fields. From the
CLI you pass them together, for example set-property … "budget" "5000.00 EUR"
(the currency may also come first, "EUR 5000.00").
Filtering and sorting. Alexandria compares money amounts only within the
same currency and never converts between currencies. So when you filter by an
amount (>, <, =, …) you must also choose a currency; a currency-only
filter matches every value in that currency. Sorting a money column groups rows
by currency and then orders by the exact amount inside each group, so mixed
currencies stay in clear, separate groups instead of being ranked against each
other.