TYBA

The Development Habitat

Your environment. All connected.

A multi-session desktop terminal with a Rust core that classifies the risk of every command — and refuses git push origin main before the interface gets a say.

No release yet

I will tell you when you can download it

A binary that does not exist does not become a download button. Leave your email and you will know first — on the system you are using right now.

Only to announce the launch. No spam.

macOS · Windows · Linux — no binary published yet.

Available on
  • macOS
  • Windows
  • Linux
Keep scrolling
The why

TYBA is not a terminal.
It is not an IDE.
It is the habitat where developers and technologies converge to create.

Software development has evolved. Our tools have multiplied — each one solves a problem. But none of them were designed to live together. Tyba was.

Not by replacing the tools you already trust, but by giving them a place to truly work together. A habitat for modern development.

The name

Tyba comes from the Tupi language.

A place where things gather in abundance. Where different lives coexist.

A village.

A Brazilian name for a universal idea.

Modern software development looks the same.

ShellGitAIContainersCloudWorkspaces

Each one is powerful. Together they become something greater.

Tyba is where they meet.

Concept

Four rivers, one meeting point

The mark is not decoration: it is the shape of the product.

Independent systems

Shell, git, containers, agents. Each with its own window, state and context.

Convergence

The currents bend toward one another. Context becomes shared.

One living environment

A habitat. What is alive emits light; what is destructive goes through you.

The habitat

One window. Seven surfaces.

Each surface is a tool you already use, in the same workspace and on the same context. What already runs is marked as such — the rest is under construction, and says so.

Diff · what the agent changed
Session metadata
What exists today

A terminal first

Nothing here is a promise. This is what ships in the app today.

Security

Three sources of commands. One of them you do not control.

A terminal that accepts commands from an agent inherits the attack surface of whatever that agent reads.

  1. 1You
    Trusted

    You typed it, you read it, you know what you want.

  2. 2An agent
    Gets it wrong

    Good faith, incomplete context. Sooner or later it will propose nonsense.

  3. 3What the agent read
    Untrusted

    An issue, a README, the output of a command. This is where prompt injection lives.

Every command gets a colour

The core classifies risk before anything happens. It is the model that governs the approvals inbox.

  • Green

    Reads. Approved automatically.

  • Yellow

    Local writes. Auto-approval is configurable.

  • Red

    Network, remote, destructive. Always goes through you.

Pushing to main is refused by the core, not by the UI

The refusal lives in Rust, beneath the interface. It covers the direct name, the refspec and force-push. A compromised window does not route around it.

src-tauri/src/approvals/mod.rs
pub fn is_refused_by_core(command: &str) -> bool
Covered by tests
  • core_recusa_push_para_main_master
  • core_nao_recusa_push_para_feature
Does not exist yet

What comes next

It is on the roadmap, not in the release. Until it runs, it does not become a marketing bullet.

No release yet

I will tell you when you can download it

A binary that does not exist does not become a download button. Leave your email and you will know first — on the system you are using right now.

Only to announce the launch. No spam.

Available on
  • macOS
  • Windows
  • Linux