# lucenx/signaltty

[View on GitCafe](https://git.cafe/lucenx/signaltty)

Repository: [lucenx/signaltty](https://git.cafe/lucenx/signaltty)

Visibility: public

Default branch: main

## Resources

- [Source](https://git.cafe/lucenx/signaltty/tree/refs%2Fheads%2Fmain?format=markdown)

- [Commit history](https://git.cafe/lucenx/signaltty/commits/refs%2Fheads%2Fmain?format=markdown)

- [Issues](https://git.cafe/lucenx/signaltty/issues?format=markdown)

- [Pull requests](https://git.cafe/lucenx/signaltty/pulls?format=markdown)

- [Stacks](https://git.cafe/lucenx/signaltty/stacks?format=markdown)

- [Branches](https://git.cafe/lucenx/signaltty/branches?format=markdown)

- [Tags](https://git.cafe/lucenx/signaltty/tags?format=markdown)

Snapshot commit: 0910eb58236bf749010023803c5d7a3da81745ef

## README

[README.md](https://git.cafe/lucenx/signaltty/blob/0910eb58236bf749010023803c5d7a3da81745ef/README.md?format=markdown)

---

# signaltty

signaltty is a Linux workspace for coding agents. The project is early. A session server owns the terminals. The command line and the GTK window attach to that server. Closing the window leaves those terminals running.

![signaltty window with one workspace and a shell](/api/repos/lucenx/signaltty/image?path=docs%2Fimages%2Fwindow.png&ref=HEAD&oid=0910eb58236bf749010023803c5d7a3da81745ef)

## Build and open

You need Rust 1.92 or newer, GTK 4, libadwaita 1.7, and VTE. On Ubuntu, install `libgtk-4-dev`, `libadwaita-1-dev`, and `libvte-2.91-gtk4-dev`.

```bash
cargo build --workspace
./target/debug/signaltty daemon
./target/debug/signaltty-gui
```

`signaltty new --cwd ~/code/project` opens a shell in that directory. To start an agent there, put the program after `--`, as in `signaltty new --cwd ~/code/project -- codex`.

The design docs start at the [architecture index](/lucenx/signaltty/blob/0910eb58236bf749010023803c5d7a3da81745ef/docs/README.md?format=markdown).

Signaltty's own contributions are licensed under [MIT](/lucenx/signaltty/blob/0910eb58236bf749010023803c5d7a3da81745ef/LICENSE-MIT?format=markdown) or
[Apache-2.0](/lucenx/signaltty/blob/0910eb58236bf749010023803c5d7a3da81745ef/LICENSE-APACHE?format=markdown). Incorporated third-party material retains its
licenses; see [third-party notices](/lucenx/signaltty/blob/0910eb58236bf749010023803c5d7a3da81745ef/THIRD_PARTY_NOTICES.md?format=markdown).

