Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Termy

████████╗███████╗██████╗ ███╗   ███╗██╗   ██╗
╚══██╔══╝██╔════╝██╔══██╗████╗ ████║╚██╗ ██╔╝
   ██║   █████╗  ██████╔╝██╔████╔██║ ╚████╔╝
   ██║   ██╔══╝  ██╔══██╗██║╚██╔╝██║  ╚██╔╝
   ██║   ███████╗██║  ██║██║ ╚═╝ ██║   ██║
   ╚═╝   ╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝   ╚═╝

Modern Terminal Companion

Termy is a modern terminal companion for launching, tracking, and managing long-running commands from a single place.

It helps you turn repetitive terminal work into reusable aliases, start them in their own windows, and manage sessions with status, focus, stop, restart, and scheduling features.


Why I made Termy

I created Termy to make managing long-running terminal commands easier.

While developing, I often had multiple terminals open for servers, SSH sessions, and other processes. Managing them manually became repetitive, so I built Termy to save commands, launch sessions, track their status, and control them from one place.

The goal is to keep terminal workflows simple, organized, and efficient.


Features

  • Create reusable aliases for commands
  • Launch aliases in their own console windows
  • Track running sessions with PID and runtime state
  • View active sessions
  • Focus existing terminal windows
  • Stop individual sessions or all sessions
  • Restart stopped sessions
  • Schedule commands for later execution
  • Support optional stop time and working directory
  • Run commands directly without entering the interactive shell

Installation

Clone the repository:

git clone <repository-url>
cd Termy

Install:

pip install -e .

Or run directly:

python -m termy

Getting Started

Launch Termy:

termy

You will see:

Termy
Modern Terminal Companion

Type 'help' to begin.

termy>

Quick Start

1. Add an alias

termy add connect ssh myserver

2. Run it

termy run connect

Short form:

termy r connect

3. Check status

termy status

4. Focus a running session

termy focus connect

5. Stop a session

termy stop connect

Stop everything:

termy stop all

6. Schedule a command

termy schedule mytask 2026-07-25T20:30:00 "ping 8.8.8.8" 2026-07-25T20:45:00 C:\temp

7. Cancel scheduled jobs

termy cancel all

Command Reference

Core Commands

Command Description
add Save a command alias
remove Remove an alias
list Show saved aliases
status Show running sessions
logs Show stored logs
help Display available commands

Session Commands

Command Description
run / r Launch an alias in a new console window
stop / s Stop a session
stop all Stop all tracked sessions
restart / rs Restart a session
focus / f Bring a session window to the foreground

Scheduling Commands

Command Description
schedule Queue a command for later
cancel Cancel a scheduled job
cancel all Cancel all scheduled jobs

Format:

termy schedule <name> <start_time> <command> [stop_time] [working_dir]

Direct CLI Usage

You can also run commands without entering the interactive shell:

termy status
termy help
termy list
termy run connect

Example Workflow

termy add dev "python -m http.server 8000"

termy run dev

termy status

termy focus dev

termy stop dev

Notes

  • Scheduler uses ISO timestamps:
YYYY-MM-DDTHH:MM:SS

Example:

2026-07-25T20:30:00
  • On Windows, launched sessions open in separate console windows.
  • Runtime state is stored in:
~/.termy/
  • Termy automatically creates:
aliases.json
logs.txt

on first use.


Roadmap

  • Command aliases
  • Process tracking
  • Session management
  • Scheduling

Future:

  • Linux/macOS support
  • Better process monitoring
  • Web dashboard
  • Remote session management

License

MIT License

About

Termy is a modern terminal companion for launching, tracking, and managing long-running commands from a single place. It helps you turn repetitive terminal work into reusable aliases, start them in their own windows, and manage sessions with status, focus, stop, restart, and scheduling features.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages