Skip to main content

Add your description here

Project description

obstask

obstask is a CLI and AI-powered assistant for managing an Obsidian vault. Create and link projects, tasks, people, and meetings from the terminal or via a conversational agent, and turn daily notes into structured tasks and meetings.

Features

  • Vault scaffolding — Initialize a vault with projects/, tasks/, people/, meetings/, daily/, and templates.
  • Note creation — Add projects, people, meetings, and tasks with YAML frontmatter and Obsidian wikilinks.
  • Daily notes — Projects are linked into daily notes; new meetings are appended to today’s daily under the right project.
  • AI agent — Chat with an agent (Gemini) to create people, meetings, and tasks in the current project context.
  • Parse daily — Process today’s daily note so the agent can create tasks and meetings from your notes.

Requirements

  • Python 3.12+
  • For chat and parse: set GOOGLE_API_KEY and GOOGLE_MODEL in your environment (e.g. gemini-2.0-flash).

Installation

From the project root:

uv sync

Or install in editable mode:

pip install -e .

The CLI is available as ot (or run python -m obstask.cli).

Usage

Run all commands from the root of your Obsidian vault (the folder that contains or will contain projects/, tasks/, etc.).

Command Description
ot init Create directory structure and copy templates.
ot project Create a new project (interactive).
ot person Create a person and link to projects.
ot meeting Create a meeting (project + attendees).
ot task Create a task (project, due date, status).
ot chat Run the AI agent for the selected project.
ot parse Parse today’s daily note and run the agent.

Examples

cd /path/to/your/vault
ot init
ot project
ot task
ot chat

Task due dates in the CLI accept YYYY-MM-DD, MMDD, or DD (current month). Task status is one of: backlog, to do, doing, done.

Vault layout

After ot init, the vault looks like:

vault/
├── projects/   # Project notes
├── tasks/      # Task notes (project_fk, due_date, status_enum)
├── people/     # People (project_list)
├── meetings/   # Meetings (project_fk, people_list, meeting_date)
├── daily/      # Daily notes (e.g. 2026-03-19.md)
└── templates/  # Daily.md, Meeting.md, People.md, Project.md, Task.md

Notes use YAML frontmatter and markdown body; links between notes use Obsidian wikilinks (e.g. [[projects/My Project|My Project]]).

Agent (chat / parse)

  • ot chat — Choose a project, then talk to the agent. It can create people, meetings, and tasks in that project using tools; use exact person note filenames for meeting attendees so wikilinks resolve.
  • ot parse — Loads today’s daily note, filters uncompleted entries, and runs the agent so you can turn notes into tasks and meetings.

Set before using:

export GOOGLE_API_KEY="your-key"
export GOOGLE_MODEL="gemini-2.0-flash"

Development

  • Dependencies: Pydantic, pydantic-ai, PyYAML, questionary, rich.
  • Entry point: otobstask.cli:cli.

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

obstask-0.1.0.tar.gz (149.0 kB view details)

Uploaded Source

File details

Details for the file obstask-0.1.0.tar.gz.

File metadata

  • Download URL: obstask-0.1.0.tar.gz
  • Upload date:
  • Size: 149.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for obstask-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d8db3f3d11efe0e0e43040b63ac2dc6bff6b89e2a731bbabe8d081b9f1181776
MD5 8626828b6fa571461fadd03cb6a802a2
BLAKE2b-256 8ce03c9293003766cda21baac71200f99cead89c1446975f3c6a9fefe8ead283

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page