#sqlite #task-tracker #typst #productivity

bin+lib mindtape

A file-based task tracker using Typst files as the source of truth

1 unstable release

Uses new Rust 2024

new 0.1.0 Mar 7, 2026

#1566 in Development tools

MIT and AGPL-3.0-only

320KB
7K SLoC

MindTape

MindTape

A MIT-licensed file-based task tracker powered by Typst.


Write .typ files, and MindTape indexes them into a searchable SQLite database. Unlike Markdown, Typst files can import each other, define typed variables, and be statically checked — your task data is structured, validated, and composable.

#import "@local/mindtape:0.1.0": *

= Sprint 12

- [ ] implement auth    #due(2026, 3, 1) #high #tag("backend") #id("32dnblUg0jnnz7W5aDP8u")
- [ ] research options  #start(2026, 3, 15) #medium #tag("backend") #id("32dnbswR9aPa64qkE3nGt")
- [x] design mockups    #tag("design") #id("32dnc36AAmSCBtDj4b4I8")
- [ ] write tests       #low #id("32dncDBIf33gYSKoT45CF")

Installation

Nix flake (NixOS)

See nix/install-example.nix for a full NixOS module example.

From source

git clone https://github.com/mlavrinenko/mindtape.git
cd mindtape
nix develop   # or install Rust toolchain manually
cargo build --release

After building, install the Typst prelude so #import "@local/mindtape:0.1.0" works:

mindtape init          # writes lib to ~/.local/share/typst/packages/local/mindtape/0.1.0/
mindtape init --force  # overwrite existing files

Usage

# Evaluate a single file
mindtape tasks.typ

# Watch folders and build the index
mindtape watch                     # uses ~/.config/mindtape/config.toml
mindtape watch --config my.toml

# Query the index
mindtape list                                               # pending tasks
mindtape list --status all --filter 'has_tag("backend")'
mindtape list --filter 'has(due) && due < "2026-04-01"'
mindtape list --filter 'search("auth")'                     # full-text search
mindtape list --sort rank:desc -n 10                        # top priority
mindtape list --json                                        # JSON output

# Modify tasks (writes back to .typ files)
mindtape check <id>                    # toggle checkbox
mindtape set <id> --due 2026-04-01     # set due date
mindtape set <id> --add-tag urgent     # add tag

# Inspect
mindtape inspect                       # all: stats, files, dependencies
mindtape inspect --with status         # index statistics only
mindtape inspect --with files          # indexed files only
mindtape inspect --with deps           # file dependency graph
mindtape inspect --with deps --file tasks.typ  # single-file deps

Contributing

See CONTRIBUTING.md.

Acknowledgements

The logo uses a brain icon from Lucide (ISC license).

Dependencies

~113MB
~2M SLoC