Skip to content

codama-dev/forgeterm

Repository files navigation

ForgeTerm

A terminal emulator built for multi-project workflows. Open an entire workspace with one click - each project gets its own themed window with pre-configured terminal sessions, automatically tiled across your screen.

Three projects auto-arranged on one screen

Features

Workspaces and Auto-Arrange

Group related projects into workspaces and open them all at once. ForgeTerm tiles windows automatically - side-by-side for two, master-detail for three, 2x2 grid for four, and so on up to six per screen. If you have multiple monitors, choose which display each workspace targets.

Workspace management

Per-Project Theming

Every project gets its own color theme so you can tell windows apart at a glance. 10 built-in presets, a hex color generator, Peacock sync for VS Code users, and 43 project emojis.

Theme editor

Automatic Sessions

Define named terminal sessions that auto-launch when you open a project. Dev server, test watcher, and shell - all running in one window without manual setup.

Multiple sessions

Import from VS Code Project Manager

Already using the Project Manager extension? Import your projects and tags in one click. Works with VS Code, Cursor, Windsurf, and other forks. Tags with 2+ projects become workspaces automatically.

Import from editors

Sidebar Modes

Cycle between full, compact, and hidden sidebar with Cmd+B. Full mode shows session names and controls. Compact shows dot indicators. Hidden gives you maximum terminal space.

Per-Project Config

Drop a .forgeterm.json in any project to define startup sessions, themes, and window settings. The config travels with your repo.

{
  "projectName": "My App",
  "sessions": [
    { "name": "Dev Server", "command": "pnpm dev", "autoStart": true },
    { "name": "Tests", "command": "pnpm test --watch" },
    { "name": "Shell" }
  ],
  "window": {
    "emoji": "🚀",
    "themeName": "ocean"
  }
}

Download

Download ForgeTerm v0.2.0 for macOS (Apple Silicon)

See all releases on the Releases page. For Windows, Linux, or Intel Mac - see Build from Source below.

Keyboard Shortcuts

Shortcut Action
Cmd+N / Cmd+T New session
Cmd+1-9 Switch to session
Cmd+K Clear terminal
Cmd+P Project switcher
Cmd+O Open folder
Cmd+B Toggle sidebar
Cmd+, Project settings
Cmd+Shift+T Theme editor
Cmd+Shift+= / - Lighten / darken theme
Cmd+W Close window

Build from Source

Pre-built DMGs are available for macOS Apple Silicon. For Windows, Linux, or Intel Mac, clone the repo and build locally - Electron supports all platforms natively.

git clone https://github.com/codama-dev/forgeterm.git
cd forgeterm
pnpm install

# Dev mode
pnpm dev

# Package for your OS
pnpm build

pnpm build uses electron-builder which automatically targets your current platform. The packaged app will appear in the release/ directory.

Architecture

Three-layer Electron app:

  • Main process (electron/) - App lifecycle, window management, PTY sessions via node-pty
  • Preload bridge (electron/preload.ts) - Typed IPC interface exposed as window.forgeterm
  • Renderer (src/) - React + Zustand + xterm.js

Tech Stack

  • Electron
  • React 18
  • TypeScript
  • xterm.js + node-pty
  • Zustand
  • Vite

Contributing

ForgeTerm is open source and actively looking for contributors. Whether it's a bug fix, a new feature, better docs, or just a suggestion - all contributions are welcome.

  • Found a bug? Open an issue with steps to reproduce
  • Have an idea? Start a discussion or open a feature request
  • Want to contribute code? Fork the repo, create a branch, and open a PR - no issue required for small fixes
  • Not a developer? Testing, reporting bugs, and suggesting improvements are just as valuable

Check the open issues for things to work on. Issues labeled good first issue are a great starting point.

License

MIT


Made with ❤️ by the codama.dev team

About

Terminal emulator for developers who work with multiple sessions, LLMs, and project-based workflows

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors