repowisecreack/pty

creack / pty

PTY interface for Go

Go★ 2,096

github.com/creack/ptyIndexed at 9246436Up to date with upstream

What is pty?

pty is a Go package for using Unix pseudo-terminals. It provides a cross-platform PTY interface that creates initialized PTY file descriptors and handles terminal window-size inheritance.

Written by a model from the README and the source

56 files and 172 symbols in 1 module, led by Go (50 files) and Shell (2).

Code health

8.4out of 10Good

This codebase scores 8.4 out of 10 for code health, which we rate good. It also scores maintainability 9.5 and static performance 10.0 out of 10. The three are scored separately and never blended into one number.

Use creack/pty in your agent

Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.

  1. 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
  2. 2.Paste the server URL below as the Remote MCP server URL, then click Add.
  3. 3.Click Connect. A Repowise sign-in window opens. Approve access.
  4. 4.Repowise's tools are now available in your Claude chats.

Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.

Docs
bash
https://api.repowise.dev/mcp/creack/pty
Editors need an API key: sign in to create one.Sign in to connect

This repo is public, so anyone with a Repowise account and an API key can connect.

Try asking

  • get_overview()
  • get_answer("how is pty put together?")
  • get_why("why is pty structured this way?")

Explore pty

Key features of pty

  • Provides a Go interface for using Unix pseudo-terminals.
  • Supports cross-platform PTY operations through OS-specific implementations.
  • Produces initialized PTY file descriptors for callers.
  • Handles inherited terminal window-size behavior.

How creack/pty works

pty accepts runtime platform, operating system, and terminal-sizing inputs. OS-specific open and ioctl implementations perform PTY operations for the active platform. Size inheritance logic carries terminal window dimensions into the initialized PTY state. The root package provides the library implementation, while .github contains repository configuration. The package exposes entry points for callers to use the PTY interface.

The codebase has 56 files and 172 symbols in 1 module, led by Go and Shell. Code health is 8.4 out of 10, rated good.

creack/pty FAQ

What is pty?

pty is a Go package for using Unix pseudo-terminals. It provides a cross-platform PTY interface for callers.

How does pty work?

pty transforms platform, operating system, and terminal-sizing inputs through OS-specific open and ioctl implementations. It produces initialized PTY file descriptors and inherited window-size behavior.

What language is pty written in?

pty is written in Go. The repository also includes shell files.

How is the pty code organized?

pty's implementation is in the root package, with OS-specific PTY operations and terminal-size handling. The .github directory contains repository configuration.

When should I use pty?

Use pty when a Go program needs to use Unix pseudo-terminals. The package provides PTY file descriptors and terminal window-size inheritance.

What license does pty use?

pty uses the MIT license.

The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.

About this page

Get a page like this for your own codebase

Repowise built this map of creack/pty from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.

Index your repo freeSee how Repowise worksFree for 2 public repos, with a page like this one.

Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.