cloud-atlas-ai / obsidian-am

Interoperability between Obsidian and Amazing Marvin
MIT License
16 stars 1 forks source link

Obsidian Amazing Marvin Plugin

This plugin for Obsidian enables synchronization with Amazing Marvin, a comprehensive task management and planning system. It is developed and maintained by your productivity friends at Cloud Atlas to facilitate a seamless integration for users who utilize both platforms.

Amazing Marvin Plugin Overview

The Amazing Marvin Plugin provides a way to bring your tasks and project structures from Amazing Marvin directly into your Obsidian vault. It respects the Amazing Marvin hierarchy of categories and projects, creating a matching folder and note structure within Obsidian.

Key Features

Usage Instructions

Sync Direction

The Obsidian Amazing Marvin Plugin currently supports unidirectional synchronization. It imports and updates data from Amazing Marvin into your Obsidian vault, but it does not export or sync changes made in Obsidian back to Amazing Marvin.

Sync Behavior

Each sync operation performs a fresh import:

Running a Sync

To initiate a sync:

  1. Open Obsidian's Command Palette with Ctrl/Cmd + P.
  2. Search for and select the command Sync Amazing Marvin categories and projects.
  3. The plugin will then proceed to update your Obsidian vault with the current structure and content from Amazing Marvin.

Once synced, your Obsidian vault will contain a new AmazingMarvin folder. Inside, you'll find the structured notes corresponding to your categories and projects from Amazing Marvin.

Creating a Marvin Task

The task creation dialog is designed to mirror the task input experience in Amazing Marvin closely. It includes the following features:

To create a task:

  1. Open Obsidian's Command Palette with Ctrl/Cmd + P.
  2. Search for and select the command Create Marvin Task.
  3. Input the task details and select the appropriate category from the dropdown, which shows suggestions as you type.
  4. Upon task creation, a markdown checklist item with a link to the Marvin task is inserted at your cursor location in Obsidian.

Auto-Mark as Done Feature

One of the highlights in this version is the ability to auto-mark tasks as done in Amazing Marvin when they are checked off in Obsidian. When this feature is enabled in the plugin settings, checking a task off in your Obsidian note will automatically update the task status in Amazing Marvin.

Here's how to enable this feature:

  1. Go to Settings > Obsidian Amazing Marvin Plugin.
  2. Check the option Attempt to mark tasks as done in Amazing Marvin when checked off in Obsidian.
  3. Save your settings.

Now, when you check off a task with an Amazing Marvin Link in an Obsidian note, a request will be sent to Amazing Marvin to mark the task as done there as well.

Important Considerations

By following these guidelines, you can ensure your Amazing Marvin data is accurately reflected in Obsidian while being mindful of the plugin's current limitations.

Installing

Using BRAT

  1. Install the BRAT plugin
    1. Open Settings -> Community Plugins
    2. Disable safe mode, if enabled
    3. Browse, and search for "BRAT"
    4. Install the latest version of Obsidian42 - BRAT
  2. Open BRAT settings (Settings -> BRAT)
    1. Scroll to the Beta Plugin List section
    2. Add Beta Plugin
    3. Specify this repository: cloud-atlas-ai/obsidian-am
  3. Enable the Amazing Marvin plugin (Settings -> Community Plugins)

Manually

  1. If you haven't enabled community plugins in Obsidian, follow these instructions to do so.
  2. Download cloudatlas-obsidian-am.zip from the releases.
  3. Unzip the release and copy the directory into your vault's plugins folder: <vault>/.obsidian/plugins/cloudatlas-o-am.
  4. Restart Obsidian to recognize the new plugin.
  5. In Obsidian's settings under "Community Plugins," find and enable the Obsidian Amazing Marvin Plugin.
  6. Add your key token to the plugin settings. You can find your key token in the Amazing Marvin API page.

Development

  1. Ensure NodeJS and npm are installed on your system.
  2. Clone this repository.
  3. Run npm install to install the dependencies.
  4. Make your desired changes.
  5. Use npm run dev to watch for changes and compile the plugin to dist/main.js.

For more detailed development instructions, refer to the sample plugin provided by Obsidian.

Testing

While you're testing, you're going to send a lot of requests to the Amazing Marvin API. To avoid hitting the rate limit, you can use the Desktop local API server. See Desktop Local API Server for more information. Once setup, you can specify the local API server in the plugin settings.

Note that the /api/children endpoint is not available in the local API server, always returning 404. I've followed up with the Amazing Marvin team to see if this can be added.