Skip to content

jkeresman01/tsm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tsm

TMUX session manager

Go Status

asciicast

Preview

image

Project structure

tsm/
├── main.go                  # Application entry point
├── config/                  # Configuration management
├── logger_factory/          # Logging utilities
├── modes/                   # Mode implementations
├── styles/                  # UI styling
├── tmux/                    # Tmux integration
├── utils/                   # Utility functions
└── view/                    # views
    └── model/               # view models

Architecture

Mode System

TSM uses a strategy pattern for different operational modes:

See: Strategy Design Pattern

type ModeStrategy interface {
    Update(msg tea.Msg) (ModeStrategy, tea.Cmd)
    View() string
    ModeName() string
    Reset()
    GetCurrentSession() string
	  GetIcon() string
	  GetFooterText() string
}

Configuration

On first run, TSM will create a default configuration file at ~/.config/tsm/config.json.

Configuration Options

Option Type Description
search_paths array Directories to scan for projects
max_depth number How deep to scan subdirectories
theme string UI theme: "dark" or "light"

Defaults

{
  "search_paths": [
    "~/projects",
    "~/code",
    "~/work",
    "~/dev"
  ],
  "max_depth": 3,
  "theme": "dark"
}

Excluded Directories

TSM automatically excludes common non-project directories:

  • node_modules
  • vendor
  • build
  • dist
  • target
  • .git
  • .cache
  • __pycache__

Releases

No releases published

Packages

No packages published

Languages