MCPcopy Index your code
hub / github.com/Feng6611/Obsidian-open-in-Teminal

github.com/Feng6611/Obsidian-open-in-Teminal @0.9.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.9.1 ↗ · + Follow
44 symbols 104 edges 9 files 0 documented · 0% updated 4mo ago0.9.1 · 2026-03-07★ 513 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Open in Terminal

A simple Obsidian plugin that adds palette commands for launching the current vault in your preferred terminal or cli tooling.

Features

  • Always-available Open in terminal command that opens a new window of your configured terminal at the vault directory.
  • Optional commands for Claude Code, Codex cli, Cursor cli, Gemini cli, and OpenCode that you can enable individually — each reuses the same terminal app and runs claude, codex, agent, gemini, or opencode respectively.
  • Optional Git commands:
  • Git: commit and push runs git add . && git commit -m "<default message>" && git push in a newly launched terminal.
  • Git: pull runs git pull in a newly launched terminal.
  • Cross-platform launch strategy with clean defaults (simple launches avoid extra shell commands).

Commands

  • Open in terminal – activates the configured terminal app and opens it at the vault root without running extra commands.
  • Open in Claude Code – when enabled, opens the terminal app and runs claude from the vault directory.
  • Open in Codex cli – when enabled, opens the terminal app and runs codex.
  • Open in Cursor cli – when enabled, opens the terminal app and runs agent.
  • Open in Gemini cli – when enabled, opens the terminal app and runs gemini.
  • Open in OpenCode – when enabled, opens the terminal app and runs opencode.
  • Git: commit and push – when enabled, opens the terminal app and runs git add . && git commit -m "<default message>" && git push.
  • Git: pull – when enabled, opens the terminal app and runs git pull.

Settings

The plugin adds a settings tab under Community Plugins → Open in Terminal with: - Terminal application – text field for the current platform's terminal app name (macOS examples: Terminal, iTerm; Windows: cmd.exe, powershell; Linux: gnome-terminal, alacritty). Settings are stored per platform for cross-device sync. - Enable Claude Code / Codex cli / Cursor cli / Gemini cli / OpenCode – toggles that add the corresponding commands to the palette. - Git commands: - Default commit message – used by Git: commit and push (default: update). - Enable Git: commit and push – adds the Git commit+push command to the palette. - Enable Git: pull – adds the Git pull command to the palette. - Use WSL for commands (Windows only) – run terminal and command launches inside WSL.

Commands warn if the terminal application name is empty.

Platform notes

  • macOS – simple launches use open -a <app>; when running a cli command, the plugin creates a temporary .command script that is cleaned up after launch, avoiding AppleScript permissions.
  • Windows – uses start to launch cmd.exe, powershell, wt.exe, or other shells with the vault directory preselected; cli commands append the respective tool invocation or fall back to cmd.exe /K when necessary.
  • Linux / BSD – simple launches spawn the terminal directly with the vault as the working directory; cli commands fall back to <terminal> -e bash -lc 'cd "$PWD"; …' with tweaks for GNOME Terminal and Konsole.

Development

  1. Install dependencies: npm install
  2. Build once: npm run build
  3. For watch mode while developing: npm run dev

Copy the generated manifest.json, main.js, and styles.css (if added) into your vault's .obsidian/plugins/open-in-terminal/ folder to test locally.

Release workflow

  • Tag commits with the format vX.Y.Z to trigger the GitHub Actions release pipeline defined in .github/workflows/release.yml.
  • The workflow installs dependencies, builds the plugin, packages manifest.json, main.js, and optional styles.css, and attaches them (as well as a zip archive) to the GitHub release.
  • Follow Obsidian's submission checklist before opening or updating the community plugins PR.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 24
Method 15
Class 4
Interface 1

Languages

TypeScript100%

Modules by API surface

src/main.ts14 symbols
src/launcher.ts11 symbols
src/settings.ts10 symbols
src/settings-tab.ts5 symbols
src/logger.ts2 symbols
src/targets.ts1 symbols
src/command-manager.ts1 symbols

For agents

$ claude mcp add Obsidian-open-in-Teminal \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page