VibeForge
GitHub 09:00
Open source · Built for Omarchy · MIT

Your coding agents, forged into one desk.

VibeForge runs Claude Code, Codex, Grok and every other coding CLI you already use — in real terminals, as a team. Teammates that remember, routines that run on schedule, and a review inbox for everything they touched.

$ curl -fsSL https://raw.githubusercontent.com/L0nE-F0x/VibeForge/main/scripts/install.sh | bash
  • No accounts
  • No API keys
  • No telemetry
  • Plain files on disk

Works with the CLIs already on your PATH

Claude CodeCodexGrok BuildCursor AgentGemini CLIOpenCodeCopilotCrushKimiPiHermes+ anything with a command line

VibeForge never calls a model API and never holds a key. Every engine is a CLI you're already signed in to.

02 Features

A crew, not a chat box.

Agents are teammates with a job. Code mode is a tiling workspace. Routines and tasks decide when work starts — and every run leaves something you can review.

Teammates that outlive the engine

Each agent keeps a brief, a memory file, installed skills and the folders it may touch. Swap it from Claude Code to Codex to Grok and it's still the same teammate — the change applies to the next run.

RN
Release notes Claude Code
Brief Memory 2 skills ~/Projects/frontier-halls

Tiled like your desktop

Split terminals side by side, a file tree that drops paths into the focused pane, and a browser dock for localhost. Layouts come back per workspace.

shellnpm run dev➜ localhost:5173
Claude Code● Editing src/lamp.ts✓ tests pass
localhost:5173

Routines that respect your time

Cron or intervals, read back in plain words. Each fire is a fresh run. They only run while VibeForge is open — slots missed while closed are shown, never replayed.

0 9 * * 1-5 At 09:00, Monday through Friday
Mon 09:00Tue 09:00Wed 09:00

Review everything they touched

Every run keeps its final screen, a plain-text transcript, the exact prompt, and the git diff since it began — commits included. Continue reopens the very same session when the CLI printed one on exit (claude --resume, grok --resume, …).

Weekday notes Finished 1 commit · 2 files changed
Final screenChangesPromptTranscript
diff --git a/RELEASE_NOTES.md
+- Great-hall lamps glow warm at night
+- Doors remember who opened them
-- fixed lamp bug
claude --resume e6ea7991-…Continue

Tasks that wait for you

Writing or assigning a task never starts anything. Execute does. When the process ends, the task lands in Review with its diff.

To do
Running
Review
Fix lamp flicker

Real terminals, not a chat skin

WebGL xterm, bracketed paste, drag files in for their paths. Plain Ctrl+V reaches the program — paste screenshots into Claude Code like you would in ghostty.

CtrlShiftV

Private by construction

No accounts, no keys, no telemetry. Agents, skills, routines and tasks are YAML and Markdown in ~/.config/vibeforge — edit them in Neovim and VibeForge picks it up live.

~/.config/vibeforge/
agents/release-notes/memory.md

Knows what's on your PATH

Finds your CLIs through your login shell — mise, ~/.local/bin, all of it. Prompts go in as one argument, or get pasted once the CLI has settled.

claudecodexgrok geminiopencodeaider

Wears your Omarchy theme

Colours come from the active theme and change the moment you switch. Try it on this page.

— Under the hood

What happens when you hit Send.

  1. 1

    One argument, intact

    The brief, memory, skills and your prompt reach the CLI as a single argument. Nothing is typed line by line into a TUI.

  2. 2

    A real terminal

    It runs in the agent's allowed folder. A headless mirror keeps every screen, so switching views never loses a line.

  3. 3

    A record when it ends

    Final screen, transcript and a git snapshot land in the run folder. Stop hangs up the process group, like closing a window.

  4. 4

    Pick it back up

    Continue reopens the exact session. Follow-ups are pasted into the live CLI and submitted, even multi-line ones.

03 Themes

It wears your theme.

You change your Omarchy theme every other week. VibeForge follows: chrome from colors.toml, terminals from your ghostty palette, restyled the moment you switch. Try it — this page does the same.

— Keyboard

Keys, like the rest of your desktop.

Ctrl1…8
Home, Agents, Code, Chat, Tasks, Routines, Skills, Runs
CtrlShiftCV
Copy and paste in a terminal
CtrlV
Goes to the program, like a native terminal
CtrlS
Save the open brief, memory or skill
Alt←
Back
Ctrl,
Settings
— Files

Plain files. Yours.

~/.config/vibeforge/agents/release-notes/agent.yaml
name: Release notes
engine: claude
brief: |
  You draft release notes from merged work.
  Group changes by what a person can now do.
  Verify every claim against the repo.
  Do not push, tag or publish.
places:
  - ~/Projects/frontier-halls
skills:
  - release-notes
allowRoutines: true
04 Install

One line. Then Super + Space.

Made for Omarchy, and fine on any Arch + Hyprland setup. Linux only, on purpose — there are no Windows or macOS builds to maintain.

ghostty — ~
$ curl -fsSL https://raw.githubusercontent.com/L0nE-F0x/VibeForge/main/scripts/install.sh | bash

  VibeForge — your coding agents, forged into one desk

▸ Cloning VibeForge into ~/.local/share/vibeforge-app
▸ Installing dependencies (Electron and the terminal engine)
▸ Building
▸ Adding the vibeforge command and the launcher entry

✓ VibeForge is installed.
  Open it from the app launcher (Super + Space), or run: vibeforge
  CLIs found on PATH: claude codex grok gemini opencode
git, base-devel, pythonto build the terminal engine
Node 20+mise use -g node@lts on Omarchy
Updaterun the same line again
Uninstalladd --uninstall; your data stays
Build it yourself
git clone https://github.com/L0nE-F0x/VibeForge.git
cd VibeForge
npm install
npm start          # dev: Vite + Electron with hot reload
npm run build && ./scripts/vibeforge

Light the forge.

Free and open source under the MIT license. Built on Omarchy, for Omarchy.