A simple guide for non-technical users

This guide explains how to connect Hermes to an Obsidian vault that is stored in GitHub.

The simple idea:

text
Obsidian is where your notes live.
GitHub is where your notes are backed up.
Hermes is the AI agent that can help organize, write, commit, and push updates.

This setup is useful if you want your AI agent to help manage your personal knowledge base.

---

What You Are Setting Up

The setup looks like this:

text
Hermes
→ Obsidian vault folder
→ Git
→ GitHub

In plain English:

Hermes works with your Obsidian notes folder. Git tracks the changes. GitHub stores a backup copy online.

This allows you to keep a structured vault for things like:

text
personal productivity
projects
content ideas
business research
investment research
vibe coding notes
daily notes

---

What You Need Before Starting

You need:

text
1. An Obsidian vault
2. A GitHub repository
3. Git installed in the Hermes environment
4. A way for Hermes to access GitHub
5. A clear folder structure for your notes

For GitHub access, you can use one of these:

text
Option 1: GitHub CLI
Option 2: SSH key
Option 3: GitHub personal access token

For non-technical users, GitHub CLI or SSH is cleaner long-term.

A personal access token works, but it must be handled carefully.

---

Important Security Note

A GitHub personal access token is like a password.

Do not publish it.

Do not paste it into public notes.

Do not include it in screenshots.

Do not commit it into your vault.

If you accidentally expose it, rotate or revoke it immediately.

In this guide, I will use:

text
GITHUB_PAT=REDACTED

Never use your real token in a public article.

---

Step 1: Create or Prepare Your GitHub Repo

You need a GitHub repo for your Obsidian vault.

Example placeholder:

text
https://github.com/ORG_OR_USER/vaultname.git

Your real repo may be private.

If the repo is private and Hermes is not authenticated, it may look like a 404.

That does not always mean the repo is missing.

It may simply mean:

text
Hermes does not have permission to see it yet.

---

Step 2: Clone the Vault Repo

From the Hermes terminal, run:

bash
git clone https://github.com/ORG_OR_USER/vaultname.git

If the repo is private and Hermes is not authenticated, you may see:

text
fatal: could not read Username for 'https://github.com': No such device or address

This means Git needs authentication.

It is not an Obsidian problem.

It is a GitHub access problem.

---

Step 3: Check GitHub Access

First, check whether GitHub CLI exists:

bash
gh --version

If you see:

text
gh: command not found

then GitHub CLI is not installed.

You can still use a token or SSH, but the process is less clean.

Also check SSH:

bash
ssh -T git@github.com

If SSH is not set up, you may see:

text
Host key verification failed.

Again, this is an access issue.

Not an Obsidian issue.

---

Step 4: Authenticate Safely

For a cleaner setup, use one of these methods.

Option 1: GitHub CLI

bash
gh auth login

This is usually easier if GitHub CLI is installed.

Option 2: SSH Key

Create an SSH key:

bash
ssh-keygen -t ed25519 -C "your-email@example.com"

Then add the public key to GitHub.

After that, use an SSH repo URL:

text
git@github.com:ORG_OR_USER/vaultname.git

Option 3: Personal Access Token

Use a token only if you understand the security risk.

Keep it private.

Use a placeholder in documentation:

text
GITHUB_PAT=REDACTED

---

Step 5: Confirm the Vault Was Cloned

After cloning, you should have a folder like:

text
vaultname/

Inside, an Obsidian vault usually has:

text
vaultname/
├── .obsidian/
├── Welcome.md
└── other notes

If the vault uses the Obsidian Git plugin, you may also see:

text
.obsidian/plugins/obsidian-git/

This confirms:

text
The repo is cloned
The folder is an Obsidian vault
Obsidian settings are present

---

Step 6: Decide What the Vault Is For

Before asking Hermes to organize the vault, define its purpose.

Example:

text
personal productivity
vibe coding
business research
investment

This gives Hermes enough context to create a useful structure.

Without this step, the vault may become a random folder of notes.

---

Step 7: Create a Simple Vault Structure

A good beginner structure is:

text
vaultname/
├── Home.md
├── Projects.md
├── Investments.md
├── Business Research.md
├── Vibe Coding.md
│
├── 00 - Inbox/
├── 01 - Daily/
├── 02 - Projects/
├── 03 - Areas/
├── 04 - Resources/
├── 05 - Archive/
├── Templates/
└── Assets/

This is based on a simple system:

text
Inbox     → quick capture
Daily     → daily notes
Projects  → active work
Areas     → ongoing responsibilities
Resources → reusable knowledge
Archive   → completed or inactive items
Templates → reusable note formats
Assets    → images, attachments, files

---

Step 8: Add Project Folders

Inside 02 - Projects, create folders for your active work.

Example:

text
02 - Projects/
├── Project-A/
├── Project-B/
├── Content/
├── Research/
└── Personal/

A project folder can store:

text
briefs
drafts
meeting notes
research
decision logs
assets
checklists

The folder is not just storage.

It becomes the project’s memory.

---

Step 9: Add Resource Folders

Inside 04 - Resources, create folders for knowledge you reuse.

Example:

text
04 - Resources/
├── AI & Vibe Coding/
├── Business Research/
├── Investment/
├── Content Creation/
└── Tools & Systems/

Use this rule:

text
Projects = things I am actively moving
Resources = knowledge I may reuse
Areas = ongoing responsibilities
Archive = completed or inactive work

