Ir al contenido

Espacios de trabajo y proyectos

Todo lo que haces en Subaya vive dentro de un proyecto. Esta guía muestra cómo se organizan los proyectos, cómo crearlos e inspeccionarlos desde la CLI, y cómo el .subaya/config.toml local vincula un directorio de trabajo a un proyecto.

Tenencia: org → espacio de trabajo → proyecto

Sección titulada «Tenencia: org → espacio de trabajo → proyecto»

Subaya anida tres niveles de propiedad:

  • Organización — el tenant de nivel superior de tu cuenta. Aquí residen la facturación, los miembros y las licencias.
  • Espacio de trabajo — una agrupación de proyectos dentro de una organización (un equipo o una línea de producto). Cada proyecto pertenece a exactamente un espacio de trabajo.
  • Proyecto — la unidad de trabajo: un diseño con tipo (fpga o embedded) con sus propios requisitos, simulaciones, repositorio y fase.

Para el panorama general, consulta Conceptos básicos.

Un proyecto se crea como uno de dos tipos, lo que da forma a las cadenas de herramientas disponibles para él:

Tipo Para Cadenas de herramientas
fpga Diseños RTL / FPGA RyuSim, Verilator, Icarus, Questa, Vivado xsim, Quartus
embedded Firmware de MCU (p. ej. STM32) Planificación de pines de CubeMX, Renode

Crea un proyecto dentro de un espacio de trabajo, eligiendo su tipo:

Terminal window
suya project create --name <name> --workspace <workspace-id> --type fpga

Para un proyecto embebido, pasa --type embedded. Opcionalmente puedes establecer un slug de URL o fijar un dispositivo en el momento de la creación:

Terminal window
suya project create \
--name blinky \
--workspace <workspace-id> \
--type embedded \
--slug blinky \
--device <device-id>

suya project init es un alias de suya project create.

Enumera los proyectos de un espacio de trabajo:

Terminal window
suya project list --workspace <workspace-id>

Muestra los detalles de un único proyecto. Sin un proyecto indicado, esto toma por defecto el proyecto registrado en el .subaya/config.toml local (consulta más abajo):

Terminal window
suya project show

La configuración local: .subaya/config.toml

Sección titulada «La configuración local: .subaya/config.toml»

Cuando trabajas contra un proyecto desde un directorio, Subaya registra el id del proyecto en .subaya/config.toml. La mayoría de los comandos que toman un indicador --project toman por defecto este valor, de modo que puedes ejecutarlos sin repetir el id:

Terminal window
# Both work the same once .subaya/config.toml points at a project:
suya project show
suya project show --project <project-id>

Esto es lo que permite que suya sim run, suya arch ..., suya rag search --scope project:<id> y comandos similares «simplemente sepan» a qué proyecto pertenecen.

Todo proyecto avanza por fases que dan forma a la interfaz y a las herramientas disponibles:

Concepto → Planificación → Implementación → Simulación → Verificación

Obtén o establece la fase actual:

Terminal window
suya project phase

Los proyectos pueden asociarse con un dispositivo de hardware del catálogo. Busca en el catálogo, inspecciona una pieza y asigna una a tu proyecto:

Terminal window
suya device search --type embedded
suya device show <device-id>
suya device set <device-id>

También puedes fijar un dispositivo en el momento de la creación con --device <device-id> en suya project create.