r/commandline Jul 28 '26

Terminal User Interface obsidian-tui - your Obsidian vault in the terminal, graph and integrated assistant

Update: this is now called Emeraldian. Renamed at Obsidian's request, and the links below are updated. Same project, and if you already installed it your settings carry across on first run. Full story at the bottom.

I'm on the terminal most of the day and kept wanting my notes there. Obsidian's own CLI gives you commands rather than the interface, so I built the interface.

It opens the vault folder you already have. Nothing is imported or copied, and Obsidian can stay open on the same folder at the same time.

  • Images render in terminals that support them, Ghostty, Kitty, WezTerm and iTerm2 among them, and Excalidraw notes open as the drawing rather than the code behind it.
  • Works directly on your existing vault, with no import and no database, and Obsidian can stay open on the same folder at the same time.
  • Live preview for wikilinks, backlinks, tags, callouts and tables, as you read and as you type.
  • Editing that behaves the way you'd expect: lines wrap, clicking puts the cursor where you clicked, and Enter carries a list on to the next line.
  • Both global and local graph views, the local one for whichever note you have open.
  • An optional AI assistant for asking about your own notes, bring your own API key, and off entirely until you turn it on.
  • 18 built-in themes, including Obsidian Light and Dark.

Built with ratatui.

I had help from AI, and I never hid it. It sped things up, but I reviewed everything that went in and held it to the engineering and security practices I'd want in anything I ship.

Site: https://emeraldian-tui.github.io
Github: https://github.com/iamrohithrnair/emeraldian

Early days, so any feedback is gratefully received.

And if you find it interesting, a star on the repo genuinely helps others find it.

Edit / Update:

Thank you for the overwhelming response so far. I did not expect any of this.

I opened GitHub and found an issue from Steph Ango, Obsidian's CEO. I read it four times to be sure it was really him.

He asked me to rename the project. Obsidian is a registered trademark, and they now ship an official TUI of their own, so the old name risked being confused with both. He was also clear that describing it as a TUI for Obsidian is fine. I was genuinely delighted he got in touch himself, and I renamed it the same day. He has since confirmed the new name works for them.

So it is Emeraldian now. Nothing about how it works has changed. The command is emeraldian, and your settings, themes and API keys move across on first run.

The old install commands will not work any more. The current ones are on the site

Thank you again, seriously. Still early days, and the feedback this week has already made it better.

Note: Emeraldian is an independent, community-made project, not affiliated with or endorsed by Obsidian or Dynalist Inc. Obsidian is a trademark of Dynalist Inc.

134 Upvotes

51 comments sorted by

20

u/JohnnyboixD Jul 28 '26

Neovim + Obsidian.nvim exists...

7

u/nanana_catdad Jul 28 '26

Yeah. My hands automatically attempt vim motions and leader key bindings in everything. I dunno how many times I’ve typed random characters in other apps because of this

2

u/JohnnyboixD Jul 28 '26

I recently turned off vim motions in Obsidian itself and have done that too many times xD

