Metadata-Version: 2.1
Name: auto-obsidian
Version: 0.1.2
Summary: A layer on top of your OS that understands what you're doing
Author: Ivan Yevenko
Author-email: iyevenko@gmail.com
License: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# Metalayer

When you install this package, you will get a command line tool called `metalayer`.

## Prerequisites

### Permissions
For each of the following pages in the settings app, you need to check the box next to Terminal or add Terminal.
- System Preferences > Privacy & Security > Screen Recording
- System Preferences > Privacy & Security > Accessibility
- System Preferences > Privacy & Security > Input Monitoring

If you're using chrome, you also need to enable apple events since metalayer uses those to get the 
title of the active tab and other metadata. 
To do this, open chrome then click View > Developer > Allow JavaScript from Apple Events.

### OpenAI API key
You need to get an OpenAI API key with credits to use the metalayer. Sign up [here](https://platform.openai.com).
Once you have a key, run the following command to set it:
```bash
metalayer set-api-key <your-key>
```

### Initializing your knowledge repo
To initialize your knowledge repo, run the following command, which will walk you through the process:
```bash
metalayer init
```

## Running the metalayer
When you've initialized the knowledge repo, run the following command:
```bash
metalayer run
```

This will start recording your screen(s) and printing a bunch of stuff.
Once you start looking at stuff related to the folders you created, files should start appearing in those folders.
After a few minutes, open up your Knowledge Repo folder up in Obsidian to explore the notes!


### Manual Set-up
The tutorial in `metalayer init` will walk you through this, but in case you want to do it yourself this heres how:

Before you start recording your screen and saving auto-generated markdown notes to a folder,
you need to first create the folder. I call mine Knowledge Repo.
Then, create a subfolder for each topic you want to record notes for.
NOTE: for each subfolder, you need to create a file called `_desciption.md`,
which should have a 1-3 sentence description of what you want to be indexed into that folder.
A more specific description will make filtering quality better. Here's an example from my repo:
```
Knowledge Repo
├── Control Theory
│   ├── _description.md
│   └── Model Predictive Control
│       └── _description.md
└── Evolutionary Algorithms
    └── _description.md
```
*Evolutionary Algorithms/_description.md:*
```
Everything related to evolultionary algorithms an genetic algorithms, including motiviation, 
parallels to biological evolution, computational properties, implementation, variants, applications, etc.
```
