Skip to content

Latest commit

 

History

History
101 lines (73 loc) · 4.67 KB

File metadata and controls

101 lines (73 loc) · 4.67 KB

PRD — Product Requirements Document

Nombre

Mata

Workspace nativo de terminal centrado en proyectos, con paneles de soporte (Git, diffs, archivos) y awareness de agentes de coding. Inspirado en Kero: el terminal es el centro de gravedad.

Problema

Los agentes de coding (OpenCode, Claude Code, Codex, Grok Build, etc.) viven en la terminal, pero revisar cambios, hacer commit, navegar el repo y mantener contexto de varias sesiones obliga a saltar entre herramientas (IDE, git, diff viewers, otra ventana de terminal).

Las apps centradas en chat pierden el shell real. Las IDEs son pesadas y no están pensadas para supervisar agentes en terminals.

Usuarios

Desarrolladores que pasan la mayor parte del tiempo en terminales en macOS/Linux (y más adelante Windows), corriendo uno o más agentes de coding sobre repositorios activos. Necesitan:

  • Revisar y curar cambios generados por agentes sin perder el contexto del shell.
  • Tener Git, diffs y archivos cerca del terminal.
  • Mantener sesiones y layout persistentes.
  • Confiar en acciones explícitas, no en automatizaciones opacas.

Propósito del producto

Ser un workspace centrado en el terminal: shells reales, proyectos, tabs/splits, file tree, Git status, diffs editables y controles ligeros de proyecto en una sola ventana nativa.

Éxito = el terminal sigue siendo primario; revisar y shippear cambios del agente es rápido, preciso y comprensible.

Principios de producto

  1. El terminal es el centro de gravedad.
  2. Los cambios del agente deben ser fáciles de revisar antes de confiar en ellos.
  3. Preferir alcance explícito y resultados inspeccionables sobre automatización “inteligente”.
  4. Acciones comunes cerca; acciones avanzadas con progressive disclosure.
  5. Preservar contexto entre repos, sesiones, tabs y anchos estrechos de panel.
  6. Calmado, preciso, nativo. Sin chrome de dashboard web ni de IDE genérico.

Anti-objetivos (explícitos)

  • No es un IDE completo.
  • No es un cliente de chat puro para agentes.
  • No imitar Electron/web dashboards.
  • No automatizaciones destructivas de un clic sin confirmación.
  • No telemetría ni cuentas obligatorias.
  • No reemplazar el shell del usuario (prompt, aliases, dotfiles intactos).

Goals del MVP

  1. Abrir un proyecto (directorio) y tener uno o más panes de terminal real.
  2. Shell del usuario sin modificar (zsh/fish/bash según configuración del sistema).
  3. Tabs y splits básicos de terminal.
  4. Panel derecho (o lateral) con:
    • File tree del proyecto
    • Git status (archivos modificados)
    • Diff viewer (unified o side-by-side) de cambios unstaged/staged
  5. Persistencia básica: proyectos recientes + layout de panes al reabrir.
  6. Command palette mínima (abrir proyecto, nueva sesión, focus panes).
  7. Rendimiento nativo (Rust + GPUI), sin WebView.

Non-goals del MVP

  • Multi-agente orquestado con protocolo propio (ACP/MCP completo).
  • Browser panes embebidos.
  • Diffs editables en línea (solo visualización + stage/unstage/discard).
  • Worktrees avanzados.
  • Mobile companion.
  • Notarización / distribución App Store (solo build local + release básico).
  • Temas custom complejos (un dark + un light suficientes).

User stories prioritarias (MVP)

  1. Como dev, abro Mata, elijo un repo, y tengo un terminal en ese cwd listo para trabajar.
  2. Como dev, abro varios tabs/splits de terminal en el mismo proyecto.
  3. Como dev, veo el estado de Git y reviso el diff de un archivo cambiado sin salir de la app.
  4. Como dev, hago stage / unstage / discard / commit desde el panel Git.
  5. Como dev, cierro la app y al reabrir recupero proyectos y layout básico.
  6. Como dev, uso el command palette para saltar entre proyectos o crear sesión nueva.

Métricas de éxito (cualitativas al inicio)

  • Se puede vivir el flujo “agente en terminal → revisar diff → commit” sin cambiar de app.
  • El terminal se siente usable (latencia de input baja, scroll decente, colores correctos).
  • No hay crashes en el flujo feliz del MVP.
  • El binario arranca rápido y usa memoria razonable vs Electron.

Roadmap post-MVP (orientativo)

  • Agent awareness (status, approvals, salto a pane que necesita atención).
  • Diffs editables / apply hunk.
  • Worktrees y branch UI más rica.
  • Persistencia de scrollback opcional.
  • Backend de terminal intercambiable (libghostty-vt default, alacritty_terminal fallback).
  • Multi-plataforma pulida (Linux prioritario junto a macOS).
  • Integraciones ligeras con agentes vía protocolos existentes (sin acoplar el core).

Naming y posicionamiento

  • Nombre: Mata
  • Posicionamiento: “Terminal workspace nativo para proyectos y agentes”.
  • Visual: denso, calmado, nativo. Referencia de producto: Kero. Referencia de stack: GPUI + libghostty-vt.