zetty AGENTS.md

Repository instructions for Zetty, a native macOS terminal app that lets users manage multiple terminal sessions, tabs, and split panes. They explain the project layout, build process, and interface-related conventions.

In plain words
What is it for?
Use them when building Zetty, locating its core or interface code, regenerating the Xcode project, and working on its user interface.
Why use it?
They give contributors the project context needed to change code without breaking generated Xcode files or the app’s design rules.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/webteractive/zetty/agents-md
Clone the repo
git clone --depth 1 https://github.com/webteractive/zetty

Made for: Codex, OpenCode.

Per session 22,635 This file is loaded in full into every session.
When invoked 22,635 The same file — it is already loaded in full.
Security scan D 3 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.22635 $0.22635
Opus 5 $0.11317 $0.11317
Sonnet 5 $0.04527 $0.04527
Haiku 4.5 $0.02263 $0.02263

Measured 2d ago against content hash 0435438430de, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade D, and why

zetty AGENTS.md scanned grade D with 3 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

- **Claude** — additive hooks in `~/.claude/settings.json` (UserPromptSubmit→running,

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

one mechanism Zetty owns is the swap helper, which used to `rm -rf` the target

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

A path can come from arbitrary terminal output (a log, a `curl` response), so
Origin

Copies of this mod

1 near-identical copy found in the catalogue:

AGENTS.md · 1,446 lines

How it starts

The opening of the file, as written. The whole thing — 1,446 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Zetty — Agent & Contributor Guide

Guidance for AI agents and contributors working in this repo.

CLAUDE.md and AGENTS.md are kept byte-identical — edit one and mirror the change to the other in the same commit (see Conventions).

What this is

Zetty is a native macOS (Linux later) GUI terminal multiplexer built on full libghostty (via the prebuilt libghostty-spm package) with a Swift AppKit application layer. Work is organized around pinnable projects, each owning tabs and nested split panes. See README.md.

Layout

  • Sources/ZettyCore/** — pure, testable model (no AppKit): Surface, SurfaceNode, PaneTree, TabList, WorkspaceModel, persistence.
  • App/Sources/App/** — AppKit app: AppDelegate, TerminalViewController, SidebarView, TabBarView, SurfaceNodeView, PaneActions, Theme.swift.
  • App/Sources/ZettyGhostty/** — libghostty bridge: SurfaceRegistry, Ghostty.

Build / run

The Xcode project is Tuist-generated. Project.swift declares sources as globs (App/Sources/App/**), but the generated .xcodeproj enumerates the resolved file list — so after adding or removing a file you must regenerate. You do not edit Project.swift to register a new file; only new targets, resources, or settings need a manifest change. Files under Sources/ZettyCore/ need nothing at all for swift test (SwiftPM globs them at build time).

mise exec -- tuist generate --no-open
xcodebuild -project zetty.xcodeproj -scheme zetty -destination 'generic/platform=macOS' build

Tests: mise exec -- tuist test runs the app test target. The pure ZettyCore suite is faster via SwiftPM — mise exec -- swift test — and a single test with --filter, e.g. mise exec -- swift test --filter moveProjectRejectsCrossGroupMove.

Design rules ← read before any UI work

The visual spec (tokens, schemes, typography, component anatomy) is in DESIGN.md; tokens live in App/Sources/App/Theme.swift (ZTheme). DESIGN.md is appearance-only — these enforceable rules (and Configuration, below) live here. A change that violates one should be corrected before merge:

Read the full file on GitHub · 1,446 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 1,446 lines · 22,635 tokens per session scan D 0435438430de

Subscribe to this mod's changes

zetty AGENTS.md is an instructions file published in the GitHub repository webteractive/zetty (2 stars, last pushed 5d ago), licensed MIT. It adds 22,635 tokens to every session, about $0.1132 per session on Opus 5. A static security scan graded it D with 3 findings (reads agent configuration directories, recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.