@y0c/mdos
v0.2.0
Published
--- status: ready ---
Readme
status: ready
mdos prototype
Team Rules
- Conventions:
docs/conventions.md - Agent rules:
AGENTS.md
Run
pnpm install
pnpm dev -- ./data --config ./.mdos/config.yamlGlobal CLI
npm install -g @y0c/mdos
mdos ./data --config ./.mdos/config.yaml
mdos ./data --config ./.mdos/config.yaml --query "status = in-progress"a 기반 템플릿 생성 기능은 fzf 설치가 필요합니다.
Local Shortcuts
pnpm dev:kanban -- ./data
pnpm dev:list -- ./data
pnpm dev -- ./data --query "today and tags contains task"Release
pnpm publish:dry
pnpm release:patch
pnpm release:minor
pnpm release:majorConfig
~/.config/mdos/config.yaml (global) + <vault>/.mdos/config.yaml (override)
lanes:
field: status
order: [backlog, ready, in-progress, done]
layout:
mode: kanban # kanban | list
preview:
enabled: true
panes:
- id: backlog
title: Backlog
query: status = backlog
fields: [status, project, tags]
template: .mdos/templates/task.md
- id: in-progress
title: In Progress
query: status = in-progress
fields: [status, project, tags]
template: .mdos/templates/task.md
keymap:
global:
quit: q
rescan: r
switchPane: tab
togglePreview: p
list:
up: k
down: j
openInEditor: e
createFromTemplate: a
scan:
excludeMode: merge # merge | replace
exclude:
- ".obsidian/"
- "node_modules/"
- "build/"
refresh:
intervalSec: 0 # 0이면 비활성, 1+이면 주기 리스캔Template variables:
{{date}}->YYYY-MM-DD{{datetime}}->YYYY-MM-DD HH:mm:ss{{lane}}-> 현재 pane lane (kanban일 때)
Keys
j/kor arrow: move in focused panetab: switch pane focuse: open selected file with$EDITOR(nvimfallback)a: select target directory withfzfand create a new file from pane template1..4: move selected note to lane order indexP: move selected note to previous lanep: toggle preview paner: rescan markdown filesq: quit
Query Examples
todaystatus = "in-progress"status != "done" and tags contains "ai"type in ["task", "note"]exists(project) and path startswith "80-dev/"coalesce(status, "backlog") = "backlog"
One-off search pane:
mdos ./data --config ./.mdos/config.yaml --query 'path startswith "data/work/" and status != done'