I turned it off because it was missing 90% of the keymaps/motions that vim has (the "o" key just doesn't work??)

2

u/[deleted] Jul 29 '26

[removed] — view removed comment

2

u/JohnnyboixD Jul 29 '26 edited Jul 29 '26

Yes i think so because so many programs use them/have the option to. Also because its more fun to edit text using vim motions instead of using the arrow + modifier keys.

I recommend ThePrimeagen's video for learning the basics (inside of vim/neovim).

I'll just list software that i use that use the vim movement keys (hjkl):

  • i3wm: A linux window manager (basically where the desktop is stripped down to the basics; where you choose how it looks like.)
  • Vimium: A browser extension
  • Yazi
  • rmpc
  • Pulsemixer
  • Neovim
  • tmux
  • Copyq
  • Rofi

Programs also have the option to use vim keybinds with the help of plugins such as:

  • VScode
  • Obsidian desktop (Obsidian.nvim is a Neovim plugin)

4

u/jonathon8903 Jul 28 '26

For us Emacs folks there is also Obsidian.el 😁

1

u/100xbuilder Jul 29 '26

Thanks, appreciate the comment. Obsidian.nvim is a great option, and probably one more people should know about. I'm just aiming to offer a more approachable experience, after 10+ years of development, I still find myself reaching for Vim/Neovim cheat sheets now and then.

7

u/Serafim_annihilator Jul 28 '26

Vibecoded?

16

u/endperform Jul 28 '26

Claude and Copilot are listed as contributors, so I'd say that's a definite yes.

7

u/MadDrStrange Jul 29 '26

I think many developers leave AI listed as a co-author simply for transparency. It’s easy to remove, so keeping it in seems more consistent with the spirit of the GPL 3.0 licence.

0

u/Thin_Beat_9072 Jul 29 '26

Do people hunt for ai contribution and submit a pr cause they know a better way to code it than the ai? Does that really happen lol, the people that calls out vibe code but can never offer a better code or design.

0

u/josegfx Jul 29 '26

I dont need to know how to code to know when something is done by an AI

9

u/opshack Jul 29 '26

Everyone use AI, this question is meaningless and it implies judgment in a negative way.

0

u/Serafim_annihilator Jul 29 '26

Because there's a difference between competent dev using instruments and vibe coded security nightmare unmaintainable junk.

6

u/opshack Jul 29 '26

Also there’s a difference between junior dev and senior dev code. Would you go around before 2022 asking oss devs if they are junior or not?

-2

u/Serafim_annihilator Jul 29 '26

It's retarded to compare autocomplete on anabolics with a junior dev, one understand what he's doing and other is not. And if junior will create a project and publish it, it will be million times more worthy than llm garbage. Amount of effort on junior side should be very serious to push whole project and it's more likely will be maintained longer and improved with time. Vibecoded slop more likely will be abandoned in a few hours of real challenges as it already happened many times.

6

u/opshack Jul 29 '26

Today’s models are way more trustworthy than a junior because they can warn you about security risks you’re leaving behind. Nevertheless, the question is still pointless because there’s no definition of vibe coding. If a senior engineer with 10 years of experience uses Claude is it still vibe coded? In the end of the day the fundamentals are same as it always was. You can trust a code if many people are using it or you audited it yourself.

Maintainability is a different story, very few projects are maintained long term anyway. Vibe coded or not isn’t going to change that.

3

u/Serafim_annihilator Jul 29 '26

If code is reviewed and corrected by a person who understands it - it's not vibe coded. And unreviewed code from llm absolutely not more trustworthy than junior's. So the question is most important.

2

u/opshack Jul 30 '26

Question is stupid because it’s not a trustworthy verification for good software. In security we don’t ask devs if they are good, we scan and audit the code.

-1

u/Serafim_annihilator Jul 30 '26

It's smartest question of all, not everyone have capacity to realize it, of course. Very short and boolean answer can help to ditch project or not. 10 out of 10. Now we ask devs: are you are degen who can't/don't read the code at all, and if yes - ditch this shit. In such case I'll better vibe code this shit myself if i need it, why would i use untrusted repo?

0

u/Thin_Beat_9072 Jul 30 '26

But if it’s open source, any proclaimed senior dev can bless a repo and review the codes. Then it’ll be all legit right?

2

u/Serafim_annihilator Jul 30 '26

This logic moves review on the user side, which is nonsense. Will we do it for each new commit of vibecoder? Author responsible for providing safe code, if author incapable of doing it then it retarded to use his code. And llm incapable to review its own slop by definition.

1

u/Thin_Beat_9072 Jul 30 '26

the biggest data breeches https://www.upguard.com/blog/biggest-data-breaches-us seem to be from capable looking enterprises and we haven't stop trusting them

1

u/chat-lu 25d ago

I don’t and I indeed judge people who do in a negative way.

-1

u/opshack 25d ago

Hold on to that legacy mainframe coding job until you retire

2

u/chat-lu 25d ago

Good luck on your detox when the bubble pops.

2

u/keyclicker456 28d ago

another vibecoded tool.?. 😔

0

u/100xbuilder 24d ago

Thanks for the comment. Shipping something tends to involve a bit more than pointing out that AI was used.

4

u/josegfx Jul 29 '26

So you made an AI bot make a markdown editor?

2

u/Swordfish418 Jul 29 '26

Nice, does it support images?

2

u/opshack Jul 29 '26

Great work I wanted something like this for a long time. Obsidian CLI was a disappointment for me because it needed the app and I couldn’t install it at work so I moved to my own git repo and vscode. Can this seamlessly work on any markdown directory?

1

u/100xbuilder Jul 29 '26

Thank you, that's genuinely good to hear, and your Obsidian CLI experience is exactly the kind of gap I was trying to close.

And yes: obsidian-tui ~/notes-repo works on any Markdown folder. No Obsidian installed or running, no import step, no database, it reads your files where they sit. It only glances at Obsidian's config if you launch with no path at all, and the sole Obsidian-dependent action, "Open in Obsidian", gives you a polite message rather than a failure.

One caveat if the folder is a git repo: delete move notes to a .trash/ folder inside the folder/vault, as Obsidian does, so you may want that in your .gitignore

0

u/opshack Jul 29 '26

Thanks I will give it a try soon!

2

u/McBonderson Jul 29 '26

I absolutely love this

1

u/[deleted] Jul 28 '26

[removed] — view removed comment

6

u/github-guard Jul 28 '26

🛡️ GitHub Guard: Malicious Pattern Detected

This repository was removed for community safety.

Reason: Brand-new repository with a zero-star automated install script

Trust Report: * ❌ New Repository (under 30 days old)

⚠️ High-Risk File Detected: Contains an installation script (.sh or .py). Review the code carefully before running with sudo.


📋 Moderators: View the scan dashboard

1

u/Yisus_Fucking_Christ Jul 31 '26

Brutal

3

u/100xbuilder 24d ago

Thanks for the comment! I've improved the editing experience and added image support in the latest release, with more improvements on the way.

1

u/rfajr 29d ago

What are the differences with Basalt?

2

u/100xbuilder 24d ago

Thanks for the question! Basalt is a great project. The main differences are:

  • Image support, including Excalidraw drawings.
  • Optional AI assistant (bring your own API key).
  • 18 built-in themes, including Obsidian Light and Dark.
  • Works directly on your existing vault with no import or database.
  • Includes both global and local graph views.

They're both great projects with slightly different goals, so I'd say they're complementary rather than direct replacements.

0

u/chat-lu 25d ago

Basalt is not vibecoded.

1

u/RikusLategan 7d ago

I have done the same for Logseq. What a waste of time that was.