Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

mdbase-tasknotes

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mdbase-tasknotes - npm Package Compare versions

Comparing version
0.1.0
to
0.1.1
+96
README.md
# mdbase-tasknotes
Standalone CLI for managing markdown tasks via [mdbase](https://mdbase.dev). Create, query, and manage tasks directly on markdown files using natural language.
Works on the same vault and `_types/task.md` schema that the [TaskNotes](https://github.com/callumalpass/tasknotes) Obsidian plugin generates, or can initialize its own standalone collection.
## Install
```
npm install -g mdbase-tasknotes
```
## Quick start
```bash
# Initialize a new collection
mtn init ~/notes
# Set as default collection
mtn config --set collectionPath=~/notes
# Create tasks with natural language
mtn create "Buy groceries tomorrow #shopping @errands"
mtn create "Write report due friday #work +quarterly-review"
mtn create "Fix the faucet high priority #home @house"
# List and query
mtn list
mtn list --overdue
mtn list --tag work --status open
mtn list --json
# Complete a task
mtn complete "Buy groceries"
# Track time
mtn timer start "Write report"
mtn timer status
mtn timer stop
mtn timer log --period today
```
## Commands
| Command | Description |
|---|---|
| `mtn init [path]` | Initialize a new collection with `mdbase.yaml` and `_types/task.md` |
| `mtn create <text...>` | Create a task from natural language |
| `mtn list` | List tasks with filters (`--status`, `--priority`, `--tag`, `--due`, `--overdue`, `--where`, `--on`, `--json`) |
| `mtn show <task>` | Show full task detail (`--on YYYY-MM-DD` for recurring instance state) |
| `mtn complete <task>` | Mark a task as done (`--date YYYY-MM-DD` for recurring instance completion) |
| `mtn update <task>` | Update fields (`--status`, `--priority`, `--due`, `--title`, `--add-tag`, `--remove-tag`) |
| `mtn delete <task>` | Delete a task (`--force` to skip backlink check) |
| `mtn archive <task>` | Add archive tag to a task |
| `mtn skip <task>` | Skip a recurring instance (`--date YYYY-MM-DD`, default today) |
| `mtn unskip <task>` | Unskip a recurring instance (`--date YYYY-MM-DD`, default today) |
| `mtn search <query>` | Full-text search across tasks |
| `mtn timer start\|stop\|status\|log` | Time tracking |
| `mtn projects [list\|show]` | List projects and their tasks |
| `mtn stats` | Aggregate statistics |
| `mtn interactive` | REPL with live NLP preview |
| `mtn config` | Manage CLI configuration (`--set`, `--get`, `--list`) |
Tasks can be referenced by file path or title. Titles are matched exactly first, then by substring.
## Natural language parsing
Task text is parsed using [tasknotes-nlp-core](https://github.com/callumalpass/tasknotes-nlp-core). Supported patterns:
- **Dates** — `tomorrow`, `friday`, `next week`, `2026-03-15`
- **Tags** — `#shopping`, `#work`
- **Contexts** — `@home`, `@office`
- **Projects** — `+quarterly-review`
- **Priority** — `high priority`, `urgent`
- **Recurrence** — `every day`, `weekly`, `every monday`
- **Estimates** — `~30m`, `~2h`
The parser reads status and priority values from your collection's `_types/task.md`, so customizing the type definition changes what the parser accepts.
For completion semantics, `mtn` also reads optional `tn_completed_values` on the status field (for example `tn_completed_values: [done, cancelled]`).
## Collection path
Resolved in order:
1. `--path` / `-p` flag
2. `MDBASE_TASKNOTES_PATH` environment variable
3. `collectionPath` in `~/.config/mdbase-tasknotes/config.json`
4. Current working directory
## Using with TaskNotes
If you use the [TaskNotes](https://github.com/callumalpass/tasknotes) Obsidian plugin with mdbase spec generation enabled, `mtn` works directly on your vault — point it at your vault root and it will read the same `mdbase.yaml` and `_types/task.md` the plugin generates. Tasks created by either tool are visible to both.
## License
MIT
+8
-5
{
"name": "mdbase-tasknotes",
"version": "0.1.0",
"version": "0.1.1",
"description": "Standalone CLI for managing markdown tasks via mdbase",

@@ -30,2 +30,4 @@ "type": "module",

"start": "node dist/cli.js",
"test": "npm run build && node --test tests/**/*.test.mjs",
"test:tz-parity": "npm run build && ./scripts/test-tz-parity.sh",
"prepublishOnly": "tsup"

@@ -35,13 +37,14 @@ },

"@callumalpass/mdbase": "^0.2.1",
"chalk": "^4.1.2",
"commander": "^12.1.0",
"chalk": "^4.1.2",
"date-fns": "^4.1.0",
"ora": "^5.4.1"
"ora": "^5.4.1",
"rrule": "^2.8.1"
},
"devDependencies": {
"@types/node": "^20.0.0",
"tasknotes-nlp-core": "^0.1.0",
"tsup": "^8.0.0",
"typescript": "^5.5.0",
"@types/node": "^20.0.0"
"typescript": "^5.5.0"
}
}

Sorry, the diff of this file is too big to display