Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Graphite

Real-Fruit-SnacksReal-Fruit-Snacks124 downloads

A calm, Todoist-like task manager for Obsidian — tasks stay as local Markdown files in your vault.

Add to Obsidian
Graphite screenshot
  • Overview
  • Scorecard
  • Updates4
Graphite

A calm, Todoist-like task manager for Obsidian — every task is a line in a plain Markdown file you own. No account, no external service, no database. Just your notes.


   

Website · Changelog · Report an issue


Overview

Graphite sits between lightweight checkbox plugins and heavy task-note systems: structured enough to run your day, small enough to stay quiet. Tasks live entirely inside your vault as human-readable Markdown, organized into one file per month — so your task history is greppable, portable, and yours forever.

Graphite is not a Todoist integration. It never connects to Todoist or any external service.


Features

  • Views — Inbox, Today (with an Overdue section), Upcoming, Projects, Filters & Labels, Activity (with a 26-week heatmap), Completed, and Search.
  • Tasks — titles, descriptions, projects, priorities (P1–P4), due dates, deadlines, labels, and file attachments with inline image previews.
  • Sub-tasks — nested under any task, with an inline completion counter and quick complete.
  • Recurring tasks — daily, weekly (multi-weekday), weekdays, monthly, yearly, and custom rules; calendar- or completion-based.
  • Quick capture — add from the board, a full-screen mobile composer, or the command palette (with #label and //project inline tokens).
  • Daily Notes — surface a day's completed tasks in a panel or a graphite-completed code block.
  • Confirm before delete — task and sub-task deletions always ask first.
  • Theme-driven — colors, surfaces, and accents inherit from your active Obsidian theme; the UI speaks the Terminal Workbench design language.
  • Private — no telemetry, no network calls, no account.

Installation

Community plugins (recommended)

  1. Open Settings → Community plugins → Browse.
  2. Search for Graphite, install, and enable it.

BRAT (latest pre-release)

  1. Install the BRAT plugin from Community plugins.
  2. Run BRAT: Add a beta plugin and enter Real-Fruit-Snacks/Graphite.
  3. Enable Graphite in Settings → Community plugins.

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Copy them into <your-vault>/.obsidian/plugins/graphite/.
  3. Reload Obsidian and enable Graphite in Settings → Community plugins.

Getting started

  1. Run Graphite: Open from the command palette (or click the ribbon icon).
  2. Click + Add task, or press the Quick Add hotkey, and give it a title.
  3. Add a date, project, label, priority, or repeat rule. Tasks with no project land in Inbox.

Commands

Command Default hotkey
Graphite: Open —
Graphite: Quick Add Task Ctrl/Cmd + Shift + A
Graphite: Show Completed Tasks for Active Daily Note —
Graphite: Insert Completed Tasks Block in Active Daily Note —
Graphite: Normalize Labels —
Graphite: Migrate old task file —

Inline tokens

While typing a task title, use #label to attach a label and //project to set the project.


How a task is stored

Graphite keeps task data in a configurable folder (default _graphite_files/), one Markdown file per month, with attachments beside them:

_graphite_files/
├─ Data/
│  └─ 2026-07.md
└─ Attachments/
   └─ <task-id>/

Each task is a Markdown list item with key:: value metadata:

- [ ] Write portfolio case study draft
  id:: task-example
  created:: 2026-07-05
  due:: 2026-07-08
  deadline:: 2026-07-10
  project:: Client Work
  priority:: P2
  description:: Keep it short and visual.
  labels:: writing, portfolio

Tasks without a project omit project:: and appear in Inbox. Completed tasks use [x] with a completed:: date. Graphite reads and writes only its own data folder, and preserves any lines or properties it doesn't recognize — so hand-editing is safe.


Architecture

src/
├─ main.ts          Plugin lifecycle, commands, events, Daily Notes
├─ taskStore.ts     In-memory task state + queued Markdown persistence
├─ parser.ts        Markdown → tasks (preserves unknown content)
├─ serializer.ts    Tasks → Markdown (non-destructive round-trip)
├─ repeatUtils.ts   Recurring-task scheduling
├─ views/           Board view, detail modal, composer, project/label modals
└─ ui/              Shared components (themed dropdown, buttons, icons, popover)
  • Non-destructive storage — the parser keeps a document of raw + task blocks, so edits never clobber surrounding content or unknown metadata.
  • Serialized writes — task writes run through a queue and reconcile only the files they touch, so rapid, cross-file edits can't race or drop data.
  • Theme-driven styling — namespaced .graphite-* CSS with tokens mapped to Obsidian's theme variables; monospace "manifest" labels for structural chrome.

The pure data layer (parser, serializer, recurring math, sorting, store) is covered by a Vitest suite.


Development

npm install
npm run dev      # watch build
npm run test     # data-layer test suite
npm run verify   # tests + typecheck + production build (pre-commit gate)

To auto-copy each build into a vault's plugin folder, set the GRAPHITE_PLUGIN_DIR environment variable or a gitignored .plugin-target file to that folder's path.


Contributing

Bug reports and feature requests are welcome in Issues. If you're opening a pull request, run npm run verify first.


Credits

Graphite is a fork of the belki task manager by Yasin Aribuga, rebuilt and extended under the Terminal Workbench design language.

License

MIT — see LICENSE. Copyright © Yasin Aribuga (original belki project) and Real-Fruit-Snacks (Graphite fork).

HealthExcellent
ReviewSatisfactory
About
Manage Todoist-like tasks as plain Markdown lines stored one file per month in your vault for portable, human-readable task history. View Inbox, Today (with Overdue), Upcoming, Projects, Filters, a 26-week activity heatmap, subtasks, recurring rules, attachments, and quick capture. Keep everything private with no accounts or network calls.
TasksProject management
Details
Current version
0.1.3
Last updated
2 weeks ago
Created
3 weeks ago
Updates
4 releases
Downloads
124
Compatible with
Obsidian 1.6.6+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Real-Fruit-SnacksReal-Fruit-Snacksreal-fruit-snacks
GitHubreal-fruit-snacks
  1. Community
  2. Plugins
  3. Tasks
  4. Graphite

Related plugins

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.

Project Manager

Full-featured project management: stunning Gantt charts, Kanban boards, Table views, customizable fields, due date notifications.

Base Board

Organize notes into Kanban boards using frontmatter properties. Drag and drop cards between columns powered by Bases.

TaskChute Plus

Execute TaskChute that slots today's tasks, tracks projects, adds comments, and keeps you focused on now.

Operon

Task and project management system that unifies inline tasks and file-based tasks in the same workflows with Tables, Filters, Calendar planning, Kanban boards, pinned tasks, and time tracking.

TickTickSync

Sync TickTick tasks.

Apex Dashboard

Your personal command center — memos, todos, and projects in one stunning glassmorphism dashboard.

Task Zero

A keyboard-first GTD task management system.

Smart Gantt

Generate Gantt charts from your tasks.

Proletarian Wizard Task Manager

Track your tasks across all the notes in your workspace. Organize your day. Plan your work