Interact with Apple Notes app from the command line


I use the current Notes app on my iOS devices. It syncs nicely to my desktop. However there I prefer to work on text files usually in the command line.
Particularly I am looking for a way to export notes to a text format and to create or append a note from a text file from the command line.

Is there any information how to interact with these notes?
I find it hard finding any information as the name "Notes" is so generic.

I found two possible ways to interact, but both turned out useless for my case:

  1. In iOS it is possible to create an action that converts notes to markdown. Unfortunately attachments get converted to links that lead nowhere. My notes contain lots of links from Safari, therefore it is not useful for me. Also wasn't able to find a way to define this action on desktop.

  2. I recalled Notes could also store in email accounts. Tried that. Turns out I can't select this destination from the sharing button. Also despite being HTML in the mail folder formatting text is no longer supported.

Description of my workflow

On desktop
I do most coding in vim. This is my preferred way to edit text.
Each project is managed by git. Usually in each project I have a markdown files in a folder containing ideas and notes to the code. These files I would like to make in some way available in the Notes app.
I don't need to have all features of markdown, but some highlighting and inclusion of links would be nice.

On Mobile I do most research. I prefer to use the notes app as I can add text snippets and URLs quickly to any notes. So any app exporting the notes would need to reasonable export them.

Currently, I copy and paste between the two formats. This is not very satisfying. I imagine if I could get some way to import/export to the Notes app I could write scripts that would allow me to sync my local markdown notes.

Best Answer

There is an application called Note2txt which will convert your notes from the Notes app to text files. One file for each note. It creates a file for all your notes and writes them into a directory of your choice. It runs pretty quickly taking about 30 seconds for my 700+ Notes.