This keeps the vault easier to maintain.

---

Step 10: Add Templates

Templates help you avoid starting from a blank page.

Useful beginner templates:

text
Daily Note
Project Note
Meeting Note
Investment Research
Business Research
Vibe Coding Session

Example structure:

text
Templates/
├── Daily Note.md
├── Project.md
├── Meeting.md
├── Investment Research.md
├── Business Research.md
└── Vibe Coding Session.md

Templates create consistency.

They also help Hermes write cleaner notes later.

---

Step 11: Configure Obsidian Settings

Basic settings:

text
Daily notes folder → 01 - Daily/
Attachments folder → Assets/
Templates folder → Templates/

If using Obsidian Git plugin, make sure it is enabled in Obsidian.

But remember:

The Obsidian Git plugin alone does not prove Git sync works.

You still need to test:

text
commit
push
pull
remote update

---

Step 12: Check Git Status

Before committing, always run:

bash
git status

This shows what changed.

This matters even more when an AI agent created files for you.

You want to know:

text
What files were added?
What files were deleted?
What files were modified?

Do not commit blindly.

---

Step 13: Configure Git Identity

Fresh servers often do not know who is making the commit.

If you try to commit and see:

text
Author identity unknown

set Git identity.

Repo-local is safer:

bash
git config user.name "Your Name"
git config user.email "you@example.com"

Global is also possible:

bash
git config --global user.name "Your Name"
git config --global user.email "you@example.com"

For personal AI-agent setups, repo-local is usually cleaner.

---

Step 14: Commit the Vault Changes

After checking git status, commit the changes:

bash
git add .
git commit -m "Initialize vault structure, templates, and dashboards"

A successful commit means Git has saved a version of your vault locally.

But it is not yet backed up to GitHub until you push.

---

Step 15: Push to GitHub

Run:

bash
git push origin main

If the push succeeds, you should see something like:

text
main -> main

That means your local vault changes are now in GitHub.

The full working chain is:

text
Hermes edits vault
→ Git tracks changes
→ Commit saves local version
→ Push sends changes to GitHub

---

Step 16: Open the Vault in Obsidian

Open Obsidian.

Choose:

text
Open folder as vault

Select your vault folder.

Example:

text
/opt/data/vaultname

You should now see your folders, notes, templates, and dashboards.

---

Working Chain

The final working chain should look like this:

text
GitHub repo
→ cloned vault folder
→ Obsidian vault structure created
→ templates and dashboards added
→ Git identity configured
→ commit created
→ push completed
→ GitHub remote updated

In simple terms:

text
GitHub
→ Obsidian vault
→ Hermes edits
→ Git commit
→ GitHub sync

---

Common Problems and Simple Fixes

Problem: Repo shows 404

Possible reasons:

text
Repo does not exist
Repo is private
Wrong URL
Hermes is not authenticated

Do not assume it is missing immediately.

Check authentication first.

---

Problem: Clone fails

If you see:

text
could not read Username

Git needs authentication.

Use GitHub CLI, SSH, or a token.

---

Problem: GitHub CLI is missing

If you see:

text
gh: command not found

then GitHub CLI is not installed.

Use SSH or token-based access instead.

---

Problem: Commit fails

If you see:

text
Author identity unknown

configure Git identity:

bash
git config user.name "Your Name"
git config user.email "you@example.com"

---

Problem: Push fails

If push fails, check:

text
Is the remote URL correct?
Is authentication working?
Is the token valid?
Is SSH configured?
Does the server have permission?

---

Safety Rule for AI Agents

Before giving an AI agent access to your vault or repo, set a hard rule:

text
Do not delete any Git repository without asking me three times.

The stronger version:

text
Three-strike repo deletion protocol:

1. Ask once — explain exactly what will be lost
2. Ask again — ask me to reconsider
3. Ask a final time — require explicit confirmation

This matters because repositories are long-term memory.

An AI agent should not delete them casually.

---

Beginner Checklist

Use this checklist:

text
[ ] GitHub repo created
[ ] Repo URL confirmed
[ ] GitHub authentication ready
[ ] Repo cloned successfully
[ ] .obsidian folder exists
[ ] Vault purpose defined
[ ] Folder structure created
[ ] Templates created
[ ] Obsidian settings configured
[ ] git status checked
[ ] Git identity configured
[ ] Changes committed
[ ] Changes pushed to GitHub
[ ] Vault opened in Obsidian
[ ] Deletion safety rule added

---

Simple Explanation

This setup has five layers:

text
Vault layer      → your Obsidian notes
Structure layer  → folders and templates
Git layer        → tracks changes
GitHub layer     → stores backup online
Hermes layer     → helps create, edit, and organize

If something breaks, do not debug everything at once.

Check one layer at a time.

---

Final Note

This setup looked like an Obsidian task.

It was actually a Git operations task.

The real journey was:

text
Clone failed
Repo looked like 404
GitHub CLI missing
SSH not ready
Token used
Clone worked
Vault inspected
Structure created
Commit failed
Git identity fixed
Push failed
Token handling adjusted
Push worked
Deletion guardrail added

That is the useful lesson.

Obsidian is the note-taking layer.

Git is the memory and versioning layer.

Hermes is the assistant that can help maintain the system.

When all three work together, the vault becomes more than a place to store notes.

It becomes a living workspace.

All views are my own. This guide is shared for learning and experimentation.